/[zfs-foredrag]/trunk/zfs-foredrag.tex
ViewVC logotype

Diff of /trunk/zfs-foredrag.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 6 by trond, 2013-12-23T19:29:45Z Revision 12 by trond, 2014-02-23T12:56:54Z
# Line 42  Line 42 
42  %\usetheme{Montpellier}  %\usetheme{Montpellier}
43  %\usetheme{PaloAlto}  %\usetheme{PaloAlto}
44  %\usetheme{Pittsburgh}  %\usetheme{Pittsburgh}
45  %\usetheme{Rochester}  %\usetheme{Rochester}
46  %\usetheme{Singapore}  %\usetheme{Singapore}
47  %\usetheme{Szeged}  %\usetheme{Szeged}
48  %\usetheme{Warsaw}  %\usetheme{Warsaw}
49    
50  \hypersetup{colorlinks,linkcolor=,urlcolor=blue}  \hypersetup{colorlinks,linkcolor=,urlcolor=blue}
51    
52  \newcommand{\Alert}[2]{\alert<#1>{#2}}  \newcommand{\Alert}[2]{\alert<#1>{#2}}
53  \newcommand{\Textbackslash}{\textbackslash\penalty\exhyphenpenalty}  \newcommand{\Textbackslash}{\textbackslash\penalty\exhyphenpenalty}
54  \newcommand{\rfc}[1]{\href{http://tools.ietf.org/html/rfc#1}{RFC~#1}}  \newcommand{\rfc}[1]{\href{http://tools.ietf.org/html/rfc#1}{RFC~#1}}
55  \newcommand{\prfc}[1]{(\rfc{#1})}  \newcommand{\prfc}[1]{(\rfc{#1})}
56    
57    % Fontstørrelser:
58    
59    % \tiny
60    % \scriptsize
61    % \footnotesize
62    % \small
63    % \normalsize
64    % \large
65    % \Large
66    % \LARGE
67    % \huge
68    % \Huge
69    
70  \title{\textbf{ZFS}}  \title{\textbf{ZFS}}
71  \subtitle{Siste ord innen filsystemer}  \subtitle{Siste ord innen filsystemer}
72  \author[T.~Endrestøl]{\href{http://fig.ol.no/~trond/}{Trond Endrestøl}}  \author[T.~Endrestøl]{\href{http://fig.ol.no/~trond/}{Trond Endrestøl}}
73  \institute[FSI/IT]{\href{http://fagskolen-innlandet.no/}{Fagskolen Innlandet}, IT-avdelingen}  \institute[FSI/IT]{\href{http://fagskolen-innlandet.no/}{Fagskolen Innlandet}, IT-avdelingen}
74  %\subject{Emne for bruk i egenskapene til PDF-fila}  %\subject{Emne for bruk i egenskapene til PDF-fila}
75  %\keywords{Nøkkelord for bruk i egenskapene til PDF-fila}  %\keywords{Nøkkelord for bruk i egenskapene til PDF-fila}
76  \date{\today} % eller  \date{\today} % eller
77  %\date{23.\ desember 2013}  %\date{23.\ desember 2013}
78    
79  \begin{document}  \begin{document}
80    
81  \begin{frame}  \begin{frame}
82    \titlepage    \titlepage
83  \end{frame}  \end{frame}
84    
# Line 97  Line 110 
110    \framebreak    \framebreak
111    \item Foredraget er mekket ved hjelp av    \item Foredraget er mekket ved hjelp av
112      \href{http://www.gnu.org/software/emacs/}{GNU~Emacs},      \href{http://www.gnu.org/software/emacs/}{GNU~Emacs},
113      \href{http://www.gnu.org/software/auctex/}{AUC\TeX},      \href{http://www.gnu.org/software/auctex/}{AUC\TeX},
114      \href{http://www.tug.org/applications/pdftex/}{pdf\TeX} fra      \href{http://www.tug.org/applications/pdftex/}{pdf\TeX} fra
115      \href{http://miktex.org/}{MiK\TeX},      \href{http://miktex.org/}{MiK\TeX},
116      \href{http://www.latex-project.org/}{\LaTeX}-dokumentklassa      \href{http://www.latex-project.org/}{\LaTeX}-dokumentklassa
117      \href{https://bitbucket.org/rivanvx/beamer/wiki/Home}{beamer},      \href{https://bitbucket.org/rivanvx/beamer/wiki/Home}{beamer},
118      \href{http://subversion.apache.org/}{Subversion},      \href{http://subversion.apache.org/}{Subversion},
119      \href{http://tortoisesvn.net/}{TortoiseSVN} og      \href{http://tortoisesvn.net/}{TortoiseSVN} og
120      \href{http://get.adobe.com/no/reader/}{Adobe Reader}      \href{http://get.adobe.com/no/reader/}{Adobe Reader}
121    \item Hovedfila bærer denne identifikasjonen:\\    \item Hovedfila bærer denne identifikasjonen:\\
122      \texttt{\$${}$Ximalas${}$\$}      \texttt{\$${}$Ximalas${}$\$}
123    \item Driverfila for denne PDF-fila bærer denne identifikasjonen:\\    \item Driverfila for denne PDF-fila bærer denne identifikasjonen:\\
124      \svndriverfil      \svndriverfil
125    \item Copyright \copyright\ 2013 Trond Endrestøl    \item Copyright \copyright\ 2014 Trond Endrestøl
126    \item Dette verket er lisensiert med:    \item Dette verket er lisensiert med:
127      \href{http://creativecommons.org/}{Creative Commons},      \href{http://creativecommons.org/}{Creative Commons},
128      \href{http://creativecommons.org/licenses/by-sa/3.0/no/}{Navngivelse-DelPåSammeVilkår      \href{http://creativecommons.org/licenses/by-sa/3.0/no/}{Navngivelse-DelPåSammeVilkår
129        3.0 Norge} (CC BY-SA        3.0 Norge} (CC BY-SA
130      3.0)\hfill\includegraphics[scale=.25]{by-sa.pdf}      3.0)\hfill\includegraphics[scale=.25]{by-sa.pdf}
131    \end{itemize}    \end{itemize}
132  \end{frame}  \end{frame}
133    
134  \section*{Oversikt over hele foredraget}  \section*{Oversikt over hele foredraget}
135  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
136    \frametitle{Oversikt over hele foredraget}    \frametitle{Oversikt over hele foredraget}
137    \framesubtitle{Del 1: ZFS?}    \framesubtitle{Del 1: Lagringssystemer}
138    \tableofcontents[part=1]%[pausesections]    \tableofcontents[part=1]%[pausesections]
139  \end{frame}  \end{frame}
140    
141  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
142    \frametitle{Oversikt over hele foredraget}    \frametitle{Oversikt over hele foredraget}
143    \framesubtitle{Del 2: ZFS!}    \framesubtitle{Del 2: ZFS?}
144    \tableofcontents[part=2]%[pausesections]    \tableofcontents[part=2]%[pausesections]
145  \end{frame}  \end{frame}
146    
147  \part{Del 1: ZFS?}  \begin{frame}%[allowframebreaks]
148      \frametitle{Oversikt over hele foredraget}
149      \framesubtitle{Del 3: ZFS!}
150      \tableofcontents[part=3]%[pausesections]
151    \end{frame}
152    
153    \begin{frame}%[allowframebreaks]
154      \frametitle{Oversikt over hele foredraget}
155      \framesubtitle{Del 4: Oppstartsmiljøer}
156      \tableofcontents[part=4]%[pausesections]
157    \end{frame}
158    
159    \part{Lagringssystemer}
160    
161  \begin{frame}  \begin{frame}
162    \partpage    \partpage
163  \end{frame}  \end{frame}
164    
165  \section*{Oversikt over del~1: ZFS?}  \section*{Oversikt over del~1: Lagringssystemer}
166  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
167    \frametitle{Oversikt over del~1: ZFS?}    \frametitle{Oversikt over del~1: Lagringssystemer}
168      \tableofcontents%[pausesections]      \tableofcontents%[pausesections]
169  \end{frame}  \end{frame}
170    
171    \section{Hva kan et lagringssystem bestå av?}
172    \begin{frame}%[allowframebreaks]
173      \frametitle{Hva kan et lagringssystem bestå av?}
174      \tiny
175    
176      \begin{multicols}{2}
177        \pause
178        Enkel server med innebygget lagring
179    
180        \pause
181        \begin{enumerate}[<+->]
182        \item Strømforsyning
183        \item Strømkabler
184        \item Harddisker
185        \item Firmware i harddisker
186        \item I/O-kabler
187        \item Harddiskkontroller integrert i\slash tilkoblet hovedkortet
188        \item Firmware i harddiskkontroller
189        \item Hovedkort og dets kobberbaner
190        \item South bridge
191        \item DMA-kontroller på hovedkortet
192        \item Arbeidsminne tilkoblet hovedkortet
193        \item CPU
194        \end{enumerate}
195    
196        \columnbreak % Av en eller annen grunn sørger \columnbreak for at den samme sliden gjentas en gang ekstra for denne framen akkurat her
197    
198        \pause
199        Avansert server med ekstern lagring
200    
201        \pause
202        \begin{enumerate}[<+->]
203        \item Strømforsyning
204        \item Strømkabler
205        \item Harddisker montert i diskhyller
206        \item Firmware i harddisker
207        \item I/O-kabler
208        \item Harddiskkontroller
209        \item Firmware i harddiskkontrolleren
210        \item Grensesnitt i harddiskkontrolleren for ekstern I/O
211        \item Kabler for ekstern I/O (og kanskje en superrask switch)
212        \item Grensesnitt for ekstern I/O tilkoblet hovedkortet
213        \item Hovedkort og dets kobberbaner
214        \item South bridge
215        \item DMA-kontroller på hovedkortet
216        \item Arbeidsminne tilkoblet hovedkortet
217        \item CPU
218        \end{enumerate}
219      \end{multicols}
220    \end{frame}
221    
222    \section{Hva kan gå galt i et lagringssystem?}
223    \begin{frame}%[allowframebreaks]
224      \frametitle{Hva kan gå galt i et lagringssystem?}
225      \pause
226      \begin{itemize}[<+->]
227      \item Data som en gang ble lagret, avleses senere som noe helt annet
228      \end{itemize}
229    \end{frame}
230    
231    \section{Hvor kan det gå galt i et lagringssystem?}
232    \begin{frame}[allowframebreaks]
233      \frametitle{Hvor kan det gå galt i et lagringssystem?}
234      %\pause
235      \begin{itemize}%[<+->]
236      \item Kort sagt: overalt
237      \end{itemize}
238    \framebreak
239      \begin{enumerate}%[<+->]
240      \item Strømforsyningen
241        \begin{itemize}%[<+->]
242        \item Underdimensjonert; lavere spenning\slash strøm til øvrige
243          komponenter; uttørkede elektrolyttkondensatorer; utilstrekkelig
244          avkjøling
245        \end{itemize}
246      \item Strømkabel mellom strømforsyning og harddisk
247        \begin{itemize}%[<+->]
248        \item Vakkel i kontaktene; (begynnende) brudd i lederne
249        \end{itemize}
250      \item Harddisk
251        \begin{itemize}%[<+->]
252        \item Slitasje på indre deler; programmeringsfeil i firmware;
253          vibrasjoner; lese fra\slash skrive til feil diskblokk
254        \end{itemize}
255      \item I/O-kabel mellom harddisk og harddiskkontroller
256        \begin{itemize}%[<+->]
257        \item Vakkel i kontaktene; (begynnende) brudd i lederne
258        \end{itemize}
259      \item Harddiskkontroller
260        \begin{itemize}%[<+->]
261        \item Programmeringsfeil i firmware
262        \end{itemize}
263      \item Grensesnittet mellom harddiskkontroller og hovedkort
264        \begin{itemize}%[<+->]
265        \item Vakkel i PCIe-kontakt
266        \end{itemize}
267      \item Kobberbanene i hovedkortet
268        \begin{itemize}%[<+->]
269        \item (Begynnende) brudd etter ESD-skade, utilstrekkelig avkjøling
270        \end{itemize}
271      \item Grensesnitt mellom DMA-kontroller og hovedkort
272        \begin{itemize}%[<+->]
273        \item Se kobberbanene i hovedkortet
274        \end{itemize}
275      \item Grensesnitt mellom hovedkort og arbeidsminne
276        \begin{itemize}%[<+->]
277        \item Vakkel i soklene
278        \end{itemize}
279      \item Arbeidsminne
280        \begin{itemize}%[<+->]
281        \item ESD-skade; kosmisk stråling; alfapartikler fra radioaktiv
282          forurensning i IC-innkapslingen
283        \end{itemize}
284      \end{enumerate}
285    %\framebreak
286      \begin{itemize}%[<+->]
287      \item Hvor mange muligheter ble dette?
288      \item Hvor mange harddisker har du i dine systemer?
289      \item Har du kontrollen?
290      \end{itemize}
291    \end{frame}
292    
293    \part{ZFS?}
294    
295    \begin{frame}
296      \partpage
297    \end{frame}
298    
299    \section*{Oversikt over del~2: ZFS?}
300    \begin{frame}%[allowframebreaks]
301      \frametitle{Oversikt over del~2: ZFS?}
302        \tableofcontents%[pausesections]
303    \end{frame}
304    
305  \section{Hva er ZFS?}  \section{Hva er ZFS?}
306  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
307    \frametitle{Hva er ZFS?}    \frametitle{Hva er ZFS?}
308    \pause    \pause
309    \begin{itemize}[<+->]    \begin{itemize}[<+->]
310    \item ZFS er både    \item ZFS er
311      \begin{enumerate}[<+->]      \begin{enumerate}[<+->]
312      \item Logisk volumhåndterer\hfill(Logical Volume Manager, LVM)      \item Logisk volumhåndterer («Logical Volume Manager», LVM)
313      \item Filsystem med snapshots og kloner      \item Filsystem med bl.a.\ snapshots, kloner, kompresjon og
314          deduplisering
315        \item Tilbyr også «zvolumer» som lagringsenheter for andre
316          filsystemer
317      \end{enumerate}      \end{enumerate}
318    \item Enklere organisering enn «Storage Spaces» i Microsoft Windows    \item ZFS tar
319        \begin{itemize}[<+->]
320        \item Dataintegritet på alvor
321        \item Deretter brukervennlighet (for administratorer)
322        \item Hastighet kommer i senere rekker
323        \end{itemize}
324      \item ZFS er langt enklere enn «Storage Spaces» i Microsoft Windows
325      Server 2012      Server 2012
326    \item Lagringen organiseres i pooler som kan bestå av    \end{itemize}
327    \end{frame}
328    
329    \begin{frame}%[allowframebreaks]
330      \frametitle{Hva er ZFS?}
331      %\pause
332      \begin{itemize}[<+->]
333      \item Tradisjonelt oppsett av Storage Spaces
334        \begin{itemize}[<+->]
335        \item Velge ut harddisker og opprette en pool
336        \item Opprette et volum med ønsket størrelse og lagringsform
337          \begin{itemize}[<+->]
338          \item striping
339          \item speiling, eller
340          \item RAID~5
341          \end{itemize}
342        \item Opprette \textit{ett\/} filsystem på volumet
343          \begin{itemize}[<+->]
344          \item NTFS
345          \item ReFS
346          \end{itemize}
347        \item Begynne å lagre data
348        \end{itemize}
349      \end{itemize}
350    \end{frame}
351    
352    \begin{frame}%[allowframebreaks]
353      \frametitle{Hva er ZFS?}
354      %\pause
355      \begin{itemize}[<+->]
356      \item ZFS organiserer lagringen i pooler som kan bestå av
357      \begin{enumerate}[<+->]      \begin{enumerate}[<+->]
358      \item Enkeltdisker\slash partisjoner      \item Enkeltharddisker\slash partisjoner
359      \item Striping (RAID~0) mellom to eller flere disker\slash partisjoner      \item Striping (RAID~0) mellom to eller flere harddisker\slash
     \item Speiling (RAID~1) mellom to eller flere disker\slash partisjoner  
     \item \texttt{raidz1} (RAID~5) over tre eller flere disker\slash  
360        partisjoner        partisjoner
361      \item \texttt{raidz2} (RAID~6) over seks eller flere disker\slash      \item Speiling (RAID~1) mellom to eller flere harddisker\slash
362        partisjoner        partisjoner
363      \item \texttt{raidz3} («RAID~7») over ni eller flere disker\slash      \item \texttt{raidz1} (RAID~5, enkel paritet) over tre eller flere
364        partisjoner        harddisker\slash partisjoner
365        \item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller
366          flere harddisker\slash partisjoner
367        \item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller
368          flere harddisker\slash partisjoner
369      \end{enumerate}      \end{enumerate}
370    \item Visse kombinasjoner av det overstående er også mulig    \item Visse kombinasjoner av det overstående er også mulig
371      \item Filsystemet blir opprettet samtidig med poolen
372        \begin{itemize}[<+->]
373        \item Nye filsystemer kan opprettes i et hierarki
374        \end{itemize}
375    \end{itemize}    \end{itemize}
376  \end{frame}  \end{frame}
377    
378    \section{Et eksempel på en pool}
379    \begin{frame}[fragile]%[allowframebreaks]
380      \frametitle{Et eksempel på en pool}
381      \pause
382      \begin{multicols}{2}
383    \begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
384    trond@enterprise:~>\Alert{3|handout:0}{zpool status enterprise_zdata}
385      pool: \Alert{4,7|handout:0}{enterprise_zdata}
386     state: \Alert{7|handout:0}{ONLINE}
387      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}
388    config:
389    
390            NAME              STATE     READ WRITE CKSUM
391            \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}
392                    \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}
393                      \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}
394                      \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}
395                      \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}
396    
397    \Alert{11|handout:0}{errors: No known data errors}
398    trond@enterprise:~>\Alert{11|handout:0}{zfs get creation enterprise_zdata}
399    NAME              PROPERTY  VALUE                  SOURCE
400    enterprise_zdata  creation  \Alert{11|handout:0}{Sun Jan  8 14:14 2012}  -
401    \end{Verbatim}
402    
403      \pause
404    
405      \small
406      \begin{itemize}[<+->]
407      \item Kommando for å vise
408        status%: \texttt{zpool status enterprise\_zdata}
409      \item Poolen heter \texttt{enterprise\_zdata}
410      \item Består av én «vdev» («virtual device»), \texttt{raidz1},
411        striping med enkel paritet
412      \item Medlemmene er de tre harddiskene \texttt{ada2}, \texttt{ada3}
413        og \texttt{ada4}
414      \item Poolen har det bra og er \texttt{ONLINE}
415      \item Det samme gjelder for vdev-en og dens tre medlemmer
416      \item «Null hull» i telleverkene
417      \item Siste skrubbing avsluttet 1.~januar 2014,
418        kl.~07:18:51%, etter omlag 2 timer og 15 minutter med gjennomlesing
419      \item Ingen feil registrert siden 8.~januar 2012, kl.~14:14 (har
420        aldri kjørt \texttt{zpool clear})
421      \end{itemize}
422      \end{multicols}
423    \end{frame}
424    
425    \section{Et eksempel på filsystemer i ZFS}
426    \begin{frame}[fragile]%[allowframebreaks]
427      \frametitle{Et eksempel på filsystemer i ZFS}
428      \pause
429    
430    \begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
431    trond@enterprise:~>zfs list -r enterprise_zroot
432    NAME                                           USED  AVAIL  REFER  MOUNTPOINT
433    enterprise_zroot                              35,0G   406G   144K  legacy
434    enterprise_zroot/ROOT                         3,47G   413G   144K  legacy
435    enterprise_zroot/ROOT/20131126-r258614        1,43G   413G  1,43G  legacy
436    enterprise_zroot/ROOT/20131207-r259060        1,02G   413G  1,02G  legacy
437    enterprise_zroot/ROOT/20140103-r260223        1,02G   413G  1,02G  legacy
438    enterprise_zroot/do-not-destroy                144K   407G   144K  legacy
439    enterprise_zroot/media                         208K   406G   208K  /media
440    enterprise_zroot/nfs                           152K   406G   152K  /nfs
441    enterprise_zroot/tmp                          6,87M  9,99G  6,87M  /tmp
442    enterprise_zroot/usr                          17,5G   406G   144K  /usr
443    enterprise_zroot/usr/compat                    168K   406G   168K  /usr/compat
444    enterprise_zroot/usr/local                    2,63G   406G  2,53G  /usr/local
445    enterprise_zroot/usr/local/certs               220K   406G   220K  /usr/local/certs
446    enterprise_zroot/usr/local/etc                 105M   406G   101M  /usr/local/etc
447    enterprise_zroot/usr/local/etc/namedb          144K   406G   144K  /usr/local/etc/namedb
448    enterprise_zroot/usr/local/etc/shellkonfig3   3,63M   406G   320K  /usr/local/etc/shellkonfig3
449    enterprise_zroot/usr/obj                      4,63G   406G  4,63G  /usr/obj
450    enterprise_zroot/usr/packages                  472M   406G   472M  /usr/packages
451    enterprise_zroot/usr/ports                    8,99G   406G  1,54G  /usr/ports
452    enterprise_zroot/usr/ports/distfiles          3,71G   406G  3,71G  /usr/ports/distfiles
453    enterprise_zroot/usr/ports/local               288K   406G   288K  /usr/ports/local
454    enterprise_zroot/usr/ports/packages           3,74G   406G  3,74G  /usr/ports/packages
455    enterprise_zroot/usr/ports/workdirs            336K   406G   336K  /usr/ports/workdirs
456    enterprise_zroot/usr/src                       826M   406G   826M  /usr/src
457    enterprise_zroot/var                          6,38G   406G  10,1M  /var
458    enterprise_zroot/var/crash                    1,19G   406G  1,19G  /var/crash
459    enterprise_zroot/var/db                       70,4M   406G  23,8M  /var/db
460    enterprise_zroot/var/db/darkstat               512K   406G   512K  /var/db/darkstat
461    enterprise_zroot/var/db/pkg                   25,1M   406G  25,1M  /var/db/pkg
462    enterprise_zroot/var/db/ports                 8,18M   406G  8,18M  /var/db/ports
463    enterprise_zroot/var/db/sup                   12,8M   406G  12,8M  /var/db/sup
464    enterprise_zroot/var/empty                     144K   406G   144K  /var/empty
465    enterprise_zroot/var/log                       733M   406G   733M  /var/log
466    enterprise_zroot/var/mail                     3,68M   406G   328K  /var/mail
467    enterprise_zroot/var/named                     392K   406G   392K  /var/named
468    enterprise_zroot/var/run                       332K   406G   332K  /var/run
469    enterprise_zroot/var/spool                    4,39G   406G  2,13M  /var/spool
470    enterprise_zroot/var/spool/cvsup              4,39G   406G  4,39G  /var/spool/cvsup
471    enterprise_zroot/var/tmp                      1,49M  10,0G  1,49M  /var/tmp
472    enterprise_zroot/var/unbound                   144K   406G   144K  /var/unbound
473    \end{Verbatim}
474    \end{frame}
475    
476    \section{Et annet eksempel på filsystemer i ZFS}
477    \begin{frame}[fragile]%[allowframebreaks]
478      \frametitle{Et annet eksempel på filsystemer i ZFS}
479      \pause
480    
481    \begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny]
482    trond@enterprise:~>zfs list -r enterprise_zdata
483    NAME                                        USED  AVAIL  REFER  MOUNTPOINT
484    enterprise_zdata                            326G   586G   224K  legacy
485    enterprise_zdata/do-not-destroy             192K   587G   192K  legacy
486    enterprise_zdata/home                       315G   586G   442K  /home
487    enterprise_zdata/home/trond                 291G   586G   269M  /home/trond
488    enterprise_zdata/home/trond/arbeid         15,8M   586G  15,8M  /home/trond/arbeid
489    enterprise_zdata/home/trond/bzrarbeid       343M   586G   343M  /home/trond/bzrarbeid
490    enterprise_zdata/home/trond/c              5,10M   586G  5,10M  /home/trond/c
491    enterprise_zdata/home/trond/cvsroot         655K   586G   655K  /home/trond/cvsroot
492    enterprise_zdata/home/trond/download       3,92G   586G  3,92G  /home/trond/download
493    enterprise_zdata/home/trond/fra-defiant    35,8G   586G  35,8G  /home/trond/fra-defiant
494    enterprise_zdata/home/trond/fra-mentor      281M   586G   281M  /home/trond/fra-mentor
495    enterprise_zdata/home/trond/fra-sovereign   104G   586G   104G  /home/trond/fra-sovereign
496    enterprise_zdata/home/trond/gitarbeid      4,46G   586G  4,46G  /home/trond/gitarbeid
497    enterprise_zdata/home/trond/hgarbeid        464M   586G   464M  /home/trond/hgarbeid
498    enterprise_zdata/home/trond/iptraf         4,37M   586G  4,37M  /home/trond/iptraf
499    enterprise_zdata/home/trond/knuth          27,0M   586G  27,0M  /home/trond/knuth
500    enterprise_zdata/home/trond/mail            284M   586G   224M  /home/trond/mail
501    enterprise_zdata/home/trond/public_html    1,00G   586G  1,00G  /home/trond/public_html
502    enterprise_zdata/home/trond/rfc            2,29G   586G  2,29G  /home/trond/rfc
503    enterprise_zdata/home/trond/steam           122G   586G   122G  /home/trond/steam
504    enterprise_zdata/home/trond/svnarbeid      12,4G   586G  12,4G  /home/trond/svnarbeid
505    enterprise_zdata/home/trond/svnroot         192K   586G   192K  /home/trond/svnroot
506    enterprise_zdata/home/trond/svnup          2,95G   586G  2,95G  /home/trond/svnup
507    enterprise_zdata/home/trond/tmp             212M   586G   212M  /home/trond/tmp
508    \end{Verbatim}
509    \end{frame}
510    
511  \section{Hva er grensene til ZFS?}  \section{Hva er grensene til ZFS?}
512  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
513    \frametitle{Hva er grensene til ZFS?}    \frametitle{Hva er grensene til ZFS?}
514    \pause    \pause
515    \begin{itemize}[<+->]    \begin{itemize}[<+->]
516    \item ZFS er stort sett grenseløs    \item ZFS er stort sett grenseløs
517      \begin{itemize}[<+->]      \begin{itemize}[<+->]
518      \item 128-bit diskadresser      \item 128-bit diskadresser
519      \item Maks.\ $2^{48}$ poster i hver katalog      \item Maks.\ \alert<9->{$2^{48}$} poster i hver katalog
520      \item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil      \item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil
521      \item Maks.\ $2^{64}$ bytes for hvert attributt      \item Maks.\ $2^{64}$ bytes for hvert attributt
522      \item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool      \item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool
523      \item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset      \item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset
524        til $2^{48}$ attributter)        til \alert<9->{$2^{48}$} attributter)
525        \pause
526      \item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool      \item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool
527      \item Maks.\ $2^{64}$ pooler i et og samme system      \item Maks.\ $2^{64}$ pooler i et og samme system
528      \item Maks.\ $2^{64}$ filsystemer i samme pool      \item Maks.\ $2^{64}$ filsystemer i samme pool
529        \item Ref.: \texttt{\url{http://en.wikipedia.org/wiki/ZFS}}
530      \end{itemize}      \end{itemize}
531    \item Vis meg det systemet som klarer å sprenge noen av disse    \item Vis meg det systemet som klarer å sprenge noen av disse
532      grensene!      grensene!
533    \end{itemize}    \end{itemize}
534  \end{frame}  \end{frame}
535    
536  \section{Hvordan virker ZFS?}  \section{Hvordan virker ZFS?}
537  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
538    \frametitle{Hvordan virker ZFS?}    \frametitle{Hvordan virker ZFS?}
539    \pause    \pause
540    \begin{itemize}[<+->]    \begin{itemize}[<+->]
541    \item ZFS unngår RAID~5-skrivehullet til typiske RAID-kontrollere    \item ZFS unngår RAID~5-skrivehullet til eldre RAID-kontrollere som
542      \begin{enumerate}[<+->]      \begin{enumerate}[<+->]
543      \item Skriver nye data til de samme datablokkene som tidligere      \item Skriver nye data til de samme datablokkene som tidligere
544      \item Regner ut ny paritet      \item Leser gamle, urørte data fra de samme datablokkene i samme stripe
545        \item Regner ut ny paritet for datablokkene i samme stripe
546      \item Skriver oppdatert paritet til de samme paritetsblokkene som      \item Skriver oppdatert paritet til de samme paritetsblokkene som
547        tidligere        tidligere
548        \begin{itemize}[<+->]        \begin{itemize}[<+->]
549        \item Hva skjer hvis du får strømbrudd mellom 1 og 3?        \item Hva skjer \textit{nå\/} og \textit{senere\/} hvis du får
550            strømbrudd mellom punktene 1 og 4?
551        \item Har diskkontrolleren batteribeskyttet minne?        \item Har diskkontrolleren batteribeskyttet minne?
552        \end{itemize}        \end{itemize}
553      \end{enumerate}      \end{enumerate}
554    \item ZFS skriver fulle striper; data og paritet samtidig    \end{itemize}
555    \end{frame}
556    
557    \begin{frame}%[allowframebreaks]
558      \frametitle{Hvordan virker ZFS?}
559      %\pause
560      \begin{itemize}[<+->]
561      \item ZFS skriver komplette striper; data og paritet samtidig
562    \item ZFS bruker «copy-on-write»; skriver nye data til ledige    \item ZFS bruker «copy-on-write»; skriver nye data til ledige
563      diskblokker      diskblokker
564    \item Endringer som hører sammen, samles i transaksjonsgrupper    \item Endringer som hører sammen, samles i transaksjonsgrupper («txg»)
565      \end{itemize}
566    \end{frame}
567    
568    \begin{frame}%[allowframebreaks]
569      \frametitle{Hvordan virker ZFS?}
570      %\pause
571      \begin{itemize}[<+->]
572    \item Sjekksummer brukes for alt som blir lagret    \item Sjekksummer brukes for alt som blir lagret
573      \begin{itemize}[<+->]      \begin{itemize}[<+->]
574      \item ZFS kontrollerer at leste data er de samme som ble skrevet      \item ZFS kontrollerer at leste data er de samme som ble skrevet
575      \item Oppdages avvik, leter ZFS etter alternativer      \item Oppdages avvik, leter ZFS etter alternativer
576      \item Finnes alternativer, enten speilkopier eller paritet      \item Finnes alternativer, enten speilkopier eller paritet, så
577        \begin{enumerate}[<+->]        \begin{enumerate}[<+->]
578        \item Leveres korrekte data til applikasjonen, og        \item Leveres korrekte data til applikasjonen, og
579        \item avviket korrigeres automatisk på den syke disken        \item Avviket korrigeres automatisk på den syke disken («resilver»)
580        \end{enumerate}        \end{enumerate}
581      \item Finnes ingen alternativer, så må filene restaureres fra      \item Finnes ingen alternativer, så må filene restaureres fra
582        backup        backup
583      \end{itemize}      \end{itemize}
584    \end{itemize}    \end{itemize}
585  \end{frame}  \end{frame}
586    
587  \section{ZFS og RAID-kontrollere}  \section{ZFS og RAID-kontrollere}
588  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
589    \frametitle{ZFS og RAID-kontrollere}    \frametitle{ZFS og RAID-kontrollere}
590    \pause    \pause
591    \begin{itemize}[<+->]    \begin{itemize}[<+->]
592    \item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere!    \item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere!
593    \item I verste fall kan RAID-kontrolleren motarbeide ZFS    \item RAID-kontrolleren kan i verste fall motarbeide ZFS
594    \item Sett kontrolleren i JBOD-modus, eller      \begin{itemize}[<+->]
595    \item la hver disk være sitt enslige RAID~0-volum      \item RAID-kontrolleren kan finne på å
596          \begin{itemize}[<+->]
597          \item Stokke om på skriverekkefølgen
598          \item Utsette skriving av nye data
599          \end{itemize}
600        \item Harddiskene kan også oppføre seg som skissert over
601        \item Har du skifta batteriet i RAID-kontrolleren din?
602        \end{itemize}
603      \item Sett RAID-kontrolleren i JBOD-modus, eller
604      \item La hver harddisk være sitt enslige RAID~0-volum
605    \end{itemize}    \end{itemize}
606  \end{frame}  \end{frame}
607    
608  \section{Hvor kommer ZFS fra?}  \section{Hvor kommer ZFS fra?}
609  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
610    \frametitle{Hvor kommer ZFS fra?}    \frametitle{Hvor kommer ZFS fra?}
611    \pause    \pause
612    \begin{itemize}[<+->]    \begin{itemize}[<+->]
613    \item Utviklet av Jeff Bonwick og kollegaer ved Sun Microsystems,    \item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer
614      Inc.      ved Sun Microsystems, Inc.
615    \item Arbeidet begynte i 2001    \item Arbeidet begynte i 2001 og første prototyp ble ferdig 31.\
616        oktober 2001 (halloween)
617    \item ZFS $\to$ Solaris, oktober 2005    \item ZFS $\to$ Solaris, oktober 2005
618    \item ZFS er lisensiert etter «Common Development and Distribution    \item ZFS er lisensiert etter «Common Development and Distribution
619      License» (CDDL)      License» (CDDL)
620    \item ZFS $\to$ OpenSolaris, november 2005    \item ZFS $\to$ OpenSolaris, november 2005
621    \item ZFS $\to$ FreeBSD, april 2007    \item ZFS $\to$ FreeBSD, april 2007
622    \item Linux' GPL~v2-lisens kompliserer import av ZFS    \item Linux' GPL~v2-lisens kompliserer import av ZFS
623      \begin{itemize}[<+->]      \begin{itemize}[<+->]
624      \item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet      \item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet
625      \item Brian Behlendorf ved Lawrence Livermore National Laboratory      \item Brian Behlendorf ved Lawrence Livermore National Laboratory
626        (LLNL) har laget «Native ZFS for\slash on Linux»        (LLNL) har laget «Native ZFS for\slash on Linux»
627      \end{itemize}      \end{itemize}
628    \item ZFS var tilgjengelig i Mac OS~X 10.5, bare read-only, men har    \item ZFS var tilgjengelig i Mac OS~X 10.5, bare read-only, men har
629      vært tilbaketrukket siden oktober 2009      vært tilbaketrukket siden oktober 2009
630      \item Noen Mac OS~X-entusiaster har laget sine egne ZFS-varianter
631    \item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD,    \item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD,
632      GNU/kFreeBSD og NetBSD      GNU/kFreeBSD og NetBSD
633    \end{itemize}    \end{itemize}
634  \end{frame}  \end{frame}
635    
636    \section{Versjonsnummer i ZFS}
637    \begin{frame}%[allowframebreaks]
638      \frametitle{Versjonsnummer i ZFS}
639      \pause
640      \begin{itemize}[<+->]
641      \item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er
642        tilgjengelig gjennom OpenSolaris og illumos
643      \item Pool-versjonene 29-34 og filsystem-versjon 6 er bare
644        tilgjengelig i Solaris 11 (Express)
645      \item OpenSolaris har gått videre til feature-flags og pool-versjon
646        1000
647      \item illumos har gått videre til feature-flags og pool-versjon 5000
648      \item De fleste OS-er utenom Solaris, samarbeider om
649        videreutviklingen av illumos-varianten
650      \item Listene på de neste slidene er kopiert fra
651        \texttt{\url{http://en.wikipedia.org/wiki/ZFS}}
652      \end{itemize}
653    \end{frame}
654    
655    \subsection{Pool-versjonsnummer}
656    \begin{frame}[allowframebreaks]
657      \frametitle{Versjonsnummer i ZFS}
658      \framesubtitle{Pool-versjonsnummer}
659      %\pause
660      \begin{enumerate}%[<+->]
661      \item First release
662      \item Ditto Blocks
663      \item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved
664        RAID-Z accounting
665      \item zpool history
666      \item gzip compression for ZFS datasets
667      \item "\texttt{bootfs}"\ pool property
668      \item ZIL: adds the capability to specify a separate Intent Log
669        device or devices
670      \item ability to delegate \texttt{zfs}(1M) administrative tasks to
671        ordinary users
672      \item CIFS server support, dataset quotas
673      \item Devices can be added to a storage pool as "cache devices"
674      \item Improved \texttt{zpool scrub}/resilver performance
675      \item Snapshot properties
676      \item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren},
677        \texttt{usedbyrefreservation}, and \texttt{usedbydataset}
678      \item passthrough-x aclinherit property support
679      \item Properties: \texttt{userquota}, \texttt{groupquota},
680        \texttt{userused} and \texttt{groupused}; also required FS v4
681      \item STMF property support
682      \item triple-parity RAID-Z
683      \item ZFS snapshot holds
684      \item ZFS log device removal
685      \item zle compression algorithm that is needed to support the ZFS
686        deduplication properties in ZFS pool version 21, which were
687        released concurrently
688      \item Deduplication
689      \item \texttt{zfs receive} properties
690      \item slim ZIL
691      \item System attributes. Symlinks now their own object type. Also
692        requires FS v5.
693      \item Improved pool scrubbing and resilvering statistics
694      \item Improved snapshot deletion performance
695      \item Improved snapshot creation performance (particularly recursive
696        snapshots)
697      \item Multiple virtual device replacements
698      \item RAID-Z/mirror hybrid allocator
699      \item ZFS encryption
700      \item Improved '\texttt{zfs list}' performance
701      \item One MB block support
702      \item Improved share support
703      \item Sharing with inheritance
704      \end{enumerate}
705    \end{frame}
706    
707    \subsection{Filsystem-versjonsnummer}
708    \begin{frame}[allowframebreaks]
709      \frametitle{Versjonsnummer i ZFS}
710      \framesubtitle{Filsystem-versjonsnummer}
711      %\pause
712      \begin{enumerate}%[<+->]
713      \item First release
714      \item Enhanced directory entries. In particular, directory entries
715        now store the object type. For example, file, directory, named
716        pipe, and so on, in addition to the object number.
717      \item Support for sharing ZFS file systems over SMB. Case
718        insensitivity support. System attribute support. Integrated
719        anti-virus support.
720      \item Properties: userquota, groupquota, userused and groupused
721      \item System attributes; symlinks now their own object type
722      \item Multilevel file system support
723      \end{enumerate}
724    \end{frame}
725    
726  \section{Fremtiden for ZFS?}  \section{Fremtiden for ZFS?}
727  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
728    \frametitle{Fremtiden for ZFS?}    \frametitle{Fremtiden for ZFS?}
729    \pause    \pause
730    \begin{itemize}[<+->]    \begin{itemize}[<+->]
731    \item Oracle kjøpte opp Sun Microsystems, 27.~januar 2010    \item Oracle kjøpte opp Sun Microsystems, Inc., 27.~januar 2010
732    \item Oracle ville gjøre OpenSolaris om til «ClosedSolaris»    \item Oracle gjorde OpenSolaris om til «ClosedSolaris» i mai 2010
733    \item Hele ZFS-teamet hos Oracle sa opp på dagen, 90 dager etter den    \item Hele ZFS-teamet hos Oracle sa opp på dagen, omtrent 90 dager
734      avgjørelsen      etter denne avgjørelsen ifølge Bryan Cantrill
735    \item ZFS lever videre hos    \item ZFS lever videre hos
736      \begin{itemize}[<+->]      \begin{itemize}[<+->]
737      \item Oracle      \item Oracle Solaris
738      \item illumos      \item illumos\slash OpenZFS
739      \item OpenZFS        \begin{itemize}[<+->]
740      \item FreeBSD        \item OpenIndiana
741      \item Delphix        \item FreeBSD
742      \item iXsystems        \item Delphix
743      \item Joyent        \item iXsystems
744      \item NetBSD        \item Joyent
745      \item Nexenta        \item NetBSD
746          \item Nexenta
747          \item Linux
748          \end{itemize}
749      \end{itemize}      \end{itemize}
750    \end{itemize}    \end{itemize}
751  \end{frame}  \end{frame}
752    
753  %\subsection{Underemne 1a}  %\subsection{Underemne 1a}
754  %\begin{frame}%[allowframebreaks]  %\begin{frame}%[allowframebreaks]
755  %  \frametitle{Emne 1}  %  \frametitle{Emne 1}
756  %  \framesubtitle{Underemne 1a}  %  \framesubtitle{Underemne 1a}
757  %  \pause  %  \pause
758  %  \begin{itemize}[<+->]  %  \begin{itemize}[<+->]
759  %  \item Bla, bla, bla  %  \item Bla, bla, bla
760  %  \end{itemize}  %  \end{itemize}
761  %\end{frame}  %\end{frame}
762    
763  \part{Del 2: ZFS!}  \part{ZFS!}
764    
765  \begin{frame}  \begin{frame}
766    \partpage    \partpage
767  \end{frame}  \end{frame}
768    
769  \section*{Oversikt over del~2: ZFS!}  \section*{Oversikt over del~3: ZFS!}
770  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
771    \frametitle{Oversikt over del~2: ZFS!}    \frametitle{Oversikt over del~3: ZFS!}
772      \tableofcontents%[pausesections]      \tableofcontents%[pausesections]
773  \end{frame}  \end{frame}
774    
775  \section{Administrasjon av ZFS}  \section{Administrasjon av ZFS}
776  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
777    \frametitle{Administrasjon av ZFS}    \frametitle{Administrasjon av ZFS}
778    \pause    \pause
779    \begin{itemize}[<+->]    \begin{itemize}[<+->]
780    \item To kommandoer (med underkommandoer):    \item To kommandoer (med underkommandoer)
781      \begin{enumerate}[<+->]      \begin{enumerate}[<+->]
782      \item \texttt{zpool}      \item \texttt{zpool}
783          \begin{itemize}[<+->]
784          \item Administrasjon av lagringspoolene
785          \end{itemize}
786      \item \texttt{zfs}      \item \texttt{zfs}
787          \begin{itemize}[<+->]
788          \item Administrasjon av filsystemer, zvolumer, snapshots,
789            kloner, m.m.
790          \end{itemize}
791      \end{enumerate}      \end{enumerate}
792    \item Det finnes en tredje kommando for de nysgjerrige: \texttt{zdb}    \item Det finnes en tredje kommando: \texttt{zdb}
793      \begin{itemize}[<+->]      \begin{itemize}[<+->]
794      \item Brukes for å avlese indre ZFS-detaljer      \item Brukes for å avlese de indre detaljene til ZFS
795        \item Bør bare brukes av eksperter \dots
796        \item \dots\ eller av de nysgjerrige \dots
797      \end{itemize}      \end{itemize}
798    \end{itemize}    \end{itemize}
799  \end{frame}  \end{frame}
800    
801    \subsection{\texttt{zpool}}
802    \begin{frame}[allowframebreaks]
803      \frametitle{Administrasjon av ZFS}
804      \framesubtitle{\texttt{zpool}-kommandoer}
805      %\pause
806      \begin{itemize}%[<+->]
807      \item \texttt{zpool add}
808        \begin{itemize}%[<+->]
809        \item Brukes for å innføre en helt ny vdev-gruppe med
810          harddisker\slash partisjoner
811        \end{itemize}
812      \item \texttt{zpool attach}
813        \begin{itemize}%[<+->]
814        \item Brukes for å tilføye en harddisk\slash partisjon til en
815          eksisterende vdev-gruppe
816        \end{itemize}
817      \item \texttt{zpool clear}
818        \begin{itemize}%[<+->]
819        \item Brukes for å nullstille tellerne for lese-, skrive- og
820          sjekksumfeil
821        \end{itemize}
822      \item \texttt{zpool create}
823        \begin{itemize}%[<+->]
824        \item Brukes for å opprette pooler
825        \end{itemize}
826      \item \texttt{zpool destroy}
827        \begin{itemize}%[<+->]
828        \item Brukes for å ødelegge pooler
829        \end{itemize}
830      \item \texttt{zpool detach}
831        \begin{itemize}%[<+->]
832        \item Brukes for å fjerne en harddisk\slash partisjon fra en
833          vdev-gruppe
834        \end{itemize}
835      \item \texttt{zpool export}
836        \begin{itemize}%[<+->]
837        \item Brukes for å eksportere en pool, for senere import i samme
838          eller et annet system
839        \end{itemize}
840      \item \texttt{zpool get}
841        \begin{itemize}%[<+->]
842        \item Brukes for å vise verdien til alle eller utvalgte
843          \texttt{zpool}-egenskaper
844        \end{itemize}
845      \item \texttt{zpool history}
846        \begin{itemize}%[<+->]
847        \item Brukes for å vise historikken til poolen
848        \end{itemize}
849      \item \texttt{zpool import}
850        \begin{itemize}%[<+->]
851        \item Brukes for å importere en pool eller å vise en liste over
852          pooler som kan importeres
853        \end{itemize}
854      \item \texttt{zpool iostat}
855        \begin{itemize}%[<+->]
856        \item Brukes for å vise I/O-statistikk i sann tid
857        \end{itemize}
858      \item \texttt{zpool labelclear}
859        \begin{itemize}%[<+->]
860        \item Brukes for å fjerne alle spor av ZFS' disklabels
861        \end{itemize}
862      \item \texttt{zpool list}
863        \begin{itemize}%[<+->]
864        \item Brukes for å liste opp importerte pooler
865        \end{itemize}
866      \item \texttt{zpool offline}
867        \begin{itemize}%[<+->]
868        \item Brukes for å deaktivere en harddisk\slash partisjon
869        \end{itemize}
870      \item \texttt{zpool online}
871        \begin{itemize}%[<+->]
872        \item Brukes for (re)aktivere en harddisk\slash partisjon
873        \end{itemize}
874      \item \texttt{zpool reguid}
875        \begin{itemize}%[<+->]
876        \item Brukes for å tildele en ny, tilfeldig GUID til en bestemt
877          pool
878        \end{itemize}
879      \item \texttt{zpool remove}
880        \begin{itemize}%[<+->]
881        \item Brukes for å fjerne en harddisk\slash partisjon
882        \end{itemize}
883      \item \texttt{zpool reopen}
884        \begin{itemize}%[<+->]
885        \item Brukes for \dots
886        \end{itemize}
887      \item \texttt{zpool replace}
888        \begin{itemize}%[<+->]
889        \item Brukes for å fortelle ZFS at en harddisk\slash partisjon har
890          blitt skiftet ut
891        \end{itemize}
892      \item \texttt{zpool scrub}
893        \begin{itemize}%[<+->]
894        \item Brukes for å lese gjennom alt aktivt innhold, og sjekke
895          samsvaret mellom lagret data og lagrete sjekksummer
896        \end{itemize}
897      \item \texttt{zpool set}
898        \begin{itemize}%[<+->]
899        \item Brukes for å endre \texttt{zpool}-egenskapene
900        \end{itemize}
901      \item \texttt{zpool split}
902        \begin{itemize}%[<+->]
903        \item Brukes for å skille et speilmedlem fra resten av gruppa
904        \end{itemize}
905      \item \texttt{zpool status}
906        \begin{itemize}%[<+->]
907        \item Brukes for å vise status til poolen, dens medlemmer og deres
908          status, og telleverkene for lese-, skrive og sjekksumfeil
909        \end{itemize}
910      \item \texttt{zpool upgrade}
911        \begin{itemize}%[<+->]
912        \item Brukes for å oppgradere poolene til nye formater, vise
913          hvilke pooler som er utdaterte, og hvilke versjoner som er
914          tilgjengelig i systemet
915        \end{itemize}
916      \end{itemize}
917    \end{frame}
918    
919    \subsection{\texttt{zfs}}
920    \begin{frame}[allowframebreaks]
921      \frametitle{Administrasjon av ZFS}
922      \framesubtitle{\texttt{zfs}-kommandoer}
923      %\pause
924      \begin{itemize}%[<+->]
925      \item \texttt{zfs allow}
926        \begin{itemize}%[<+->]
927        \item
928        \end{itemize}
929      \item \texttt{zfs bookmark}
930        \begin{itemize}%[<+->]
931        \item
932        \end{itemize}
933      \item \texttt{zfs clone}
934        \begin{itemize}%[<+->]
935        \item
936        \end{itemize}
937      \item \texttt{zfs create}
938        \begin{itemize}%[<+->]
939        \item
940        \end{itemize}
941      \item \texttt{zfs destroy}
942        \begin{itemize}%[<+->]
943        \item
944        \end{itemize}
945      \item \texttt{zfs diff}
946        \begin{itemize}%[<+->]
947        \item
948        \end{itemize}
949      \item \texttt{zfs get}
950        \begin{itemize}%[<+->]
951        \item
952        \end{itemize}
953      \item \texttt{zfs groupspace}
954        \begin{itemize}%[<+->]
955        \item
956        \end{itemize}
957      \item \texttt{zfs holds}
958        \begin{itemize}%[<+->]
959        \item
960        \end{itemize}
961      \item \texttt{zfs hold}
962        \begin{itemize}%[<+->]
963        \item
964        \end{itemize}
965      \item \texttt{zfs inherit}
966        \begin{itemize}%[<+->]
967        \item
968        \end{itemize}
969      \item \texttt{zfs jail}
970        \begin{itemize}%[<+->]
971        \item
972        \end{itemize}
973      \item \texttt{zfs list}
974        \begin{itemize}%[<+->]
975        \item
976        \end{itemize}
977      \item \texttt{zfs mount}
978        \begin{itemize}%[<+->]
979        \item
980        \end{itemize}
981      \item \texttt{zfs promote}
982        \begin{itemize}%[<+->]
983        \item
984        \end{itemize}
985      \item \texttt{zfs receive}
986        \begin{itemize}%[<+->]
987        \item
988        \end{itemize}
989      \item \texttt{zfs release}
990        \begin{itemize}%[<+->]
991        \item
992        \end{itemize}
993      \item \texttt{zfs rename}
994        \begin{itemize}%[<+->]
995        \item
996        \end{itemize}
997      \item \texttt{zfs rollback}
998        \begin{itemize}%[<+->]
999        \item
1000        \end{itemize}
1001      \item \texttt{zfs send}
1002        \begin{itemize}%[<+->]
1003        \item
1004        \end{itemize}
1005      \item \texttt{zfs set}
1006        \begin{itemize}%[<+->]
1007        \item
1008        \end{itemize}
1009      \item \texttt{zfs share}
1010        \begin{itemize}%[<+->]
1011        \item
1012        \end{itemize}
1013      \item \texttt{zfs snapshot}
1014        \begin{itemize}%[<+->]
1015        \item
1016        \end{itemize}
1017      \item \texttt{zfs unallow}
1018        \begin{itemize}%[<+->]
1019        \item
1020        \end{itemize}
1021      \item \texttt{zfs unjail}
1022        \begin{itemize}%[<+->]
1023        \item
1024        \end{itemize}
1025      \item \texttt{zfs unmount}
1026        \begin{itemize}%[<+->]
1027        \item
1028        \end{itemize}
1029      \item \texttt{zfs unshare}
1030        \begin{itemize}%[<+->]
1031        \item
1032        \end{itemize}
1033      \item \texttt{zfs upgrade}
1034        \begin{itemize}%[<+->]
1035        \item
1036        \end{itemize}
1037      \item \texttt{zfs userspace}
1038        \begin{itemize}%[<+->]
1039        \item
1040        \end{itemize}
1041      \end{itemize}
1042    \end{frame}
1043    
1044  \section{Oppretting av pooler}  \section{Oppretting av pooler}
1045  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
1046    \frametitle{Oppretting av pooler}    \frametitle{Oppretting av pooler}
1047    \pause    \pause
1048    \begin{itemize}[<+->]    \begin{itemize}[<+->]
1049    \item \texttt{zpool create [\textit{opsjoner}]    \item \texttt{zpool create [\textit{opsjoner}]
1050        \textit{navn-på-pool\/} [\textit{organiseringstype}]        \textit{navn-på-pool\/} [\textit{organiseringstype}]
1051        \textit{ingredienser\/} [\textit{organiseringstype        \textit{ingredienser\/} [\textit{organiseringstype
1052          ingredienser}] ...}          ingredienser}] ...}
1053    \item Unngå å plassere mer enn 9 enheter i hver vdev    \item Unngå å plassere mer enn 9 enheter i hver vdev
1054    \item I stedet for å stripe en pool over 20 harddisker, vurdér å    \item I stedet for å stripe en pool over 20 harddisker, vurdér å
1055      speile to og to harddisker i 10 grupper      speile to og to harddisker i 10 grupper
1056    \end{itemize}    \end{itemize}
1057  \end{frame}  \end{frame}
1058    
1059  \subsection{Enkle pool-eksempler}  \subsection{Enkle pool-eksempler}
1060  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
1061    \frametitle{Oppretting av pooler}    \frametitle{Oppretting av pooler}
1062    \framesubtitle{Enkle pool-eksempler}    \framesubtitle{Enkle pool-eksempler}
1063    \pause    \pause
1064    \begin{itemize}[<+->]    \begin{itemize}[<+->]
1065    \item Singledisk:    \item Singledisk:
1066    \item \texttt{zpool create rpool da0}    \item \texttt{zpool create rpool da0}
1067    \item RAID~0 over to disker:    \item RAID~0 over to disker:
1068    \item \texttt{zpool create rpool da0 da1}    \item \texttt{zpool create rpool da0 da1}
1069    \item RAID~1 over to disker:    \item RAID~1 over to disker:
1070    \item \texttt{zpool create rpool \alert{mirror} da0 da1}    \item \texttt{zpool create rpool \alert{mirror} da0 da1}
1071    \item RAID~5 over tre disker:    \item RAID~5 over tre disker:
1072    \item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2}    \item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2}
1073    \item RAID~6 over seks disker:    \item RAID~6 over fire disker:
1074    \item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3 da4    \item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3}
1075        da5}    \item «RAID~7» over fem disker:
1076    \item «RAID~7» over ni disker:    \item \texttt{zpool create rpool \alert{raidz3} da0 da1 da2 da3 da4}
   \item \texttt{zpool create rpool \alert{raidz3} da0 da1 da2 da3 da4  
       da5 da6 da7 da8}  
1077    \end{itemize}    \end{itemize}
1078  \end{frame}  \end{frame}
1079    
1080  \subsection{Avanserte pool-eksempler}  \subsection{Avanserte pool-eksempler}
1081  \begin{frame}%[allowframebreaks]  \begin{frame}%[allowframebreaks]
1082    \frametitle{Oppretting av pooler}    \frametitle{Oppretting av pooler}
1083    \framesubtitle{Avanserte pool-eksempler}    \framesubtitle{Avanserte pool-eksempler}
1084    \pause    \pause
1085    \begin{itemize}[<+->]    \begin{itemize}[<+->]
1086    \item RAID~\only<1-3|handout:0>{?}\only<4->{1+0 (3 vdevs)}:    \item RAID~\only<1-3|handout:0>{?}\only<4->{1+0 (3 vdevs á 2 disker)}:
1087    \item \texttt{zpool create rpool \alert{mirror} da0 da1    \item \texttt{zpool create rpool \alert{mirror} da0 da1
1088        \alert{mirror} da2 da3 \alert{mirror} da4 da5}        \alert{mirror} da2 da3 \alert{mirror} da4 da5}
1089    \pause    \pause
1090    \item RAID~\only<5-6|handout:0>{?}\only<7->{5+0 (2 vdevs)}:    \item RAID~\only<5-6|handout:0>{?}\only<7->{5+0 (2 vdevs á 3 disker)}:
1091    \item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2    \item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2
1092        \alert{raidz1} da3 da4 da5}        \alert{raidz1} da3 da4 da5}
1093    \pause    \pause
1094    \item RAID~\only<8-9|handout:0>{?}\only<10->{6+0 (2 vdevs)}:    \item RAID~\only<8-9|handout:0>{?}\only<10->{6+0 (2 vdevs á 4 disker)}:
1095    \item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3 \alert{raidz2} da4 da5 da6 da7}    \item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3 \alert{raidz2} da4 da5 da6 da7}
1096    \pause    \pause
1097    \item RAID~\only<11-12|handout:0>{?}\only<13->{1+5+0 (2 vdevs)}:    \item RAID~\only<11-12|handout:0>{?}\only<13->{1+5+0 (2 vdevs, 2 og 3 disker)}:
1098    \item \texttt{zpool create rpool \alert{mirror} da0 da1 \alert{raidz1} da2 da3 da4}    \item \texttt{zpool create rpool \alert{mirror} da0 da1 \alert{raidz1} da2 da3 da4}
1099    \end{itemize}    \end{itemize}
1100    \end{frame}
1101    
1102    \section{\texttt{zpool}-egenskaper}
1103    \begin{frame}[allowframebreaks]
1104      \frametitle{\texttt{zpool}-egenskaper}
1105      %\pause
1106      \begin{itemize}%[<+->]
1107      \item \texttt{size}
1108      \item \texttt{capacity}
1109      \item \texttt{altroot}
1110      \item \texttt{health}
1111      \item \texttt{guid}
1112      \item \texttt{version}
1113      \item \texttt{bootfs}
1114      \item \texttt{delegation}
1115      \item \texttt{autoreplace}
1116      \item \texttt{cachefile}
1117      \item \texttt{failmode}
1118      \item \texttt{listsnapshots}
1119      \item \texttt{autoexpand}
1120      \item \texttt{dedupditto}
1121      \item \texttt{dedupratio}
1122      \item \texttt{free}
1123      \item \texttt{allocated}
1124      \item \texttt{readonly}
1125      \item \texttt{comment}
1126      \item \texttt{expandsize}
1127      \item \texttt{freeing}
1128      \item \texttt{feature@async\_destroy}
1129      \item \texttt{feature@empty\_bpobj}
1130      \item \texttt{feature@lz4\_compress}
1131      \item \texttt{feature@multi\_vdev\_crash\_dump}
1132      \item \texttt{feature@spacemap\_histogram}
1133      \item \texttt{feature@enabled\_txg}
1134      \item \texttt{feature@hole\_birth}
1135      \item \texttt{feature@extensible\_dataset}
1136      \item \texttt{feature@bookmarks}
1137      \end{itemize}
1138    \end{frame}
1139    
1140    \section{\texttt{zfs}-egenskaper}
1141    \begin{frame}[allowframebreaks]
1142      \frametitle{\texttt{zfs}-egenskaper}
1143      %\pause
1144      \begin{itemize}%[<+->]
1145      \item \texttt{type}
1146      \item \texttt{creation}
1147      \item \texttt{used}
1148      \item \texttt{available}
1149      \item \texttt{referenced}
1150      \item \texttt{compressratio}
1151      \item \texttt{mounted}
1152      \item \texttt{quota}
1153      \item \texttt{reservation}
1154      \item \texttt{recordsize}
1155      \item \texttt{mountpoint}
1156      \item \texttt{sharenfs}
1157      \item \texttt{checksum}
1158      \item \texttt{compression}
1159      \item \texttt{atime}
1160      \item \texttt{devices}
1161      \item \texttt{exec}
1162      \item \texttt{setuid}
1163      \item \texttt{readonly}
1164      \item \texttt{jailed}
1165      \item \texttt{snapdir}
1166      \item \texttt{aclmode}
1167      \item \texttt{aclinherit}
1168      \item \texttt{canmount}
1169      \item \texttt{xattr}
1170      \item \texttt{copies}
1171      \item \texttt{version}
1172      \item \texttt{utf8only}
1173      \item \texttt{normalization}
1174      \item \texttt{casesensitivity}
1175      \item \texttt{vscan}
1176      \item \texttt{nbmand}
1177      \item \texttt{sharesmb}
1178      \item \texttt{refquota}
1179      \item \texttt{refreservation}
1180      \item \texttt{primarycache}
1181      \item \texttt{secondarycache}
1182      \item \texttt{usedbysnapshots}
1183      \item \texttt{usedbydataset}
1184      \item \texttt{usedbychildren}
1185      \item \texttt{usedbyrefreservation}
1186      \item \texttt{logbias}
1187      \item \texttt{dedup}
1188      \item \texttt{mlslabel}
1189      \item \texttt{sync}
1190      \item \texttt{refcompressratio}
1191      \item \texttt{written}
1192      \item \texttt{logicalused}
1193      \item \texttt{logicalreferenced}
1194      \end{itemize}
1195    \end{frame}
1196    
1197    \part{Oppstartsmiljøer}
1198    
1199    \begin{frame}
1200      \partpage
1201    \end{frame}
1202    
1203    \section*{Oversikt over del~4: Oppstartsmiljøer}
1204    \begin{frame}%[allowframebreaks]
1205      \frametitle{Oversikt over del~4: Oppstartsmiljøer}
1206        \tableofcontents%[pausesections]
1207  \end{frame}  \end{frame}
1208    
1209  \end{document}  \end{document}
1210    
1211  Local Variables:  Local Variables:
1212  TeX-PDF-mode:t  TeX-PDF-mode:t
1213  End:  End:


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

svn@ximalas.info
ViewVC Help
Powered by ViewVC 1.3.0-dev