119 |
\end{frame} |
\end{frame} |
120 |
|
|
121 |
\section*{Oversikt over hele foredraget} |
\section*{Oversikt over hele foredraget} |
122 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
123 |
\frametitle{Oversikt over hele foredraget} |
\frametitle{Oversikt over hele foredraget} |
124 |
\framesubtitle{Del 1: ZFS?} |
\framesubtitle{Del 1: ZFS?} |
125 |
\tableofcontents[part=1]%[pausesections] |
\tableofcontents[part=1]%[pausesections] |
126 |
\end{frame} |
\end{frame} |
127 |
|
|
128 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
129 |
\frametitle{Oversikt over hele foredraget} |
\frametitle{Oversikt over hele foredraget} |
130 |
\framesubtitle{Del 2: ZFS!} |
\framesubtitle{Del 2: ZFS!} |
131 |
\tableofcontents[part=2]%[pausesections] |
\tableofcontents[part=2]%[pausesections] |
132 |
\end{frame} |
\end{frame} |
133 |
|
|
134 |
\part{Del 1: ZFS?} |
\part{ZFS?} |
135 |
|
|
136 |
\begin{frame} |
\begin{frame} |
137 |
\partpage |
\partpage |
138 |
\end{frame} |
\end{frame} |
139 |
|
|
140 |
\section*{Oversikt over del~1: ZFS?} |
\section*{Oversikt over del~1: ZFS?} |
141 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
142 |
\frametitle{Oversikt over del~1: ZFS?} |
\frametitle{Oversikt over del~1: ZFS?} |
143 |
\tableofcontents%[pausesections] |
\tableofcontents%[pausesections] |
144 |
\end{frame} |
\end{frame} |
145 |
|
|
146 |
\section{Hva er ZFS?} |
\section{Hva er ZFS?} |
147 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
148 |
\frametitle{Hva er ZFS?} |
\frametitle{Hva er ZFS?} |
149 |
\pause |
\pause |
150 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
151 |
\item ZFS er både |
\item ZFS er |
152 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
153 |
\item Logisk volumhåndterer\hfill(Logical Volume Manager, LVM) |
\item Logisk volumhåndterer\hfill(Logical Volume Manager, LVM) |
154 |
\item Filsystem med snapshots og kloner |
\item Filsystem med bl.a.\ snapshots, kloner, kompresjon og deduplisering |
155 |
|
\item Tilbyr også «zvolumer» som lagringsenheter for andre |
156 |
|
filsystemer |
157 |
\end{enumerate} |
\end{enumerate} |
158 |
|
\item ZFS tar dataintegritet på alvor, deretter brukervennlighet; hastighet kommer i senere rekker |
159 |
\item Enklere organisering enn «Storage Spaces» i Microsoft Windows |
\item Enklere organisering enn «Storage Spaces» i Microsoft Windows |
160 |
Server 2012 |
Server 2012 |
161 |
\item Lagringen organiseres i pooler som kan bestå av |
\item Lagringen organiseres i pooler som kan bestå av |
162 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
163 |
\item Enkeltdisker\slash partisjoner |
\item Enkeltdisker\slash partisjoner |
164 |
\item Striping (RAID~0) mellom to eller flere disker\slash partisjoner |
\item Striping (RAID~0) mellom to eller flere disker\slash partisjoner |
165 |
\item Speiling (RAID~1) mellom to eller flere disker\slash partisjoner |
\item Speiling (RAID~1) mellom to eller flere disker\slash partisjoner |
166 |
\item \texttt{raidz1} (RAID~5) over tre eller flere disker\slash |
\item \texttt{raidz1} (RAID~5, enkel paritet) over tre eller flere |
167 |
partisjoner |
disker\slash partisjoner |
168 |
\item \texttt{raidz2} (RAID~6) over seks eller flere disker\slash |
\item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller |
169 |
partisjoner |
flere disker\slash partisjoner |
170 |
\item \texttt{raidz3} («RAID~7») over ni eller flere disker\slash |
\item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller |
171 |
partisjoner |
flere disker\slash partisjoner |
172 |
\end{enumerate} |
\end{enumerate} |
173 |
\item Visse kombinasjoner av det overstående er også mulig |
\item Visse kombinasjoner av det overstående er også mulig |
174 |
|
\item Filsystemet blir opprettet samtidig med poolen |
175 |
\end{itemize} |
\end{itemize} |
176 |
\end{frame} |
\end{frame} |
177 |
|
|
178 |
|
\section{Et eksempel på en pool} |
179 |
|
\begin{frame}[fragile]%[allowframebreaks] |
180 |
|
\frametitle{Et eksempel på en pool} |
181 |
|
\pause |
182 |
|
\begin{Verbatim}[commandchars=\\\{\},fontsize=\tiny] |
183 |
|
trond@enterprise:~>\Alert{3|handout:0}{zpool status enterprise_zdata} |
184 |
|
pool: \Alert{4,7|handout:0}{enterprise_zdata} |
185 |
|
state: \Alert{7|handout:0}{ONLINE} |
186 |
|
scan: \Alert{10|handout:0}{scrub repaired 0 in 2h15m with 0 errors on Wed Jan 1 07:18:51 2014} |
187 |
|
config: |
188 |
|
|
189 |
|
NAME STATE READ WRITE CKSUM |
190 |
|
\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} |
191 |
|
\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} |
192 |
|
\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} |
193 |
|
\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} |
194 |
|
\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} |
195 |
|
|
196 |
|
\Alert{11|handout:0}{errors: No known data errors} |
197 |
|
trond@enterprise:~>\Alert{11|handout:0}{zfs get creation enterprise_zdata} |
198 |
|
NAME PROPERTY VALUE SOURCE |
199 |
|
enterprise_zdata creation \Alert{11|handout:0}{Sun Jan 8 14:14 2012} - |
200 |
|
\end{Verbatim} |
201 |
|
\pause |
202 |
|
\begin{multicols}{2} |
203 |
|
\begin{itemize}[<+->] |
204 |
|
\item Kommando for status%: \texttt{zpool status enterprise\_zdata} |
205 |
|
\item Poolen heter \texttt{enterprise\_zdata} |
206 |
|
\item Består av én «vdev» («virtual device»), \texttt{raidz1}, striping med enkel paritet |
207 |
|
\item Medlemmene er de tre harddiskene \texttt{ada2}, \texttt{ada3} og \texttt{ada4} |
208 |
|
\item Poolen har det bare bra og er \texttt{ONLINE} |
209 |
|
\item Det samme gjelder for vdeven og dens tre medlemmer |
210 |
|
\item Null i telleverkene |
211 |
|
\item Siste skrubbing avsluttet 1.~januar 2014, kl.~07:18:15%, etter omlag 2 timer og 15 minutter med gjennomlesing |
212 |
|
\item Ingen feil registrert siden 8.~januar 2012, kl.~14:14 |
213 |
|
\end{itemize} |
214 |
|
\end{multicols} |
215 |
|
\end{frame} |
216 |
|
|
217 |
\section{Hva er grensene til ZFS?} |
\section{Hva er grensene til ZFS?} |
218 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
219 |
\frametitle{Hva er grensene til ZFS?} |
\frametitle{Hva er grensene til ZFS?} |
220 |
\pause |
\pause |
221 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
222 |
\item ZFS er stort sett grenseløs |
\item ZFS er stort sett grenseløs |
223 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
224 |
\item 128-bit diskadresser |
\item 128-bit diskadresser |
225 |
\item Maks.\ $2^{48}$ poster i hver katalog |
\item Maks.\ \alert<9->{$2^{48}$} poster i hver katalog |
226 |
\item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil |
\item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil |
227 |
\item Maks.\ $2^{64}$ bytes for hvert attributt |
\item Maks.\ $2^{64}$ bytes for hvert attributt |
228 |
\item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool |
\item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool |
229 |
\item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset |
\item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset |
230 |
til $2^{48}$ attributter) |
til \alert<9->{$2^{48}$} attributter) |
231 |
|
\pause |
232 |
\item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool |
\item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool |
233 |
\item Maks.\ $2^{64}$ pooler i et og samme system |
\item Maks.\ $2^{64}$ pooler i et og samme system |
234 |
\item Maks.\ $2^{64}$ filsystemer i samme pool |
\item Maks.\ $2^{64}$ filsystemer i samme pool |
235 |
|
\item Ref.: \texttt{\url{http://en.wikipedia.org/wiki/ZFS}} |
236 |
\end{itemize} |
\end{itemize} |
237 |
\item Vis meg det systemet som klarer å sprenge noen av disse |
\item Vis meg det systemet som klarer å sprenge noen av disse |
238 |
grensene! |
grensene! |
239 |
\end{itemize} |
\end{itemize} |
240 |
\end{frame} |
\end{frame} |
241 |
|
|
242 |
\section{Hvordan virker ZFS?} |
\section{Hvordan virker ZFS?} |
243 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
244 |
\frametitle{Hvordan virker ZFS?} |
\frametitle{Hvordan virker ZFS?} |
245 |
\pause |
\pause |
246 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
247 |
\item ZFS unngår RAID~5-skrivehullet til typiske RAID-kontrollere |
\item ZFS unngår RAID~5-skrivehullet til eldre RAID-kontrollere som |
248 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
249 |
\item Skriver nye data til de samme datablokkene som tidligere |
\item Skriver nye data til de samme datablokkene som tidligere |
250 |
\item Regner ut ny paritet |
\item Leser gamle, urørte data fra de samme datablokkene |
251 |
|
\item Regner ut ny paritet for datablokkene |
252 |
\item Skriver oppdatert paritet til de samme paritetsblokkene som |
\item Skriver oppdatert paritet til de samme paritetsblokkene som |
253 |
tidligere |
tidligere |
254 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
255 |
\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 |
256 |
|
strømbrudd mellom punktene 1 og 4? |
257 |
\item Har diskkontrolleren batteribeskyttet minne? |
\item Har diskkontrolleren batteribeskyttet minne? |
258 |
\end{itemize} |
\end{itemize} |
259 |
\end{enumerate} |
\end{enumerate} |
260 |
\item ZFS skriver fulle striper; data og paritet samtidig |
\item ZFS skriver komplette striper; data og paritet samtidig |
261 |
\item ZFS bruker «copy-on-write»; skriver nye data til ledige |
\item ZFS bruker «copy-on-write»; skriver nye data til ledige |
262 |
diskblokker |
diskblokker |
263 |
\item Endringer som hører sammen, samles i transaksjonsgrupper |
\item Endringer som hører sammen, samles i transaksjonsgrupper («txg») |
264 |
\item Sjekksummer brukes for alt som blir lagret |
\item Sjekksummer brukes for alt som blir lagret |
265 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
266 |
\item ZFS kontrollerer at leste data er de samme som ble skrevet |
\item ZFS kontrollerer at leste data er de samme som ble skrevet |
267 |
\item Oppdages avvik, leter ZFS etter alternativer |
\item Oppdages avvik, leter ZFS etter alternativer |
268 |
\item Finnes alternativer, enten speilkopier eller paritet |
\item Finnes alternativer, enten speilkopier eller paritet, så |
269 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
270 |
\item Leveres korrekte data til applikasjonen, og |
\item Leveres korrekte data til applikasjonen, og |
271 |
\item avviket korrigeres automatisk på den syke disken |
\item Avviket korrigeres automatisk på den syke disken («resilver») |
272 |
\end{enumerate} |
\end{enumerate} |
273 |
\item Finnes ingen alternativer, så må filene restaureres fra |
\item Finnes ingen alternativer, så må filene restaureres fra |
274 |
backup |
backup |
275 |
\end{itemize} |
\end{itemize} |
276 |
\end{itemize} |
\end{itemize} |
277 |
\end{frame} |
\end{frame} |
278 |
|
|
279 |
\section{ZFS og RAID-kontrollere} |
\section{ZFS og RAID-kontrollere} |
280 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
281 |
\frametitle{ZFS og RAID-kontrollere} |
\frametitle{ZFS og RAID-kontrollere} |
282 |
\pause |
\pause |
283 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
284 |
\item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere! |
\item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere! |
285 |
\item I verste fall kan RAID-kontrolleren motarbeide ZFS |
\item RAID-kontrolleren kan i verste fall motarbeide ZFS |
286 |
\item Sett kontrolleren i JBOD-modus, eller |
\begin{itemize}[<+->] |
287 |
\item la hver disk være sitt enslige RAID~0-volum |
\item RAID-kontrolleren kan finne på å |
288 |
|
\begin{itemize}[<+->] |
289 |
|
\item Stokke om på skriverekkefølgen |
290 |
|
\item Utsette skriving av nye data |
291 |
|
\end{itemize} |
292 |
|
\item Har du skifta batteriet i RAID-kontrolleren? |
293 |
|
\end{itemize} |
294 |
|
\item Sett RAID-kontrolleren i JBOD-modus, eller |
295 |
|
\item La hver harddisk være sitt enslige RAID~0-volum |
296 |
\end{itemize} |
\end{itemize} |
297 |
\end{frame} |
\end{frame} |
298 |
|
|
299 |
\section{Hvor kommer ZFS fra?} |
\section{Hvor kommer ZFS fra?} |
300 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
301 |
\frametitle{Hvor kommer ZFS fra?} |
\frametitle{Hvor kommer ZFS fra?} |
302 |
\pause |
\pause |
303 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
304 |
\item Utviklet av Jeff Bonwick og kollegaer ved Sun Microsystems, |
\item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer |
305 |
Inc. |
ved Sun Microsystems, Inc. |
306 |
\item Arbeidet begynte i 2001 |
\item Arbeidet begynte i 2001 og første prototyp ble ferdig 31.\ |
307 |
|
oktober 2001 (halloween) |
308 |
\item ZFS $\to$ Solaris, oktober 2005 |
\item ZFS $\to$ Solaris, oktober 2005 |
309 |
\item ZFS er lisensiert etter «Common Development and Distribution |
\item ZFS er lisensiert etter «Common Development and Distribution |
310 |
License» (CDDL) |
License» (CDDL) |
311 |
\item ZFS $\to$ OpenSolaris, november 2005 |
\item ZFS $\to$ OpenSolaris, november 2005 |
312 |
\item ZFS $\to$ FreeBSD, april 2007 |
\item ZFS $\to$ FreeBSD, april 2007 |
313 |
\item Linux' GPL~v2-lisens kompliserer import av ZFS |
\item Linux' GPL~v2-lisens kompliserer import av ZFS |
314 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
315 |
\item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet |
\item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet |
316 |
\item Brian Behlendorf ved Lawrence Livermore National Laboratory |
\item Brian Behlendorf ved Lawrence Livermore National Laboratory |
317 |
(LLNL) har laget «Native ZFS for\slash on Linux» |
(LLNL) har laget «Native ZFS for\slash on Linux» |
318 |
\end{itemize} |
\end{itemize} |
319 |
\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 |
320 |
vært tilbaketrukket siden oktober 2009 |
vært tilbaketrukket siden oktober 2009 |
321 |
|
\item Noen Mac OS~X-entusiaster har laget sine egne ZFS-varianter |
322 |
\item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD, |
\item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD, |
323 |
GNU/kFreeBSD og NetBSD |
GNU/kFreeBSD og NetBSD |
324 |
\end{itemize} |
\end{itemize} |
325 |
\end{frame} |
\end{frame} |
326 |
|
|
327 |
|
\section{Versjonsnummer i ZFS} |
328 |
|
\begin{frame}%[allowframebreaks] |
329 |
|
\frametitle{Versjonsnummer i ZFS} |
330 |
|
\pause |
331 |
|
\begin{itemize}[<+->] |
332 |
|
\item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er tilgjengelig |
333 |
|
gjennom OpenSolaris og illumos |
334 |
|
\item Pool-versjonene 29-34 og filsystem-versjon 6 er bare tilgjengelig |
335 |
|
i Solaris 11 (Express) |
336 |
|
\item OpenSolaris har gått videre til feature-flags og pool-versjon |
337 |
|
1000 |
338 |
|
\item illumos har gått videre til feature-flags og pool-versjon 5000 |
339 |
|
\item De fleste OS-er utenom Solaris, samarbeider om |
340 |
|
videreutviklingen av illumos-varianten |
341 |
|
\item Listene på de neste slidene er kopiert fra |
342 |
|
\texttt{\url{http://en.wikipedia.org/wiki/ZFS}} |
343 |
|
\end{itemize} |
344 |
|
\end{frame} |
345 |
|
|
346 |
|
\subsection{Pool-versjonsnummer} |
347 |
|
\begin{frame}[allowframebreaks] |
348 |
|
\frametitle{Versjonsnummer i ZFS} |
349 |
|
\framesubtitle{Pool-versjonsnummer} |
350 |
|
%\pause |
351 |
|
\begin{enumerate}%[<+->] |
352 |
|
\item First release |
353 |
|
\item Ditto Blocks |
354 |
|
\item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved RAID-Z |
355 |
|
accounting |
356 |
|
\item zpool history |
357 |
|
\item gzip compression for ZFS datasets |
358 |
|
\item "\texttt{bootfs}"\ pool property |
359 |
|
\item ZIL: adds the capability to specify a separate Intent Log |
360 |
|
device or devices |
361 |
|
\item ability to delegate \texttt{zfs}(1M) administrative tasks to ordinary |
362 |
|
users |
363 |
|
\item CIFS server support, dataset quotas |
364 |
|
\item Devices can be added to a storage pool as "cache devices" |
365 |
|
\item Improved \texttt{zpool scrub}/resilver performance |
366 |
|
\item Snapshot properties |
367 |
|
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren}, |
368 |
|
\texttt{usedbyrefreservation}, and \texttt{usedbydataset} |
369 |
|
\item passthrough-x aclinherit property support |
370 |
|
\item Properties: \texttt{userquota}, \texttt{groupquota}, \texttt{userused} and \texttt{groupused}; |
371 |
|
also required FS v4 |
372 |
|
\item STMF property support |
373 |
|
\item triple-parity RAID-Z |
374 |
|
\item ZFS snapshot holds |
375 |
|
\item ZFS log device removal |
376 |
|
\item zle compression algorithm that is needed to support the ZFS |
377 |
|
deduplication properties in ZFS pool version 21, which were |
378 |
|
released concurrently |
379 |
|
\item Deduplication |
380 |
|
\item \texttt{zfs receive} properties |
381 |
|
\item slim ZIL |
382 |
|
\item System attributes. Symlinks now their own object type. Also |
383 |
|
requires FS v5. |
384 |
|
\item Improved pool scrubbing and resilvering statistics |
385 |
|
\item Improved snapshot deletion performance |
386 |
|
\item Improved snapshot creation performance (particularly recursive |
387 |
|
snapshots) |
388 |
|
\item Multiple virtual device replacements |
389 |
|
\item RAID-Z/mirror hybrid allocator |
390 |
|
\item ZFS encryption |
391 |
|
\item Improved '\texttt{zfs list}' performance |
392 |
|
\item One MB block support |
393 |
|
\item Improved share support |
394 |
|
\item Sharing with inheritance |
395 |
|
\end{enumerate} |
396 |
|
\end{frame} |
397 |
|
|
398 |
|
\subsection{Filsystem-versjonsnummer} |
399 |
|
\begin{frame}[allowframebreaks] |
400 |
|
\frametitle{Versjonsnummer i ZFS} |
401 |
|
\framesubtitle{Filsystem-versjonsnummer} |
402 |
|
%\pause |
403 |
|
\begin{enumerate}%[<+->] |
404 |
|
\item First release |
405 |
|
\item Enhanced directory entries. In particular, directory entries |
406 |
|
now store the object type. For example, file, directory, named |
407 |
|
pipe, and so on, in addition to the object number. |
408 |
|
\item Support for sharing ZFS file systems over SMB. Case |
409 |
|
insensitivity support. System attribute support. Integrated |
410 |
|
anti-virus support. |
411 |
|
\item Properties: userquota, groupquota, userused and groupused |
412 |
|
\item System attributes; symlinks now their own object type |
413 |
|
\item Multilevel file system support |
414 |
|
\end{enumerate} |
415 |
|
\end{frame} |
416 |
|
|
417 |
\section{Fremtiden for ZFS?} |
\section{Fremtiden for ZFS?} |
418 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
419 |
\frametitle{Fremtiden for ZFS?} |
\frametitle{Fremtiden for ZFS?} |
420 |
\pause |
\pause |
421 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
422 |
\item Oracle kjøpte opp Sun Microsystems, 27.~januar 2010 |
\item Oracle kjøpte opp Sun Microsystems, Inc., 27.~januar 2010 |
423 |
\item Oracle ville gjøre OpenSolaris om til «ClosedSolaris» |
\item Oracle gjorde OpenSolaris om til «ClosedSolaris» i mai 2010 |
424 |
\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 |
425 |
avgjørelsen |
etter denne avgjørelsen ifølge Bryan Cantrill |
426 |
\item ZFS lever videre hos |
\item ZFS lever videre hos |
427 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
428 |
\item Oracle |
\item Oracle Solaris |
429 |
\item illumos |
\item illumos\slash OpenZFS |
430 |
\item OpenZFS |
\begin{itemize}[<+->] |
431 |
\item FreeBSD |
\item OpenIndiana |
432 |
\item Delphix |
\item FreeBSD |
433 |
\item iXsystems |
\item Delphix |
434 |
\item Joyent |
\item iXsystems |
435 |
\item NetBSD |
\item Joyent |
436 |
\item Nexenta |
\item NetBSD |
437 |
|
\item Nexenta |
438 |
|
\item Linux |
439 |
|
\end{itemize} |
440 |
\end{itemize} |
\end{itemize} |
441 |
\end{itemize} |
\end{itemize} |
442 |
\end{frame} |
\end{frame} |
443 |
|
|
444 |
%\subsection{Underemne 1a} |
%\subsection{Underemne 1a} |
445 |
%\begin{frame}%[allowframebreaks] |
%\begin{frame}%[allowframebreaks] |
446 |
% \frametitle{Emne 1} |
% \frametitle{Emne 1} |
447 |
% \framesubtitle{Underemne 1a} |
% \framesubtitle{Underemne 1a} |
448 |
% \pause |
% \pause |
449 |
% \begin{itemize}[<+->] |
% \begin{itemize}[<+->] |
450 |
% \item Bla, bla, bla |
% \item Bla, bla, bla |
451 |
% \end{itemize} |
% \end{itemize} |
452 |
%\end{frame} |
%\end{frame} |
453 |
|
|
454 |
\part{Del 2: ZFS!} |
\part{ZFS!} |
455 |
|
|
456 |
\begin{frame} |
\begin{frame} |
457 |
\partpage |
\partpage |
458 |
\end{frame} |
\end{frame} |
459 |
|
|
460 |
\section*{Oversikt over del~2: ZFS!} |
\section*{Oversikt over del~2: ZFS!} |
461 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
462 |
\frametitle{Oversikt over del~2: ZFS!} |
\frametitle{Oversikt over del~2: ZFS!} |
463 |
\tableofcontents%[pausesections] |
\tableofcontents%[pausesections] |
464 |
\end{frame} |
\end{frame} |
465 |
|
|
466 |
\section{Administrasjon av ZFS} |
\section{Administrasjon av ZFS} |
467 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
468 |
\frametitle{Administrasjon av ZFS} |
\frametitle{Administrasjon av ZFS} |
469 |
\pause |
\pause |
470 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
471 |
\item To kommandoer (med underkommandoer): |
\item To kommandoer (med underkommandoer) |
472 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
473 |
\item \texttt{zpool} |
\item \texttt{zpool} |
474 |
|
\begin{itemize}[<+->] |
475 |
|
\item Administrasjon av lagringspoolene |
476 |
|
\end{itemize} |
477 |
\item \texttt{zfs} |
\item \texttt{zfs} |
478 |
|
\begin{itemize}[<+->] |
479 |
|
\item Administrasjon av filsystemer, zvolumer, snapshots, kloner, m.m. |
480 |
|
\end{itemize} |
481 |
\end{enumerate} |
\end{enumerate} |
482 |
\item Det finnes en tredje kommando for de nysgjerrige: \texttt{zdb} |
\item Det finnes en tredje kommando: \texttt{zdb} |
483 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
484 |
\item Brukes for å avlese indre ZFS-detaljer |
\item Brukes for å avlese de indre detaljene til ZFS |
485 |
|
\item Bør bare brukes av eksperter \dots |
486 |
|
\item \dots\ eller av de nysgjerrige |
487 |
\end{itemize} |
\end{itemize} |
488 |
\end{itemize} |
\end{itemize} |
489 |
\end{frame} |
\end{frame} |
490 |
|
|
491 |
|
\subsection{\texttt{zpool}} |
492 |
|
\begin{frame}[allowframebreaks] |
493 |
|
\frametitle{Administrasjon av ZFS} |
494 |
|
\framesubtitle{\texttt{zpool}-kommandoer} |
495 |
|
%\pause |
496 |
|
\begin{itemize}%[<+->] |
497 |
|
\item \texttt{zpool add} |
498 |
|
\begin{itemize}%[<+->] |
499 |
|
\item Brukes for å innføre en helt ny vdev-gruppe med harddisker\slash partisjoner |
500 |
|
\end{itemize} |
501 |
|
\item \texttt{zpool attach} |
502 |
|
\begin{itemize}%[<+->] |
503 |
|
\item Brukes for å tilføye en harddisk\slash partisjon til en eksisterende vdev-gruppe |
504 |
|
\end{itemize} |
505 |
|
\item \texttt{zpool clear} |
506 |
|
\begin{itemize}%[<+->] |
507 |
|
\item Brukes for å nullstille tellerne for lese-, skrive- og sjekksumfeil |
508 |
|
\end{itemize} |
509 |
|
\item \texttt{zpool create} |
510 |
|
\begin{itemize}%[<+->] |
511 |
|
\item Brukes for å opprette pooler |
512 |
|
\end{itemize} |
513 |
|
\item \texttt{zpool destroy} |
514 |
|
\begin{itemize}%[<+->] |
515 |
|
\item Brukes for å ødelegge pooler |
516 |
|
\end{itemize} |
517 |
|
\item \texttt{zpool detach} |
518 |
|
\begin{itemize}%[<+->] |
519 |
|
\item Brukes for å fjerne en harddisk\slash partisjon fra en vdev-gruppe |
520 |
|
\end{itemize} |
521 |
|
\item \texttt{zpool export} |
522 |
|
\begin{itemize}%[<+->] |
523 |
|
\item Brukes for å eksportere en pool, for senere import i samme eller et annet system |
524 |
|
\end{itemize} |
525 |
|
\item \texttt{zpool get} |
526 |
|
\begin{itemize}%[<+->] |
527 |
|
\item Brukes for å vise verdien til alle eller utvalgte \texttt{zpool}-egenskaper |
528 |
|
\end{itemize} |
529 |
|
\item \texttt{zpool history} |
530 |
|
\begin{itemize}%[<+->] |
531 |
|
\item Brukes for å vise historikken til poolen |
532 |
|
\end{itemize} |
533 |
|
\item \texttt{zpool import} |
534 |
|
\begin{itemize}%[<+->] |
535 |
|
\item Brukes for å importere en pool eller å vise en liste over pooler som kan importeres |
536 |
|
\end{itemize} |
537 |
|
\item \texttt{zpool iostat} |
538 |
|
\begin{itemize}%[<+->] |
539 |
|
\item Brukes for å vise I/O-statistikk i sann tid |
540 |
|
\end{itemize} |
541 |
|
\item \texttt{zpool labelclear} |
542 |
|
\begin{itemize}%[<+->] |
543 |
|
\item Brukes for å fjerne alle spor av ZFS' disklabels |
544 |
|
\end{itemize} |
545 |
|
\item \texttt{zpool list} |
546 |
|
\begin{itemize}%[<+->] |
547 |
|
\item Brukes for å liste opp importerte pooler |
548 |
|
\end{itemize} |
549 |
|
\item \texttt{zpool offline} |
550 |
|
\begin{itemize}%[<+->] |
551 |
|
\item Brukes for å deaktivere en harddisk\slash partisjon |
552 |
|
\end{itemize} |
553 |
|
\item \texttt{zpool online} |
554 |
|
\begin{itemize}%[<+->] |
555 |
|
\item Brukes for (re)aktivere en harddisk\slash partisjon |
556 |
|
\end{itemize} |
557 |
|
\item \texttt{zpool reguid} |
558 |
|
\begin{itemize}%[<+->] |
559 |
|
\item Brukes for å tildele en ny, tilfeldig GUID til en bestemt pool |
560 |
|
\end{itemize} |
561 |
|
\item \texttt{zpool remove} |
562 |
|
\begin{itemize}%[<+->] |
563 |
|
\item Brukes for å fjerne en harddisk\slash partisjon |
564 |
|
\end{itemize} |
565 |
|
\item \texttt{zpool reopen} |
566 |
|
\begin{itemize}%[<+->] |
567 |
|
\item Brukes for \dots |
568 |
|
\end{itemize} |
569 |
|
\item \texttt{zpool replace} |
570 |
|
\begin{itemize}%[<+->] |
571 |
|
\item Brukes for å fortelle ZFS at en harddisk\slash partisjon har blitt skiftet ut |
572 |
|
\end{itemize} |
573 |
|
\item \texttt{zpool scrub} |
574 |
|
\begin{itemize}%[<+->] |
575 |
|
\item Brukes for å lese gjennom alt aktivt innhold, og sjekke samsvaret mellom lagret data og lagrete sjekksummer |
576 |
|
\end{itemize} |
577 |
|
\item \texttt{zpool set} |
578 |
|
\begin{itemize}%[<+->] |
579 |
|
\item Brukes for å endre \texttt{zpool}-egenskapene |
580 |
|
\end{itemize} |
581 |
|
\item \texttt{zpool split} |
582 |
|
\begin{itemize}%[<+->] |
583 |
|
\item Brukes for å skille et speilmedlem fra resten av gruppa |
584 |
|
\end{itemize} |
585 |
|
\item \texttt{zpool status} |
586 |
|
\begin{itemize}%[<+->] |
587 |
|
\item Brukes for å vise status til poolen, dens medlemmer og deres status, og telleverkene for lese-, skrive og sjekksumfeil |
588 |
|
\end{itemize} |
589 |
|
\item \texttt{zpool upgrade} |
590 |
|
\begin{itemize}%[<+->] |
591 |
|
\item Brukes for å oppgradere poolene til nye formater, vise hvilke pooler som er utdaterte, og hvilke versjoner som er tilgjengelig i systemet |
592 |
|
\end{itemize} |
593 |
|
\end{itemize} |
594 |
|
\end{frame} |
595 |
|
|
596 |
|
\subsection{\texttt{zfs}} |
597 |
|
\begin{frame}[allowframebreaks] |
598 |
|
\frametitle{Administrasjon av ZFS} |
599 |
|
\framesubtitle{\texttt{zfs}-kommandoer} |
600 |
|
%\pause |
601 |
|
\begin{itemize}%[<+->] |
602 |
|
\item \texttt{zfs allow} |
603 |
|
\begin{itemize}%[<+->] |
604 |
|
\item |
605 |
|
\end{itemize} |
606 |
|
\item \texttt{zfs bookmark} |
607 |
|
\begin{itemize}%[<+->] |
608 |
|
\item |
609 |
|
\end{itemize} |
610 |
|
\item \texttt{zfs clone} |
611 |
|
\begin{itemize}%[<+->] |
612 |
|
\item |
613 |
|
\end{itemize} |
614 |
|
\item \texttt{zfs create} |
615 |
|
\begin{itemize}%[<+->] |
616 |
|
\item |
617 |
|
\end{itemize} |
618 |
|
\item \texttt{zfs destroy} |
619 |
|
\begin{itemize}%[<+->] |
620 |
|
\item |
621 |
|
\end{itemize} |
622 |
|
\item \texttt{zfs diff} |
623 |
|
\begin{itemize}%[<+->] |
624 |
|
\item |
625 |
|
\end{itemize} |
626 |
|
\item \texttt{zfs get} |
627 |
|
\begin{itemize}%[<+->] |
628 |
|
\item |
629 |
|
\end{itemize} |
630 |
|
\item \texttt{zfs groupspace} |
631 |
|
\begin{itemize}%[<+->] |
632 |
|
\item |
633 |
|
\end{itemize} |
634 |
|
\item \texttt{zfs holds} |
635 |
|
\begin{itemize}%[<+->] |
636 |
|
\item |
637 |
|
\end{itemize} |
638 |
|
\item \texttt{zfs hold} |
639 |
|
\begin{itemize}%[<+->] |
640 |
|
\item |
641 |
|
\end{itemize} |
642 |
|
\item \texttt{zfs inherit} |
643 |
|
\begin{itemize}%[<+->] |
644 |
|
\item |
645 |
|
\end{itemize} |
646 |
|
\item \texttt{zfs jail} |
647 |
|
\begin{itemize}%[<+->] |
648 |
|
\item |
649 |
|
\end{itemize} |
650 |
|
\item \texttt{zfs list} |
651 |
|
\begin{itemize}%[<+->] |
652 |
|
\item |
653 |
|
\end{itemize} |
654 |
|
\item \texttt{zfs mount} |
655 |
|
\begin{itemize}%[<+->] |
656 |
|
\item |
657 |
|
\end{itemize} |
658 |
|
\item \texttt{zfs promote} |
659 |
|
\begin{itemize}%[<+->] |
660 |
|
\item |
661 |
|
\end{itemize} |
662 |
|
\item \texttt{zfs receive} |
663 |
|
\begin{itemize}%[<+->] |
664 |
|
\item |
665 |
|
\end{itemize} |
666 |
|
\item \texttt{zfs release} |
667 |
|
\begin{itemize}%[<+->] |
668 |
|
\item |
669 |
|
\end{itemize} |
670 |
|
\item \texttt{zfs rename} |
671 |
|
\begin{itemize}%[<+->] |
672 |
|
\item |
673 |
|
\end{itemize} |
674 |
|
\item \texttt{zfs rollback} |
675 |
|
\begin{itemize}%[<+->] |
676 |
|
\item |
677 |
|
\end{itemize} |
678 |
|
\item \texttt{zfs send} |
679 |
|
\begin{itemize}%[<+->] |
680 |
|
\item |
681 |
|
\end{itemize} |
682 |
|
\item \texttt{zfs set} |
683 |
|
\begin{itemize}%[<+->] |
684 |
|
\item |
685 |
|
\end{itemize} |
686 |
|
\item \texttt{zfs share} |
687 |
|
\begin{itemize}%[<+->] |
688 |
|
\item |
689 |
|
\end{itemize} |
690 |
|
\item \texttt{zfs snapshot} |
691 |
|
\begin{itemize}%[<+->] |
692 |
|
\item |
693 |
|
\end{itemize} |
694 |
|
\item \texttt{zfs unallow} |
695 |
|
\begin{itemize}%[<+->] |
696 |
|
\item |
697 |
|
\end{itemize} |
698 |
|
\item \texttt{zfs unjail} |
699 |
|
\begin{itemize}%[<+->] |
700 |
|
\item |
701 |
|
\end{itemize} |
702 |
|
\item \texttt{zfs unmount} |
703 |
|
\begin{itemize}%[<+->] |
704 |
|
\item |
705 |
|
\end{itemize} |
706 |
|
\item \texttt{zfs unshare} |
707 |
|
\begin{itemize}%[<+->] |
708 |
|
\item |
709 |
|
\end{itemize} |
710 |
|
\item \texttt{zfs upgrade} |
711 |
|
\begin{itemize}%[<+->] |
712 |
|
\item |
713 |
|
\end{itemize} |
714 |
|
\item \texttt{zfs userspace} |
715 |
|
\begin{itemize}%[<+->] |
716 |
|
\item |
717 |
|
\end{itemize} |
718 |
|
\end{itemize} |
719 |
|
\end{frame} |
720 |
|
|
721 |
\section{Oppretting av pooler} |
\section{Oppretting av pooler} |
722 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
723 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
724 |
\pause |
\pause |
725 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
726 |
\item \texttt{zpool create [\textit{opsjoner}] |
\item \texttt{zpool create [\textit{opsjoner}] |
727 |
\textit{navn-på-pool\/} [\textit{organiseringstype}] |
\textit{navn-på-pool\/} [\textit{organiseringstype}] |
728 |
\textit{ingredienser\/} [\textit{organiseringstype |
\textit{ingredienser\/} [\textit{organiseringstype |
729 |
ingredienser}] ...} |
ingredienser}] ...} |
730 |
\item Unngå å plassere mer enn 9 enheter i hver vdev |
\item Unngå å plassere mer enn 9 enheter i hver vdev |
731 |
\item I stedet for å stripe en pool over 20 harddisker, vurdér å |
\item I stedet for å stripe en pool over 20 harddisker, vurdér å |
732 |
speile to og to harddisker i 10 grupper |
speile to og to harddisker i 10 grupper |
733 |
\end{itemize} |
\end{itemize} |
734 |
\end{frame} |
\end{frame} |
735 |
|
|
736 |
\subsection{Enkle pool-eksempler} |
\subsection{Enkle pool-eksempler} |
737 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
738 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
739 |
\framesubtitle{Enkle pool-eksempler} |
\framesubtitle{Enkle pool-eksempler} |
740 |
\pause |
\pause |
741 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
742 |
\item Singledisk: |
\item Singledisk: |
743 |
\item \texttt{zpool create rpool da0} |
\item \texttt{zpool create rpool da0} |
744 |
\item RAID~0 over to disker: |
\item RAID~0 over to disker: |
745 |
\item \texttt{zpool create rpool da0 da1} |
\item \texttt{zpool create rpool da0 da1} |
746 |
\item RAID~1 over to disker: |
\item RAID~1 over to disker: |
747 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1} |
\item \texttt{zpool create rpool \alert{mirror} da0 da1} |
748 |
\item RAID~5 over tre disker: |
\item RAID~5 over tre disker: |
749 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2} |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2} |
750 |
\item RAID~6 over seks disker: |
\item RAID~6 over fire disker: |
751 |
\item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3 da4 |
\item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3} |
752 |
da5} |
\item «RAID~7» over fem disker: |
753 |
\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} |
|
754 |
\end{itemize} |
\end{itemize} |
755 |
\end{frame} |
\end{frame} |
756 |
|
|
757 |
\subsection{Avanserte pool-eksempler} |
\subsection{Avanserte pool-eksempler} |
758 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
759 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
760 |
\framesubtitle{Avanserte pool-eksempler} |
\framesubtitle{Avanserte pool-eksempler} |
761 |
\pause |
\pause |
762 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
763 |
\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)}: |
764 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1 |
765 |
\alert{mirror} da2 da3 \alert{mirror} da4 da5} |
\alert{mirror} da2 da3 \alert{mirror} da4 da5} |
766 |
\pause |
\pause |
767 |
\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)}: |
768 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2 |
769 |
\alert{raidz1} da3 da4 da5} |
\alert{raidz1} da3 da4 da5} |
770 |
\pause |
\pause |
771 |
\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)}: |
772 |
\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} |
773 |
\pause |
\pause |
774 |
\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)}: |
775 |
\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} |
776 |
|
\end{itemize} |
777 |
|
\end{frame} |
778 |
|
|
779 |
|
\section{\texttt{zpool}-egenskaper} |
780 |
|
\begin{frame}[allowframebreaks] |
781 |
|
\frametitle{\texttt{zpool}-egenskaper} |
782 |
|
%\pause |
783 |
|
\begin{itemize}%[<+->] |
784 |
|
\item \texttt{size} |
785 |
|
\item \texttt{capacity} |
786 |
|
\item \texttt{altroot} |
787 |
|
\item \texttt{health} |
788 |
|
\item \texttt{guid} |
789 |
|
\item \texttt{version} |
790 |
|
\item \texttt{bootfs} |
791 |
|
\item \texttt{delegation} |
792 |
|
\item \texttt{autoreplace} |
793 |
|
\item \texttt{cachefile} |
794 |
|
\item \texttt{failmode} |
795 |
|
\item \texttt{listsnapshots} |
796 |
|
\item \texttt{autoexpand} |
797 |
|
\item \texttt{dedupditto} |
798 |
|
\item \texttt{dedupratio} |
799 |
|
\item \texttt{free} |
800 |
|
\item \texttt{allocated} |
801 |
|
\item \texttt{readonly} |
802 |
|
\item \texttt{comment} |
803 |
|
\item \texttt{expandsize} |
804 |
|
\item \texttt{freeing} |
805 |
|
\item \texttt{feature@async\_destroy} |
806 |
|
\item \texttt{feature@empty\_bpobj} |
807 |
|
\item \texttt{feature@lz4\_compress} |
808 |
|
\item \texttt{feature@multi\_vdev\_crash\_dump} |
809 |
|
\item \texttt{feature@spacemap\_histogram} |
810 |
|
\item \texttt{feature@enabled\_txg} |
811 |
|
\item \texttt{feature@hole\_birth} |
812 |
|
\item \texttt{feature@extensible\_dataset} |
813 |
|
\item \texttt{feature@bookmarks} |
814 |
|
\end{itemize} |
815 |
|
\end{frame} |
816 |
|
|
817 |
|
\section{\texttt{zfs}-egenskaper} |
818 |
|
\begin{frame}[allowframebreaks] |
819 |
|
\frametitle{\texttt{zfs}-egenskaper} |
820 |
|
%\pause |
821 |
|
\begin{itemize}%[<+->] |
822 |
|
\item \texttt{type} |
823 |
|
\item \texttt{creation} |
824 |
|
\item \texttt{used} |
825 |
|
\item \texttt{available} |
826 |
|
\item \texttt{referenced} |
827 |
|
\item \texttt{compressratio} |
828 |
|
\item \texttt{mounted} |
829 |
|
\item \texttt{quota} |
830 |
|
\item \texttt{reservation} |
831 |
|
\item \texttt{recordsize} |
832 |
|
\item \texttt{mountpoint} |
833 |
|
\item \texttt{sharenfs} |
834 |
|
\item \texttt{checksum} |
835 |
|
\item \texttt{compression} |
836 |
|
\item \texttt{atime} |
837 |
|
\item \texttt{devices} |
838 |
|
\item \texttt{exec} |
839 |
|
\item \texttt{setuid} |
840 |
|
\item \texttt{readonly} |
841 |
|
\item \texttt{jailed} |
842 |
|
\item \texttt{snapdir} |
843 |
|
\item \texttt{aclmode} |
844 |
|
\item \texttt{aclinherit} |
845 |
|
\item \texttt{canmount} |
846 |
|
\item \texttt{xattr} |
847 |
|
\item \texttt{copies} |
848 |
|
\item \texttt{version} |
849 |
|
\item \texttt{utf8only} |
850 |
|
\item \texttt{normalization} |
851 |
|
\item \texttt{casesensitivity} |
852 |
|
\item \texttt{vscan} |
853 |
|
\item \texttt{nbmand} |
854 |
|
\item \texttt{sharesmb} |
855 |
|
\item \texttt{refquota} |
856 |
|
\item \texttt{refreservation} |
857 |
|
\item \texttt{primarycache} |
858 |
|
\item \texttt{secondarycache} |
859 |
|
\item \texttt{usedbysnapshots} |
860 |
|
\item \texttt{usedbydataset} |
861 |
|
\item \texttt{usedbychildren} |
862 |
|
\item \texttt{usedbyrefreservation} |
863 |
|
\item \texttt{logbias} |
864 |
|
\item \texttt{dedup} |
865 |
|
\item \texttt{mlslabel} |
866 |
|
\item \texttt{sync} |
867 |
|
\item \texttt{refcompressratio} |
868 |
|
\item \texttt{written} |
869 |
|
\item \texttt{logicalused} |
870 |
|
\item \texttt{logicalreferenced} |
871 |
\end{itemize} |
\end{itemize} |
872 |
\end{frame} |
\end{frame} |
873 |
|
|
874 |
\end{document} |
\end{document} |
875 |
|
|
876 |
Local Variables: |
Local Variables: |
877 |
TeX-PDF-mode:t |
TeX-PDF-mode:t |
878 |
End: |
End: |