*** trunk/zfs-foredrag.tex 2014/01/02 11:58:03 9
--- trunk/zfs-foredrag.tex 2014/01/03 12:51:58 10
***************
*** 155,161 ****
\item Tilbyr også «zvolumer» som lagringsenheter for andre
filsystemer
\end{enumerate}
! \item ZFS tar dataintegritet på alvor; 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
--- 155,161 ----
\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
***************
*** 171,179 ****
--- 171,219 ----
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}
+ \section{Et eksempel på en pool}
+ \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
+ \Alert{4,7|handout:0}{enterprise_zdata} \Alert{7|handout:0}{ONLINE} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0}
+ \Alert{5,8|handout:0}{raidz1-0} \Alert{8|handout:0}{ONLINE} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0}
+ \Alert{6,8|handout:0}{ada2} \Alert{8|handout:0}{ONLINE} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0}
+ \Alert{6,8|handout:0}{ada3} \Alert{8|handout:0}{ONLINE} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0}
+ \Alert{6,8|handout:0}{ada4} \Alert{8|handout:0}{ONLINE} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0} \Alert{9|handout:0}{0}
+
+ \Alert{11|handout:0}{errors: No known data errors}
+ trond@enterprise:~>\Alert{11|handout:0}{zfs get creation enterprise_zdata}
+ 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?}
***************
*** 212,226 ****
\item Skriver oppdatert paritet til de samme paritetsblokkene som
tidligere
\begin{itemize}[<+->]
! \item Hva skjer nå \textit{og\/} senere hvis du får strømbrudd
! mellom punktene 1 og 4?
\item Har diskkontrolleren batteribeskyttet minne?
\end{itemize}
\end{enumerate}
! \item ZFS skriver fulle 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
\item Sjekksummer brukes for alt som blir lagret
\begin{itemize}[<+->]
\item ZFS kontrollerer at leste data er de samme som ble skrevet
--- 252,266 ----
\item Skriver oppdatert paritet til de samme paritetsblokkene som
tidligere
\begin{itemize}[<+->]
! \item Hva skjer \textit{nå\/} og \textit{senere\/} hvis du får
! strømbrudd mellom punktene 1 og 4?
\item Har diskkontrolleren batteribeskyttet minne?
\end{itemize}
\end{enumerate}
! \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»)
\item Sjekksummer brukes for alt som blir lagret
\begin{itemize}[<+->]
\item ZFS kontrollerer at leste data er de samme som ble skrevet
***************
*** 228,234 ****
\item Finnes alternativer, enten speilkopier eller paritet, så
\begin{enumerate}[<+->]
\item Leveres korrekte data til applikasjonen, og
! \item Avviket korrigeres automatisk på den syke disken
\end{enumerate}
\item Finnes ingen alternativer, så må filene restaureres fra
backup
--- 268,274 ----
\item Finnes alternativer, enten speilkopier eller paritet, så
\begin{enumerate}[<+->]
\item Leveres korrekte data til applikasjonen, og
! \item Avviket korrigeres automatisk på den syke disken («resilver»)
\end{enumerate}
\item Finnes ingen alternativer, så må filene restaureres fra
backup
***************
*** 243,248 ****
--- 283,296 ----
\begin{itemize}[<+->]
\item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere!
\item RAID-kontrolleren kan i verste fall motarbeide ZFS
+ \begin{itemize}[<+->]
+ \item RAID-kontrolleren kan finne på å
+ \begin{itemize}[<+->]
+ \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
\end{itemize}
***************
*** 255,262 ****
\begin{itemize}[<+->]
\item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer
ved Sun Microsystems, Inc.
! \item Arbeidet begynte i 2001
! \item Første prototyp ble ferdig 31.\ oktober 2001 (halloween)
\item ZFS $\to$ Solaris, oktober 2005
\item ZFS er lisensiert etter «Common Development and Distribution
License» (CDDL)
--- 303,310 ----
\begin{itemize}[<+->]
\item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer
ved Sun Microsystems, Inc.
! \item Arbeidet begynte i 2001 og første prototyp ble ferdig 31.\
! oktober 2001 (halloween)
\item ZFS $\to$ Solaris, oktober 2005
\item ZFS er lisensiert etter «Common Development and Distribution
License» (CDDL)
***************
*** 290,295 ****
--- 338,345 ----
\item illumos har gått videre til feature-flags og pool-versjon 5000
\item De fleste OS-er utenom Solaris, samarbeider om
videreutviklingen av illumos-varianten
+ \item Listene på de neste slidene er kopiert fra
+ \texttt{\url{http://en.wikipedia.org/wiki/ZFS}}
\end{itemize}
\end{frame}
***************
*** 305,311 ****
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
--- 355,361 ----
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
***************
*** 418,424 ****
\frametitle{Administrasjon av ZFS}
\pause
\begin{itemize}[<+->]
! \item To kommandoer (med underkommandoer):
\begin{enumerate}[<+->]
\item \texttt{zpool}
\begin{itemize}[<+->]
--- 468,474 ----
\frametitle{Administrasjon av ZFS}
\pause
\begin{itemize}[<+->]
! \item To kommandoer (med underkommandoer)
\begin{enumerate}[<+->]
\item \texttt{zpool}
\begin{itemize}[<+->]
***************
*** 426,437 ****
\end{itemize}
\item \texttt{zfs}
\begin{itemize}[<+->]
! \item Administrasjon av filsystemer, snapshots, kloner, m.m.
\end{itemize}
\end{enumerate}
! \item Det finnes en tredje kommando for de nysgjerrige: \texttt{zdb}
\begin{itemize}[<+->]
! \item Brukes for å avlese indre ZFS-detaljer
\end{itemize}
\end{itemize}
\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}
***************
*** 443,471 ****
--- 495,595 ----
%\pause
\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}%[<+->]
+ \item Brukes for å opprette pooler
+ \end{itemize}
\item \texttt{zpool destroy}
+ \begin{itemize}%[<+->]
+ \item Brukes for å ødelegge pooler
+ \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}%[<+->]
+ \item Brukes for å vise historikken til poolen
+ \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}%[<+->]
+ \item Brukes for å vise I/O-statistikk i sann tid
+ \end{itemize}
\item \texttt{zpool labelclear}
+ \begin{itemize}%[<+->]
+ \item Brukes for å fjerne alle spor av ZFS' disklabels
+ \end{itemize}
\item \texttt{zpool list}
+ \begin{itemize}%[<+->]
+ \item Brukes for å liste opp importerte pooler
+ \end{itemize}
\item \texttt{zpool offline}
+ \begin{itemize}%[<+->]
+ \item Brukes for å deaktivere en harddisk\slash partisjon
+ \end{itemize}
\item \texttt{zpool online}
+ \begin{itemize}%[<+->]
+ \item Brukes for (re)aktivere en harddisk\slash partisjon
+ \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}%[<+->]
+ \item Brukes for å fjerne en harddisk\slash partisjon
+ \end{itemize}
\item \texttt{zpool reopen}
+ \begin{itemize}%[<+->]
+ \item Brukes for \dots
+ \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}%[<+->]
+ \item Brukes for å endre \texttt{zpool}-egenskapene
+ \end{itemize}
\item \texttt{zpool split}
+ \begin{itemize}%[<+->]
+ \item Brukes for å skille et speilmedlem fra resten av gruppa
+ \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}
***************
*** 476,509 ****
--- 600,720 ----
%\pause
\begin{itemize}%[<+->]
\item \texttt{zfs allow}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs bookmark}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs clone}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs create}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs destroy}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs diff}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs get}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs groupspace}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs holds}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs hold}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs inherit}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs jail}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs list}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs mount}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs promote}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs receive}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs release}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs rename}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs rollback}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs send}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs set}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs share}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs snapshot}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs unallow}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs unjail}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs unmount}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs unshare}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs upgrade}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\item \texttt{zfs userspace}
+ \begin{itemize}%[<+->]
+ \item
+ \end{itemize}
\end{itemize}
\end{frame}
***************
*** 596,602 ****
--- 807,816 ----
\item \texttt{feature@lz4\_compress}
\item \texttt{feature@multi\_vdev\_crash\_dump}
\item \texttt{feature@spacemap\_histogram}
+ \item \texttt{feature@enabled\_txg}
+ \item \texttt{feature@hole\_birth}
\item \texttt{feature@extensible\_dataset}
+ \item \texttt{feature@bookmarks}
\end{itemize}
\end{frame}
|