*** trunk/zfs-foredrag.tex 2014/01/03 12:56:37 11
--- trunk/zfs-foredrag.tex 2014/02/23 12:56:54 12
***************
*** 54,59 ****
--- 54,72 ----
\newcommand{\rfc}[1]{\href{http://tools.ietf.org/html/rfc#1}{RFC~#1}}
\newcommand{\prfc}[1]{(\rfc{#1})}
+ % Fontstørrelser:
+
+ % \tiny
+ % \scriptsize
+ % \footnotesize
+ % \small
+ % \normalsize
+ % \large
+ % \Large
+ % \LARGE
+ % \huge
+ % \Huge
+
\title{\textbf{ZFS}}
\subtitle{Siste ord innen filsystemer}
\author[T.~Endrestøl]{\href{http://fig.ol.no/~trond/}{Trond Endrestøl}}
***************
*** 109,115 ****
\texttt{\$${}$Ximalas${}$\$}
\item Driverfila for denne PDF-fila bærer denne identifikasjonen:\\
\svndriverfil
! \item Copyright \copyright\ 2013 Trond Endrestøl
\item Dette verket er lisensiert med:
\href{http://creativecommons.org/}{Creative Commons},
\href{http://creativecommons.org/licenses/by-sa/3.0/no/}{Navngivelse-DelPåSammeVilkår
--- 122,128 ----
\texttt{\$${}$Ximalas${}$\$}
\item Driverfila for denne PDF-fila bærer denne identifikasjonen:\\
\svndriverfil
! \item Copyright \copyright\ 2014 Trond Endrestøl
\item Dette verket er lisensiert med:
\href{http://creativecommons.org/}{Creative Commons},
\href{http://creativecommons.org/licenses/by-sa/3.0/no/}{Navngivelse-DelPåSammeVilkår
***************
*** 121,145 ****
\section*{Oversikt over hele foredraget}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over hele foredraget}
! \framesubtitle{Del 1: ZFS?}
\tableofcontents[part=1]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over hele foredraget}
! \framesubtitle{Del 2: ZFS!}
\tableofcontents[part=2]%[pausesections]
\end{frame}
\part{ZFS?}
\begin{frame}
\partpage
\end{frame}
! \section*{Oversikt over del~1: ZFS?}
\begin{frame}%[allowframebreaks]
! \frametitle{Oversikt over del~1: ZFS?}
\tableofcontents%[pausesections]
\end{frame}
--- 134,304 ----
\section*{Oversikt over hele foredraget}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over hele foredraget}
! \framesubtitle{Del 1: Lagringssystemer}
\tableofcontents[part=1]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over hele foredraget}
! \framesubtitle{Del 2: ZFS?}
\tableofcontents[part=2]%[pausesections]
\end{frame}
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Oversikt over hele foredraget}
+ \framesubtitle{Del 3: ZFS!}
+ \tableofcontents[part=3]%[pausesections]
+ \end{frame}
+
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Oversikt over hele foredraget}
+ \framesubtitle{Del 4: Oppstartsmiljøer}
+ \tableofcontents[part=4]%[pausesections]
+ \end{frame}
+
+ \part{Lagringssystemer}
+
+ \begin{frame}
+ \partpage
+ \end{frame}
+
+ \section*{Oversikt over del~1: Lagringssystemer}
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Oversikt over del~1: Lagringssystemer}
+ \tableofcontents%[pausesections]
+ \end{frame}
+
+ \section{Hva kan et lagringssystem bestå av?}
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Hva kan et lagringssystem bestå av?}
+ \tiny
+
+ \begin{multicols}{2}
+ \pause
+ Enkel server med innebygget lagring
+
+ \pause
+ \begin{enumerate}[<+->]
+ \item Strømforsyning
+ \item Strømkabler
+ \item Harddisker
+ \item Firmware i harddisker
+ \item I/O-kabler
+ \item Harddiskkontroller integrert i\slash tilkoblet hovedkortet
+ \item Firmware i harddiskkontroller
+ \item Hovedkort og dets kobberbaner
+ \item South bridge
+ \item DMA-kontroller på hovedkortet
+ \item Arbeidsminne tilkoblet hovedkortet
+ \item CPU
+ \end{enumerate}
+
+ \columnbreak % Av en eller annen grunn sørger \columnbreak for at den samme sliden gjentas en gang ekstra for denne framen akkurat her
+
+ \pause
+ Avansert server med ekstern lagring
+
+ \pause
+ \begin{enumerate}[<+->]
+ \item Strømforsyning
+ \item Strømkabler
+ \item Harddisker montert i diskhyller
+ \item Firmware i harddisker
+ \item I/O-kabler
+ \item Harddiskkontroller
+ \item Firmware i harddiskkontrolleren
+ \item Grensesnitt i harddiskkontrolleren for ekstern I/O
+ \item Kabler for ekstern I/O (og kanskje en superrask switch)
+ \item Grensesnitt for ekstern I/O tilkoblet hovedkortet
+ \item Hovedkort og dets kobberbaner
+ \item South bridge
+ \item DMA-kontroller på hovedkortet
+ \item Arbeidsminne tilkoblet hovedkortet
+ \item CPU
+ \end{enumerate}
+ \end{multicols}
+ \end{frame}
+
+ \section{Hva kan gå galt i et lagringssystem?}
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Hva kan gå galt i et lagringssystem?}
+ \pause
+ \begin{itemize}[<+->]
+ \item Data som en gang ble lagret, avleses senere som noe helt annet
+ \end{itemize}
+ \end{frame}
+
+ \section{Hvor kan det gå galt i et lagringssystem?}
+ \begin{frame}[allowframebreaks]
+ \frametitle{Hvor kan det gå galt i et lagringssystem?}
+ %\pause
+ \begin{itemize}%[<+->]
+ \item Kort sagt: overalt
+ \end{itemize}
+ \framebreak
+ \begin{enumerate}%[<+->]
+ \item Strømforsyningen
+ \begin{itemize}%[<+->]
+ \item Underdimensjonert; lavere spenning\slash strøm til øvrige
+ komponenter; uttørkede elektrolyttkondensatorer; utilstrekkelig
+ avkjøling
+ \end{itemize}
+ \item Strømkabel mellom strømforsyning og harddisk
+ \begin{itemize}%[<+->]
+ \item Vakkel i kontaktene; (begynnende) brudd i lederne
+ \end{itemize}
+ \item Harddisk
+ \begin{itemize}%[<+->]
+ \item Slitasje på indre deler; programmeringsfeil i firmware;
+ vibrasjoner; lese fra\slash skrive til feil diskblokk
+ \end{itemize}
+ \item I/O-kabel mellom harddisk og harddiskkontroller
+ \begin{itemize}%[<+->]
+ \item Vakkel i kontaktene; (begynnende) brudd i lederne
+ \end{itemize}
+ \item Harddiskkontroller
+ \begin{itemize}%[<+->]
+ \item Programmeringsfeil i firmware
+ \end{itemize}
+ \item Grensesnittet mellom harddiskkontroller og hovedkort
+ \begin{itemize}%[<+->]
+ \item Vakkel i PCIe-kontakt
+ \end{itemize}
+ \item Kobberbanene i hovedkortet
+ \begin{itemize}%[<+->]
+ \item (Begynnende) brudd etter ESD-skade, utilstrekkelig avkjøling
+ \end{itemize}
+ \item Grensesnitt mellom DMA-kontroller og hovedkort
+ \begin{itemize}%[<+->]
+ \item Se kobberbanene i hovedkortet
+ \end{itemize}
+ \item Grensesnitt mellom hovedkort og arbeidsminne
+ \begin{itemize}%[<+->]
+ \item Vakkel i soklene
+ \end{itemize}
+ \item Arbeidsminne
+ \begin{itemize}%[<+->]
+ \item ESD-skade; kosmisk stråling; alfapartikler fra radioaktiv
+ forurensning i IC-innkapslingen
+ \end{itemize}
+ \end{enumerate}
+ %\framebreak
+ \begin{itemize}%[<+->]
+ \item Hvor mange muligheter ble dette?
+ \item Hvor mange harddisker har du i dine systemer?
+ \item Har du kontrollen?
+ \end{itemize}
+ \end{frame}
+
\part{ZFS?}
\begin{frame}
\partpage
\end{frame}
! \section*{Oversikt over del~2: ZFS?}
\begin{frame}%[allowframebreaks]
! \frametitle{Oversikt over del~2: ZFS?}
\tableofcontents%[pausesections]
\end{frame}
***************
*** 150,177 ****
\begin{itemize}[<+->]
\item ZFS er
\begin{enumerate}[<+->]
! \item Logisk volumhåndterer\hfill(Logical Volume Manager, LVM)
! \item Filsystem med bl.a.\ snapshots, kloner, kompresjon og deduplisering
\item Tilbyr også «zvolumer» som lagringsenheter for andre
filsystemer
\end{enumerate}
! \item ZFS tar dataintegritet på alvor, deretter brukervennlighet; hastighet kommer i senere rekker
! \item Enklere organisering enn «Storage Spaces» i Microsoft Windows
Server 2012
! \item Lagringen organiseres i pooler som kan bestå av
\begin{enumerate}[<+->]
! \item Enkeltdisker\slash partisjoner
! \item Striping (RAID~0) mellom to eller flere disker\slash partisjoner
! \item Speiling (RAID~1) mellom to eller flere disker\slash partisjoner
\item \texttt{raidz1} (RAID~5, enkel paritet) over tre eller flere
! disker\slash partisjoner
\item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller
! flere disker\slash partisjoner
\item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller
! flere disker\slash partisjoner
\end{enumerate}
\item Visse kombinasjoner av det overstående er også mulig
\item Filsystemet blir opprettet samtidig med poolen
\end{itemize}
\end{frame}
--- 309,377 ----
\begin{itemize}[<+->]
\item ZFS er
\begin{enumerate}[<+->]
! \item Logisk volumhåndterer («Logical Volume Manager», LVM)
! \item Filsystem med bl.a.\ snapshots, kloner, kompresjon og
! deduplisering
\item Tilbyr også «zvolumer» som lagringsenheter for andre
filsystemer
\end{enumerate}
! \item ZFS tar
! \begin{itemize}[<+->]
! \item Dataintegritet på alvor
! \item Deretter brukervennlighet (for administratorer)
! \item Hastighet kommer i senere rekker
! \end{itemize}
! \item ZFS er langt enklere enn «Storage Spaces» i Microsoft Windows
Server 2012
! \end{itemize}
! \end{frame}
!
! \begin{frame}%[allowframebreaks]
! \frametitle{Hva er ZFS?}
! %\pause
! \begin{itemize}[<+->]
! \item Tradisjonelt oppsett av Storage Spaces
! \begin{itemize}[<+->]
! \item Velge ut harddisker og opprette en pool
! \item Opprette et volum med ønsket størrelse og lagringsform
! \begin{itemize}[<+->]
! \item striping
! \item speiling, eller
! \item RAID~5
! \end{itemize}
! \item Opprette \textit{ett\/} filsystem på volumet
! \begin{itemize}[<+->]
! \item NTFS
! \item ReFS
! \end{itemize}
! \item Begynne å lagre data
! \end{itemize}
! \end{itemize}
! \end{frame}
!
! \begin{frame}%[allowframebreaks]
! \frametitle{Hva er ZFS?}
! %\pause
! \begin{itemize}[<+->]
! \item ZFS organiserer lagringen i pooler som kan bestå av
\begin{enumerate}[<+->]
! \item Enkeltharddisker\slash partisjoner
! \item Striping (RAID~0) mellom to eller flere harddisker\slash
! partisjoner
! \item Speiling (RAID~1) mellom to eller flere harddisker\slash
! partisjoner
\item \texttt{raidz1} (RAID~5, enkel paritet) over tre eller flere
! harddisker\slash partisjoner
\item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller
! flere harddisker\slash partisjoner
\item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller
! flere harddisker\slash partisjoner
\end{enumerate}
\item Visse kombinasjoner av det overstående er også mulig
\item Filsystemet blir opprettet samtidig med poolen
+ \begin{itemize}[<+->]
+ \item Nye filsystemer kan opprettes i et hierarki
+ \end{itemize}
\end{itemize}
\end{frame}
***************
*** 179,189 ****
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Et eksempel på en pool}
\pause
\begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
trond@enterprise:~>\Alert{3|handout:0}{zpool status enterprise_zdata}
pool: \Alert{4,7|handout:0}{enterprise_zdata}
state: \Alert{7|handout:0}{ONLINE}
! scan: \Alert{10|handout:0}{scrub repaired 0 in 2h15m with 0 errors on Wed Jan 1 07:18:51 2014}
config:
NAME STATE READ WRITE CKSUM
--- 379,390 ----
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Et eksempel på en pool}
\pause
+ \begin{multicols}{2}
\begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
trond@enterprise:~>\Alert{3|handout:0}{zpool status enterprise_zdata}
pool: \Alert{4,7|handout:0}{enterprise_zdata}
state: \Alert{7|handout:0}{ONLINE}
! scan: \Alert{10|handout:0}{scrub repaired 0 in 2h15m with \Alert{11|handout:0}{0 errors} on Wed Jan 1 07:18:51 2014}
config:
NAME STATE READ WRITE CKSUM
***************
*** 198,219 ****
NAME PROPERTY VALUE SOURCE
enterprise_zdata creation \Alert{11|handout:0}{Sun Jan 8 14:14 2012} -
\end{Verbatim}
\pause
! \begin{multicols}{2}
\begin{itemize}[<+->]
! \item Kommando for status%: \texttt{zpool status enterprise\_zdata}
\item Poolen heter \texttt{enterprise\_zdata}
! \item Består av én «vdev» («virtual device»), \texttt{raidz1}, striping med enkel paritet
! \item Medlemmene er de tre harddiskene \texttt{ada2}, \texttt{ada3} og \texttt{ada4}
! \item Poolen har det bare bra og er \texttt{ONLINE}
! \item Det samme gjelder for vdeven og dens tre medlemmer
! \item Null i telleverkene
! \item Siste skrubbing avsluttet 1.~januar 2014, kl.~07:18:15%, etter omlag 2 timer og 15 minutter med gjennomlesing
! \item Ingen feil registrert siden 8.~januar 2012, kl.~14:14
\end{itemize}
\end{multicols}
\end{frame}
\section{Hva er grensene til ZFS?}
\begin{frame}%[allowframebreaks]
\frametitle{Hva er grensene til ZFS?}
--- 399,513 ----
NAME PROPERTY VALUE SOURCE
enterprise_zdata creation \Alert{11|handout:0}{Sun Jan 8 14:14 2012} -
\end{Verbatim}
+
\pause
!
! \small
\begin{itemize}[<+->]
! \item Kommando for å vise
! status%: \texttt{zpool status enterprise\_zdata}
\item Poolen heter \texttt{enterprise\_zdata}
! \item Består av én «vdev» («virtual device»), \texttt{raidz1},
! striping med enkel paritet
! \item Medlemmene er de tre harddiskene \texttt{ada2}, \texttt{ada3}
! og \texttt{ada4}
! \item Poolen har det bra og er \texttt{ONLINE}
! \item Det samme gjelder for vdev-en og dens tre medlemmer
! \item «Null hull» i telleverkene
! \item Siste skrubbing avsluttet 1.~januar 2014,
! kl.~07:18:51%, etter omlag 2 timer og 15 minutter med gjennomlesing
! \item Ingen feil registrert siden 8.~januar 2012, kl.~14:14 (har
! aldri kjørt \texttt{zpool clear})
\end{itemize}
\end{multicols}
\end{frame}
+ \section{Et eksempel på filsystemer i ZFS}
+ \begin{frame}[fragile]%[allowframebreaks]
+ \frametitle{Et eksempel på filsystemer i ZFS}
+ \pause
+
+ \begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
+ trond@enterprise:~>zfs list -r enterprise_zroot
+ NAME USED AVAIL REFER MOUNTPOINT
+ enterprise_zroot 35,0G 406G 144K legacy
+ enterprise_zroot/ROOT 3,47G 413G 144K legacy
+ enterprise_zroot/ROOT/20131126-r258614 1,43G 413G 1,43G legacy
+ enterprise_zroot/ROOT/20131207-r259060 1,02G 413G 1,02G legacy
+ enterprise_zroot/ROOT/20140103-r260223 1,02G 413G 1,02G legacy
+ enterprise_zroot/do-not-destroy 144K 407G 144K legacy
+ enterprise_zroot/media 208K 406G 208K /media
+ enterprise_zroot/nfs 152K 406G 152K /nfs
+ enterprise_zroot/tmp 6,87M 9,99G 6,87M /tmp
+ enterprise_zroot/usr 17,5G 406G 144K /usr
+ enterprise_zroot/usr/compat 168K 406G 168K /usr/compat
+ enterprise_zroot/usr/local 2,63G 406G 2,53G /usr/local
+ enterprise_zroot/usr/local/certs 220K 406G 220K /usr/local/certs
+ enterprise_zroot/usr/local/etc 105M 406G 101M /usr/local/etc
+ enterprise_zroot/usr/local/etc/namedb 144K 406G 144K /usr/local/etc/namedb
+ enterprise_zroot/usr/local/etc/shellkonfig3 3,63M 406G 320K /usr/local/etc/shellkonfig3
+ enterprise_zroot/usr/obj 4,63G 406G 4,63G /usr/obj
+ enterprise_zroot/usr/packages 472M 406G 472M /usr/packages
+ enterprise_zroot/usr/ports 8,99G 406G 1,54G /usr/ports
+ enterprise_zroot/usr/ports/distfiles 3,71G 406G 3,71G /usr/ports/distfiles
+ enterprise_zroot/usr/ports/local 288K 406G 288K /usr/ports/local
+ enterprise_zroot/usr/ports/packages 3,74G 406G 3,74G /usr/ports/packages
+ enterprise_zroot/usr/ports/workdirs 336K 406G 336K /usr/ports/workdirs
+ enterprise_zroot/usr/src 826M 406G 826M /usr/src
+ enterprise_zroot/var 6,38G 406G 10,1M /var
+ enterprise_zroot/var/crash 1,19G 406G 1,19G /var/crash
+ enterprise_zroot/var/db 70,4M 406G 23,8M /var/db
+ enterprise_zroot/var/db/darkstat 512K 406G 512K /var/db/darkstat
+ enterprise_zroot/var/db/pkg 25,1M 406G 25,1M /var/db/pkg
+ enterprise_zroot/var/db/ports 8,18M 406G 8,18M /var/db/ports
+ enterprise_zroot/var/db/sup 12,8M 406G 12,8M /var/db/sup
+ enterprise_zroot/var/empty 144K 406G 144K /var/empty
+ enterprise_zroot/var/log 733M 406G 733M /var/log
+ enterprise_zroot/var/mail 3,68M 406G 328K /var/mail
+ enterprise_zroot/var/named 392K 406G 392K /var/named
+ enterprise_zroot/var/run 332K 406G 332K /var/run
+ enterprise_zroot/var/spool 4,39G 406G 2,13M /var/spool
+ enterprise_zroot/var/spool/cvsup 4,39G 406G 4,39G /var/spool/cvsup
+ enterprise_zroot/var/tmp 1,49M 10,0G 1,49M /var/tmp
+ enterprise_zroot/var/unbound 144K 406G 144K /var/unbound
+ \end{Verbatim}
+ \end{frame}
+
+ \section{Et annet eksempel på filsystemer i ZFS}
+ \begin{frame}[fragile]%[allowframebreaks]
+ \frametitle{Et annet eksempel på filsystemer i ZFS}
+ \pause
+
+ \begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
+ trond@enterprise:~>zfs list -r enterprise_zdata
+ NAME USED AVAIL REFER MOUNTPOINT
+ enterprise_zdata 326G 586G 224K legacy
+ enterprise_zdata/do-not-destroy 192K 587G 192K legacy
+ enterprise_zdata/home 315G 586G 442K /home
+ enterprise_zdata/home/trond 291G 586G 269M /home/trond
+ enterprise_zdata/home/trond/arbeid 15,8M 586G 15,8M /home/trond/arbeid
+ enterprise_zdata/home/trond/bzrarbeid 343M 586G 343M /home/trond/bzrarbeid
+ enterprise_zdata/home/trond/c 5,10M 586G 5,10M /home/trond/c
+ enterprise_zdata/home/trond/cvsroot 655K 586G 655K /home/trond/cvsroot
+ enterprise_zdata/home/trond/download 3,92G 586G 3,92G /home/trond/download
+ enterprise_zdata/home/trond/fra-defiant 35,8G 586G 35,8G /home/trond/fra-defiant
+ enterprise_zdata/home/trond/fra-mentor 281M 586G 281M /home/trond/fra-mentor
+ enterprise_zdata/home/trond/fra-sovereign 104G 586G 104G /home/trond/fra-sovereign
+ enterprise_zdata/home/trond/gitarbeid 4,46G 586G 4,46G /home/trond/gitarbeid
+ enterprise_zdata/home/trond/hgarbeid 464M 586G 464M /home/trond/hgarbeid
+ enterprise_zdata/home/trond/iptraf 4,37M 586G 4,37M /home/trond/iptraf
+ enterprise_zdata/home/trond/knuth 27,0M 586G 27,0M /home/trond/knuth
+ enterprise_zdata/home/trond/mail 284M 586G 224M /home/trond/mail
+ enterprise_zdata/home/trond/public_html 1,00G 586G 1,00G /home/trond/public_html
+ enterprise_zdata/home/trond/rfc 2,29G 586G 2,29G /home/trond/rfc
+ enterprise_zdata/home/trond/steam 122G 586G 122G /home/trond/steam
+ enterprise_zdata/home/trond/svnarbeid 12,4G 586G 12,4G /home/trond/svnarbeid
+ enterprise_zdata/home/trond/svnroot 192K 586G 192K /home/trond/svnroot
+ enterprise_zdata/home/trond/svnup 2,95G 586G 2,95G /home/trond/svnup
+ enterprise_zdata/home/trond/tmp 212M 586G 212M /home/trond/tmp
+ \end{Verbatim}
+ \end{frame}
+
\section{Hva er grensene til ZFS?}
\begin{frame}%[allowframebreaks]
\frametitle{Hva er grensene til ZFS?}
***************
*** 247,254 ****
\item ZFS unngår RAID~5-skrivehullet til eldre RAID-kontrollere som
\begin{enumerate}[<+->]
\item Skriver nye data til de samme datablokkene som tidligere
! \item Leser gamle, urørte data fra de samme datablokkene
! \item Regner ut ny paritet for datablokkene
\item Skriver oppdatert paritet til de samme paritetsblokkene som
tidligere
\begin{itemize}[<+->]
--- 541,548 ----
\item ZFS unngår RAID~5-skrivehullet til eldre RAID-kontrollere som
\begin{enumerate}[<+->]
\item Skriver nye data til de samme datablokkene som tidligere
! \item Leser gamle, urørte data fra de samme datablokkene i samme stripe
! \item Regner ut ny paritet for datablokkene i samme stripe
\item Skriver oppdatert paritet til de samme paritetsblokkene som
tidligere
\begin{itemize}[<+->]
***************
*** 257,266 ****
--- 551,574 ----
\item Har diskkontrolleren batteribeskyttet minne?
\end{itemize}
\end{enumerate}
+ \end{itemize}
+ \end{frame}
+
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Hvordan virker ZFS?}
+ %\pause
+ \begin{itemize}[<+->]
\item ZFS skriver komplette striper; data og paritet samtidig
\item ZFS bruker «copy-on-write»; skriver nye data til ledige
diskblokker
\item Endringer som hører sammen, samles i transaksjonsgrupper («txg»)
+ \end{itemize}
+ \end{frame}
+
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Hvordan virker ZFS?}
+ %\pause
+ \begin{itemize}[<+->]
\item Sjekksummer brukes for alt som blir lagret
\begin{itemize}[<+->]
\item ZFS kontrollerer at leste data er de samme som ble skrevet
***************
*** 289,295 ****
\item Stokke om på skriverekkefølgen
\item Utsette skriving av nye data
\end{itemize}
! \item Har du skifta batteriet i RAID-kontrolleren?
\end{itemize}
\item Sett RAID-kontrolleren i JBOD-modus, eller
\item La hver harddisk være sitt enslige RAID~0-volum
--- 597,604 ----
\item Stokke om på skriverekkefølgen
\item Utsette skriving av nye data
\end{itemize}
! \item Harddiskene kan også oppføre seg som skissert over
! \item Har du skifta batteriet i RAID-kontrolleren din?
\end{itemize}
\item Sett RAID-kontrolleren i JBOD-modus, eller
\item La hver harddisk være sitt enslige RAID~0-volum
***************
*** 329,338 ****
\frametitle{Versjonsnummer i ZFS}
\pause
\begin{itemize}[<+->]
! \item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er tilgjengelig
! gjennom OpenSolaris og illumos
! \item Pool-versjonene 29-34 og filsystem-versjon 6 er bare tilgjengelig
! i Solaris 11 (Express)
\item OpenSolaris har gått videre til feature-flags og pool-versjon
1000
\item illumos har gått videre til feature-flags og pool-versjon 5000
--- 638,647 ----
\frametitle{Versjonsnummer i ZFS}
\pause
\begin{itemize}[<+->]
! \item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er
! tilgjengelig gjennom OpenSolaris og illumos
! \item Pool-versjonene 29-34 og filsystem-versjon 6 er bare
! tilgjengelig i Solaris 11 (Express)
\item OpenSolaris har gått videre til feature-flags og pool-versjon
1000
\item illumos har gått videre til feature-flags og pool-versjon 5000
***************
*** 351,365 ****
\begin{enumerate}%[<+->]
\item First release
\item Ditto Blocks
! \item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved RAID-Z
! accounting
\item zpool history
\item gzip compression for ZFS datasets
\item "\texttt{bootfs}"\ pool property
\item ZIL: adds the capability to specify a separate Intent Log
device or devices
! \item ability to delegate \texttt{zfs}(1M) administrative tasks to ordinary
! users
\item CIFS server support, dataset quotas
\item Devices can be added to a storage pool as "cache devices"
\item Improved \texttt{zpool scrub}/resilver performance
--- 660,674 ----
\begin{enumerate}%[<+->]
\item First release
\item Ditto Blocks
! \item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved
! RAID-Z accounting
\item zpool history
\item gzip compression for ZFS datasets
\item "\texttt{bootfs}"\ pool property
\item ZIL: adds the capability to specify a separate Intent Log
device or devices
! \item ability to delegate \texttt{zfs}(1M) administrative tasks to
! ordinary users
\item CIFS server support, dataset quotas
\item Devices can be added to a storage pool as "cache devices"
\item Improved \texttt{zpool scrub}/resilver performance
***************
*** 367,374 ****
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren},
\texttt{usedbyrefreservation}, and \texttt{usedbydataset}
\item passthrough-x aclinherit property support
! \item Properties: \texttt{userquota}, \texttt{groupquota}, \texttt{userused} and \texttt{groupused};
! also required FS v4
\item STMF property support
\item triple-parity RAID-Z
\item ZFS snapshot holds
--- 676,683 ----
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren},
\texttt{usedbyrefreservation}, and \texttt{usedbydataset}
\item passthrough-x aclinherit property support
! \item Properties: \texttt{userquota}, \texttt{groupquota},
! \texttt{userused} and \texttt{groupused}; also required FS v4
\item STMF property support
\item triple-parity RAID-Z
\item ZFS snapshot holds
***************
*** 457,465 ****
\partpage
\end{frame}
! \section*{Oversikt over del~2: ZFS!}
\begin{frame}%[allowframebreaks]
! \frametitle{Oversikt over del~2: ZFS!}
\tableofcontents%[pausesections]
\end{frame}
--- 766,774 ----
\partpage
\end{frame}
! \section*{Oversikt over del~3: ZFS!}
\begin{frame}%[allowframebreaks]
! \frametitle{Oversikt over del~3: ZFS!}
\tableofcontents%[pausesections]
\end{frame}
***************
*** 476,489 ****
\end{itemize}
\item \texttt{zfs}
\begin{itemize}[<+->]
! \item Administrasjon av filsystemer, zvolumer, snapshots, kloner, m.m.
\end{itemize}
\end{enumerate}
\item Det finnes en tredje kommando: \texttt{zdb}
\begin{itemize}[<+->]
\item Brukes for å avlese de indre detaljene til ZFS
\item Bør bare brukes av eksperter \dots
! \item \dots\ eller av de nysgjerrige
\end{itemize}
\end{itemize}
\end{frame}
--- 785,799 ----
\end{itemize}
\item \texttt{zfs}
\begin{itemize}[<+->]
! \item Administrasjon av filsystemer, zvolumer, snapshots,
! kloner, m.m.
\end{itemize}
\end{enumerate}
\item Det finnes en tredje kommando: \texttt{zdb}
\begin{itemize}[<+->]
\item Brukes for å avlese de indre detaljene til ZFS
\item Bør bare brukes av eksperter \dots
! \item \dots\ eller av de nysgjerrige \dots
\end{itemize}
\end{itemize}
\end{frame}
***************
*** 496,510 ****
\begin{itemize}%[<+->]
\item \texttt{zpool add}
\begin{itemize}%[<+->]
! \item Brukes for å innføre en helt ny vdev-gruppe med harddisker\slash partisjoner
\end{itemize}
\item \texttt{zpool attach}
\begin{itemize}%[<+->]
! \item Brukes for å tilføye en harddisk\slash partisjon til en eksisterende vdev-gruppe
\end{itemize}
\item \texttt{zpool clear}
\begin{itemize}%[<+->]
! \item Brukes for å nullstille tellerne for lese-, skrive- og sjekksumfeil
\end{itemize}
\item \texttt{zpool create}
\begin{itemize}%[<+->]
--- 806,823 ----
\begin{itemize}%[<+->]
\item \texttt{zpool add}
\begin{itemize}%[<+->]
! \item Brukes for å innføre en helt ny vdev-gruppe med
! harddisker\slash partisjoner
\end{itemize}
\item \texttt{zpool attach}
\begin{itemize}%[<+->]
! \item Brukes for å tilføye en harddisk\slash partisjon til en
! eksisterende vdev-gruppe
\end{itemize}
\item \texttt{zpool clear}
\begin{itemize}%[<+->]
! \item Brukes for å nullstille tellerne for lese-, skrive- og
! sjekksumfeil
\end{itemize}
\item \texttt{zpool create}
\begin{itemize}%[<+->]
***************
*** 516,530 ****
\end{itemize}
\item \texttt{zpool detach}
\begin{itemize}%[<+->]
! \item Brukes for å fjerne en harddisk\slash partisjon fra en vdev-gruppe
\end{itemize}
\item \texttt{zpool export}
\begin{itemize}%[<+->]
! \item Brukes for å eksportere en pool, for senere import i samme eller et annet system
\end{itemize}
\item \texttt{zpool get}
\begin{itemize}%[<+->]
! \item Brukes for å vise verdien til alle eller utvalgte \texttt{zpool}-egenskaper
\end{itemize}
\item \texttt{zpool history}
\begin{itemize}%[<+->]
--- 829,846 ----
\end{itemize}
\item \texttt{zpool detach}
\begin{itemize}%[<+->]
! \item Brukes for å fjerne en harddisk\slash partisjon fra en
! vdev-gruppe
\end{itemize}
\item \texttt{zpool export}
\begin{itemize}%[<+->]
! \item Brukes for å eksportere en pool, for senere import i samme
! eller et annet system
\end{itemize}
\item \texttt{zpool get}
\begin{itemize}%[<+->]
! \item Brukes for å vise verdien til alle eller utvalgte
! \texttt{zpool}-egenskaper
\end{itemize}
\item \texttt{zpool history}
\begin{itemize}%[<+->]
***************
*** 532,538 ****
\end{itemize}
\item \texttt{zpool import}
\begin{itemize}%[<+->]
! \item Brukes for å importere en pool eller å vise en liste over pooler som kan importeres
\end{itemize}
\item \texttt{zpool iostat}
\begin{itemize}%[<+->]
--- 848,855 ----
\end{itemize}
\item \texttt{zpool import}
\begin{itemize}%[<+->]
! \item Brukes for å importere en pool eller å vise en liste over
! pooler som kan importeres
\end{itemize}
\item \texttt{zpool iostat}
\begin{itemize}%[<+->]
***************
*** 556,562 ****
\end{itemize}
\item \texttt{zpool reguid}
\begin{itemize}%[<+->]
! \item Brukes for å tildele en ny, tilfeldig GUID til en bestemt pool
\end{itemize}
\item \texttt{zpool remove}
\begin{itemize}%[<+->]
--- 873,880 ----
\end{itemize}
\item \texttt{zpool reguid}
\begin{itemize}%[<+->]
! \item Brukes for å tildele en ny, tilfeldig GUID til en bestemt
! pool
\end{itemize}
\item \texttt{zpool remove}
\begin{itemize}%[<+->]
***************
*** 568,578 ****
\end{itemize}
\item \texttt{zpool replace}
\begin{itemize}%[<+->]
! \item Brukes for å fortelle ZFS at en harddisk\slash partisjon har blitt skiftet ut
\end{itemize}
\item \texttt{zpool scrub}
\begin{itemize}%[<+->]
! \item Brukes for å lese gjennom alt aktivt innhold, og sjekke samsvaret mellom lagret data og lagrete sjekksummer
\end{itemize}
\item \texttt{zpool set}
\begin{itemize}%[<+->]
--- 886,898 ----
\end{itemize}
\item \texttt{zpool replace}
\begin{itemize}%[<+->]
! \item Brukes for å fortelle ZFS at en harddisk\slash partisjon har
! blitt skiftet ut
\end{itemize}
\item \texttt{zpool scrub}
\begin{itemize}%[<+->]
! \item Brukes for å lese gjennom alt aktivt innhold, og sjekke
! samsvaret mellom lagret data og lagrete sjekksummer
\end{itemize}
\item \texttt{zpool set}
\begin{itemize}%[<+->]
***************
*** 584,594 ****
\end{itemize}
\item \texttt{zpool status}
\begin{itemize}%[<+->]
! \item Brukes for å vise status til poolen, dens medlemmer og deres status, og telleverkene for lese-, skrive og sjekksumfeil
\end{itemize}
\item \texttt{zpool upgrade}
\begin{itemize}%[<+->]
! \item Brukes for å oppgradere poolene til nye formater, vise hvilke pooler som er utdaterte, og hvilke versjoner som er tilgjengelig i systemet
\end{itemize}
\end{itemize}
\end{frame}
--- 904,917 ----
\end{itemize}
\item \texttt{zpool status}
\begin{itemize}%[<+->]
! \item Brukes for å vise status til poolen, dens medlemmer og deres
! status, og telleverkene for lese-, skrive og sjekksumfeil
\end{itemize}
\item \texttt{zpool upgrade}
\begin{itemize}%[<+->]
! \item Brukes for å oppgradere poolene til nye formater, vise
! hvilke pooler som er utdaterte, og hvilke versjoner som er
! tilgjengelig i systemet
\end{itemize}
\end{itemize}
\end{frame}
***************
*** 869,874 ****
--- 1192,1209 ----
\item \texttt{logicalused}
\item \texttt{logicalreferenced}
\end{itemize}
+ \end{frame}
+
+ \part{Oppstartsmiljøer}
+
+ \begin{frame}
+ \partpage
+ \end{frame}
+
+ \section*{Oversikt over del~4: Oppstartsmiljøer}
+ \begin{frame}%[allowframebreaks]
+ \frametitle{Oversikt over del~4: Oppstartsmiljøer}
+ \tableofcontents%[pausesections]
\end{frame}
\end{document}
|