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; 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 |
\end{itemize} |
\end{itemize} |
175 |
\end{frame} |
\end{frame} |
176 |
|
|
177 |
\section{Hva er grensene til ZFS?} |
\section{Hva er grensene til ZFS?} |
178 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
179 |
\frametitle{Hva er grensene til ZFS?} |
\frametitle{Hva er grensene til ZFS?} |
180 |
\pause |
\pause |
181 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
182 |
\item ZFS er stort sett grenseløs |
\item ZFS er stort sett grenseløs |
183 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
184 |
\item 128-bit diskadresser |
\item 128-bit diskadresser |
185 |
\item Maks.\ $2^{48}$ poster i hver katalog |
\item Maks.\ \alert<9->{$2^{48}$} poster i hver katalog |
186 |
\item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil |
\item Maks.\ $2^{64}$ bytes (16~EiB, 16~exbibytes) for hver fil |
187 |
\item Maks.\ $2^{64}$ bytes for hvert attributt |
\item Maks.\ $2^{64}$ bytes for hvert attributt |
188 |
\item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool |
\item Maks.\ $2^{78}$ bytes (256~ZiB, 256~zebibytes) i hver pool |
189 |
\item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset |
\item Maks.\ $2^{56}$ attributter for hver fil (egentlig begrenset |
190 |
til $2^{48}$ attributter) |
til \alert<9->{$2^{48}$} attributter) |
191 |
|
\pause |
192 |
\item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool |
\item Maks.\ $2^{64}$ enheter tilknyttet en gitt pool |
193 |
\item Maks.\ $2^{64}$ pooler i et og samme system |
\item Maks.\ $2^{64}$ pooler i et og samme system |
194 |
\item Maks.\ $2^{64}$ filsystemer i samme pool |
\item Maks.\ $2^{64}$ filsystemer i samme pool |
195 |
|
\item Ref.: \texttt{\url{http://en.wikipedia.org/wiki/ZFS}} |
196 |
\end{itemize} |
\end{itemize} |
197 |
\item Vis meg det systemet som klarer å sprenge noen av disse |
\item Vis meg det systemet som klarer å sprenge noen av disse |
198 |
grensene! |
grensene! |
199 |
\end{itemize} |
\end{itemize} |
200 |
\end{frame} |
\end{frame} |
201 |
|
|
202 |
\section{Hvordan virker ZFS?} |
\section{Hvordan virker ZFS?} |
203 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
204 |
\frametitle{Hvordan virker ZFS?} |
\frametitle{Hvordan virker ZFS?} |
205 |
\pause |
\pause |
206 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
207 |
\item ZFS unngår RAID~5-skrivehullet til typiske RAID-kontrollere |
\item ZFS unngår RAID~5-skrivehullet til eldre RAID-kontrollere som |
208 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
209 |
\item Skriver nye data til de samme datablokkene som tidligere |
\item Skriver nye data til de samme datablokkene som tidligere |
210 |
\item Regner ut ny paritet |
\item Leser gamle, urørte data fra de samme datablokkene |
211 |
|
\item Regner ut ny paritet for datablokkene |
212 |
\item Skriver oppdatert paritet til de samme paritetsblokkene som |
\item Skriver oppdatert paritet til de samme paritetsblokkene som |
213 |
tidligere |
tidligere |
214 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
215 |
\item Hva skjer hvis du får strømbrudd mellom 1 og 3? |
\item Hva skjer nå \textit{og\/} senere hvis du får strømbrudd |
216 |
|
mellom punktene 1 og 4? |
217 |
\item Har diskkontrolleren batteribeskyttet minne? |
\item Har diskkontrolleren batteribeskyttet minne? |
218 |
\end{itemize} |
\end{itemize} |
219 |
\end{enumerate} |
\end{enumerate} |
220 |
\item ZFS skriver fulle striper; data og paritet samtidig |
\item ZFS skriver fulle striper; data og paritet samtidig |
221 |
\item ZFS bruker «copy-on-write»; skriver nye data til ledige |
\item ZFS bruker «copy-on-write»; skriver nye data til ledige |
222 |
diskblokker |
diskblokker |
223 |
\item Endringer som hører sammen, samles i transaksjonsgrupper |
\item Endringer som hører sammen, samles i transaksjonsgrupper |
224 |
\item Sjekksummer brukes for alt som blir lagret |
\item Sjekksummer brukes for alt som blir lagret |
225 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
226 |
\item ZFS kontrollerer at leste data er de samme som ble skrevet |
\item ZFS kontrollerer at leste data er de samme som ble skrevet |
227 |
\item Oppdages avvik, leter ZFS etter alternativer |
\item Oppdages avvik, leter ZFS etter alternativer |
228 |
\item Finnes alternativer, enten speilkopier eller paritet |
\item Finnes alternativer, enten speilkopier eller paritet, så |
229 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
230 |
\item Leveres korrekte data til applikasjonen, og |
\item Leveres korrekte data til applikasjonen, og |
231 |
\item avviket korrigeres automatisk på den syke disken |
\item Avviket korrigeres automatisk på den syke disken |
232 |
\end{enumerate} |
\end{enumerate} |
233 |
\item Finnes ingen alternativer, så må filene restaureres fra |
\item Finnes ingen alternativer, så må filene restaureres fra |
234 |
backup |
backup |
235 |
\end{itemize} |
\end{itemize} |
236 |
\end{itemize} |
\end{itemize} |
237 |
\end{frame} |
\end{frame} |
238 |
|
|
239 |
\section{ZFS og RAID-kontrollere} |
\section{ZFS og RAID-kontrollere} |
240 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
241 |
\frametitle{ZFS og RAID-kontrollere} |
\frametitle{ZFS og RAID-kontrollere} |
242 |
\pause |
\pause |
243 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
244 |
\item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere! |
\item \alert{Ikke} bruk ZFS sammen med RAID-kontrollere! |
245 |
\item I verste fall kan RAID-kontrolleren motarbeide ZFS |
\item RAID-kontrolleren kan i verste fall motarbeide ZFS |
246 |
\item Sett kontrolleren i JBOD-modus, eller |
\item Sett RAID-kontrolleren i JBOD-modus, eller |
247 |
\item la hver disk være sitt enslige RAID~0-volum |
\item La hver harddisk være sitt enslige RAID~0-volum |
248 |
\end{itemize} |
\end{itemize} |
249 |
\end{frame} |
\end{frame} |
250 |
|
|
251 |
\section{Hvor kommer ZFS fra?} |
\section{Hvor kommer ZFS fra?} |
252 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
253 |
\frametitle{Hvor kommer ZFS fra?} |
\frametitle{Hvor kommer ZFS fra?} |
254 |
\pause |
\pause |
255 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
256 |
\item Utviklet av Jeff Bonwick og kollegaer ved Sun Microsystems, |
\item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer |
257 |
Inc. |
ved Sun Microsystems, Inc. |
258 |
\item Arbeidet begynte i 2001 |
\item Arbeidet begynte i 2001 |
259 |
|
\item Første prototyp ble ferdig 31.\ oktober 2001 (halloween) |
260 |
\item ZFS $\to$ Solaris, oktober 2005 |
\item ZFS $\to$ Solaris, oktober 2005 |
261 |
\item ZFS er lisensiert etter «Common Development and Distribution |
\item ZFS er lisensiert etter «Common Development and Distribution |
262 |
License» (CDDL) |
License» (CDDL) |
263 |
\item ZFS $\to$ OpenSolaris, november 2005 |
\item ZFS $\to$ OpenSolaris, november 2005 |
264 |
\item ZFS $\to$ FreeBSD, april 2007 |
\item ZFS $\to$ FreeBSD, april 2007 |
265 |
\item Linux' GPL~v2-lisens kompliserer import av ZFS |
\item Linux' GPL~v2-lisens kompliserer import av ZFS |
266 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
267 |
\item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet |
\item ZFS i Linux gjennom FUSE gjenstår som en (treg) mulighet |
268 |
\item Brian Behlendorf ved Lawrence Livermore National Laboratory |
\item Brian Behlendorf ved Lawrence Livermore National Laboratory |
269 |
(LLNL) har laget «Native ZFS for\slash on Linux» |
(LLNL) har laget «Native ZFS for\slash on Linux» |
270 |
\end{itemize} |
\end{itemize} |
271 |
\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 |
272 |
vært tilbaketrukket siden oktober 2009 |
vært tilbaketrukket siden oktober 2009 |
273 |
|
\item Noen Mac OS~X-entusiaster har laget sine egne ZFS-varianter |
274 |
\item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD, |
\item Andre OS med ZFS-støtte: OpenIndiana, FreeNAS, PC-BSD, |
275 |
GNU/kFreeBSD og NetBSD |
GNU/kFreeBSD og NetBSD |
276 |
\end{itemize} |
\end{itemize} |
277 |
\end{frame} |
\end{frame} |
278 |
|
|
279 |
|
\section{Versjonsnummer i ZFS} |
280 |
|
\begin{frame}%[allowframebreaks] |
281 |
|
\frametitle{Versjonsnummer i ZFS} |
282 |
|
\pause |
283 |
|
\begin{itemize}[<+->] |
284 |
|
\item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er tilgjengelig |
285 |
|
gjennom OpenSolaris og illumos |
286 |
|
\item Pool-versjonene 29-34 og filsystem-versjon 6 er bare tilgjengelig |
287 |
|
i Solaris 11 (Express) |
288 |
|
\item OpenSolaris har gått videre til feature-flags og pool-versjon |
289 |
|
1000 |
290 |
|
\item illumos har gått videre til feature-flags og pool-versjon 5000 |
291 |
|
\item De fleste OS-er utenom Solaris, samarbeider om |
292 |
|
videreutviklingen av illumos-varianten |
293 |
|
\end{itemize} |
294 |
|
\end{frame} |
295 |
|
|
296 |
|
\subsection{Pool-versjonsnummer} |
297 |
|
\begin{frame}[allowframebreaks] |
298 |
|
\frametitle{Versjonsnummer i ZFS} |
299 |
|
\framesubtitle{Pool-versjonsnummer} |
300 |
|
%\pause |
301 |
|
\begin{enumerate}%[<+->] |
302 |
|
\item First release |
303 |
|
\item Ditto Blocks |
304 |
|
\item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved RAID-Z |
305 |
|
accounting |
306 |
|
\item zpool history |
307 |
|
\item gzip compression for ZFS datasets |
308 |
|
\item "\texttt{bootfs}" pool property |
309 |
|
\item ZIL: adds the capability to specify a separate Intent Log |
310 |
|
device or devices |
311 |
|
\item ability to delegate \texttt{zfs}(1M) administrative tasks to ordinary |
312 |
|
users |
313 |
|
\item CIFS server support, dataset quotas |
314 |
|
\item Devices can be added to a storage pool as "cache devices" |
315 |
|
\item Improved \texttt{zpool scrub}/resilver performance |
316 |
|
\item Snapshot properties |
317 |
|
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren}, |
318 |
|
\texttt{usedbyrefreservation}, and \texttt{usedbydataset} |
319 |
|
\item passthrough-x aclinherit property support |
320 |
|
\item Properties: \texttt{userquota}, \texttt{groupquota}, \texttt{userused} and \texttt{groupused}; |
321 |
|
also required FS v4 |
322 |
|
\item STMF property support |
323 |
|
\item triple-parity RAID-Z |
324 |
|
\item ZFS snapshot holds |
325 |
|
\item ZFS log device removal |
326 |
|
\item zle compression algorithm that is needed to support the ZFS |
327 |
|
deduplication properties in ZFS pool version 21, which were |
328 |
|
released concurrently |
329 |
|
\item Deduplication |
330 |
|
\item \texttt{zfs receive} properties |
331 |
|
\item slim ZIL |
332 |
|
\item System attributes. Symlinks now their own object type. Also |
333 |
|
requires FS v5. |
334 |
|
\item Improved pool scrubbing and resilvering statistics |
335 |
|
\item Improved snapshot deletion performance |
336 |
|
\item Improved snapshot creation performance (particularly recursive |
337 |
|
snapshots) |
338 |
|
\item Multiple virtual device replacements |
339 |
|
\item RAID-Z/mirror hybrid allocator |
340 |
|
\item ZFS encryption |
341 |
|
\item Improved '\texttt{zfs list}' performance |
342 |
|
\item One MB block support |
343 |
|
\item Improved share support |
344 |
|
\item Sharing with inheritance |
345 |
|
\end{enumerate} |
346 |
|
\end{frame} |
347 |
|
|
348 |
|
\subsection{Filsystem-versjonsnummer} |
349 |
|
\begin{frame}[allowframebreaks] |
350 |
|
\frametitle{Versjonsnummer i ZFS} |
351 |
|
\framesubtitle{Filsystem-versjonsnummer} |
352 |
|
%\pause |
353 |
|
\begin{enumerate}%[<+->] |
354 |
|
\item First release |
355 |
|
\item Enhanced directory entries. In particular, directory entries |
356 |
|
now store the object type. For example, file, directory, named |
357 |
|
pipe, and so on, in addition to the object number. |
358 |
|
\item Support for sharing ZFS file systems over SMB. Case |
359 |
|
insensitivity support. System attribute support. Integrated |
360 |
|
anti-virus support. |
361 |
|
\item Properties: userquota, groupquota, userused and groupused |
362 |
|
\item System attributes; symlinks now their own object type |
363 |
|
\item Multilevel file system support |
364 |
|
\end{enumerate} |
365 |
|
\end{frame} |
366 |
|
|
367 |
\section{Fremtiden for ZFS?} |
\section{Fremtiden for ZFS?} |
368 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
369 |
\frametitle{Fremtiden for ZFS?} |
\frametitle{Fremtiden for ZFS?} |
370 |
\pause |
\pause |
371 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
372 |
\item Oracle kjøpte opp Sun Microsystems, 27.~januar 2010 |
\item Oracle kjøpte opp Sun Microsystems, Inc., 27.~januar 2010 |
373 |
\item Oracle ville gjøre OpenSolaris om til «ClosedSolaris» |
\item Oracle gjorde OpenSolaris om til «ClosedSolaris» i mai 2010 |
374 |
\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 |
375 |
avgjørelsen |
etter denne avgjørelsen ifølge Bryan Cantrill |
376 |
\item ZFS lever videre hos |
\item ZFS lever videre hos |
377 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
378 |
\item Oracle |
\item Oracle Solaris |
379 |
\item illumos |
\item illumos\slash OpenZFS |
380 |
\item OpenZFS |
\begin{itemize}[<+->] |
381 |
\item FreeBSD |
\item OpenIndiana |
382 |
\item Delphix |
\item FreeBSD |
383 |
\item iXsystems |
\item Delphix |
384 |
\item Joyent |
\item iXsystems |
385 |
\item NetBSD |
\item Joyent |
386 |
\item Nexenta |
\item NetBSD |
387 |
|
\item Nexenta |
388 |
|
\item Linux |
389 |
|
\end{itemize} |
390 |
\end{itemize} |
\end{itemize} |
391 |
\end{itemize} |
\end{itemize} |
392 |
\end{frame} |
\end{frame} |
393 |
|
|
394 |
%\subsection{Underemne 1a} |
%\subsection{Underemne 1a} |
395 |
%\begin{frame}%[allowframebreaks] |
%\begin{frame}%[allowframebreaks] |
396 |
% \frametitle{Emne 1} |
% \frametitle{Emne 1} |
397 |
% \framesubtitle{Underemne 1a} |
% \framesubtitle{Underemne 1a} |
398 |
% \pause |
% \pause |
399 |
% \begin{itemize}[<+->] |
% \begin{itemize}[<+->] |
400 |
% \item Bla, bla, bla |
% \item Bla, bla, bla |
401 |
% \end{itemize} |
% \end{itemize} |
402 |
%\end{frame} |
%\end{frame} |
403 |
|
|
404 |
\part{Del 2: ZFS!} |
\part{ZFS!} |
405 |
|
|
406 |
\begin{frame} |
\begin{frame} |
407 |
\partpage |
\partpage |
408 |
\end{frame} |
\end{frame} |
409 |
|
|
410 |
\section*{Oversikt over del~2: ZFS!} |
\section*{Oversikt over del~2: ZFS!} |
411 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
412 |
\frametitle{Oversikt over del~2: ZFS!} |
\frametitle{Oversikt over del~2: ZFS!} |
413 |
\tableofcontents%[pausesections] |
\tableofcontents%[pausesections] |
414 |
\end{frame} |
\end{frame} |
415 |
|
|
416 |
\section{Administrasjon av ZFS} |
\section{Administrasjon av ZFS} |
417 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
418 |
\frametitle{Administrasjon av ZFS} |
\frametitle{Administrasjon av ZFS} |
419 |
\pause |
\pause |
420 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
421 |
\item To kommandoer (med underkommandoer): |
\item To kommandoer (med underkommandoer): |
422 |
\begin{enumerate}[<+->] |
\begin{enumerate}[<+->] |
423 |
\item \texttt{zpool} |
\item \texttt{zpool} |
424 |
|
\begin{itemize}[<+->] |
425 |
|
\item Administrasjon av lagringspoolene |
426 |
|
\end{itemize} |
427 |
\item \texttt{zfs} |
\item \texttt{zfs} |
428 |
|
\begin{itemize}[<+->] |
429 |
|
\item Administrasjon av filsystemer, snapshots, kloner, m.m. |
430 |
|
\end{itemize} |
431 |
\end{enumerate} |
\end{enumerate} |
432 |
\item Det finnes en tredje kommando for de nysgjerrige: \texttt{zdb} |
\item Det finnes en tredje kommando for de nysgjerrige: \texttt{zdb} |
433 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
434 |
\item Brukes for å avlese indre ZFS-detaljer |
\item Brukes for å avlese indre ZFS-detaljer |
435 |
\end{itemize} |
\end{itemize} |
436 |
\end{itemize} |
\end{itemize} |
437 |
\end{frame} |
\end{frame} |
438 |
|
|
439 |
|
\subsection{\texttt{zpool}} |
440 |
|
\begin{frame}[allowframebreaks] |
441 |
|
\frametitle{Administrasjon av ZFS} |
442 |
|
\framesubtitle{\texttt{zpool}-kommandoer} |
443 |
|
%\pause |
444 |
|
\begin{itemize}%[<+->] |
445 |
|
\item \texttt{zpool add} |
446 |
|
\item \texttt{zpool attach} |
447 |
|
\item \texttt{zpool clear} |
448 |
|
\item \texttt{zpool create} |
449 |
|
\item \texttt{zpool destroy} |
450 |
|
\item \texttt{zpool detach} |
451 |
|
\item \texttt{zpool export} |
452 |
|
\item \texttt{zpool get} |
453 |
|
\item \texttt{zpool history} |
454 |
|
\item \texttt{zpool import} |
455 |
|
\item \texttt{zpool iostat} |
456 |
|
\item \texttt{zpool labelclear} |
457 |
|
\item \texttt{zpool list} |
458 |
|
\item \texttt{zpool offline} |
459 |
|
\item \texttt{zpool online} |
460 |
|
\item \texttt{zpool reguid} |
461 |
|
\item \texttt{zpool remove} |
462 |
|
\item \texttt{zpool reopen} |
463 |
|
\item \texttt{zpool replace} |
464 |
|
\item \texttt{zpool scrub} |
465 |
|
\item \texttt{zpool set} |
466 |
|
\item \texttt{zpool split} |
467 |
|
\item \texttt{zpool status} |
468 |
|
\item \texttt{zpool upgrade} |
469 |
|
\end{itemize} |
470 |
|
\end{frame} |
471 |
|
|
472 |
|
\subsection{\texttt{zfs}} |
473 |
|
\begin{frame}[allowframebreaks] |
474 |
|
\frametitle{Administrasjon av ZFS} |
475 |
|
\framesubtitle{\texttt{zfs}-kommandoer} |
476 |
|
%\pause |
477 |
|
\begin{itemize}%[<+->] |
478 |
|
\item \texttt{zfs allow} |
479 |
|
\item \texttt{zfs bookmark} |
480 |
|
\item \texttt{zfs clone} |
481 |
|
\item \texttt{zfs create} |
482 |
|
\item \texttt{zfs destroy} |
483 |
|
\item \texttt{zfs diff} |
484 |
|
\item \texttt{zfs get} |
485 |
|
\item \texttt{zfs groupspace} |
486 |
|
\item \texttt{zfs holds} |
487 |
|
\item \texttt{zfs hold} |
488 |
|
\item \texttt{zfs inherit} |
489 |
|
\item \texttt{zfs jail} |
490 |
|
\item \texttt{zfs list} |
491 |
|
\item \texttt{zfs mount} |
492 |
|
\item \texttt{zfs promote} |
493 |
|
\item \texttt{zfs receive} |
494 |
|
\item \texttt{zfs release} |
495 |
|
\item \texttt{zfs rename} |
496 |
|
\item \texttt{zfs rollback} |
497 |
|
\item \texttt{zfs send} |
498 |
|
\item \texttt{zfs set} |
499 |
|
\item \texttt{zfs share} |
500 |
|
\item \texttt{zfs snapshot} |
501 |
|
\item \texttt{zfs unallow} |
502 |
|
\item \texttt{zfs unjail} |
503 |
|
\item \texttt{zfs unmount} |
504 |
|
\item \texttt{zfs unshare} |
505 |
|
\item \texttt{zfs upgrade} |
506 |
|
\item \texttt{zfs userspace} |
507 |
|
\end{itemize} |
508 |
|
\end{frame} |
509 |
|
|
510 |
\section{Oppretting av pooler} |
\section{Oppretting av pooler} |
511 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
512 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
513 |
\pause |
\pause |
514 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
515 |
\item \texttt{zpool create [\textit{opsjoner}] |
\item \texttt{zpool create [\textit{opsjoner}] |
516 |
\textit{navn-på-pool\/} [\textit{organiseringstype}] |
\textit{navn-på-pool\/} [\textit{organiseringstype}] |
517 |
\textit{ingredienser\/} [\textit{organiseringstype |
\textit{ingredienser\/} [\textit{organiseringstype |
518 |
ingredienser}] ...} |
ingredienser}] ...} |
519 |
\item Unngå å plassere mer enn 9 enheter i hver vdev |
\item Unngå å plassere mer enn 9 enheter i hver vdev |
520 |
\item I stedet for å stripe en pool over 20 harddisker, vurdér å |
\item I stedet for å stripe en pool over 20 harddisker, vurdér å |
521 |
speile to og to harddisker i 10 grupper |
speile to og to harddisker i 10 grupper |
522 |
\end{itemize} |
\end{itemize} |
523 |
\end{frame} |
\end{frame} |
524 |
|
|
525 |
\subsection{Enkle pool-eksempler} |
\subsection{Enkle pool-eksempler} |
526 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
527 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
528 |
\framesubtitle{Enkle pool-eksempler} |
\framesubtitle{Enkle pool-eksempler} |
529 |
\pause |
\pause |
530 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
531 |
\item Singledisk: |
\item Singledisk: |
532 |
\item \texttt{zpool create rpool da0} |
\item \texttt{zpool create rpool da0} |
533 |
\item RAID~0 over to disker: |
\item RAID~0 over to disker: |
534 |
\item \texttt{zpool create rpool da0 da1} |
\item \texttt{zpool create rpool da0 da1} |
535 |
\item RAID~1 over to disker: |
\item RAID~1 over to disker: |
536 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1} |
\item \texttt{zpool create rpool \alert{mirror} da0 da1} |
537 |
\item RAID~5 over tre disker: |
\item RAID~5 over tre disker: |
538 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2} |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2} |
539 |
\item RAID~6 over seks disker: |
\item RAID~6 over fire disker: |
540 |
\item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3 da4 |
\item \texttt{zpool create rpool \alert{raidz2} da0 da1 da2 da3} |
541 |
da5} |
\item «RAID~7» over fem disker: |
542 |
\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} |
|
543 |
\end{itemize} |
\end{itemize} |
544 |
\end{frame} |
\end{frame} |
545 |
|
|
546 |
\subsection{Avanserte pool-eksempler} |
\subsection{Avanserte pool-eksempler} |
547 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
548 |
\frametitle{Oppretting av pooler} |
\frametitle{Oppretting av pooler} |
549 |
\framesubtitle{Avanserte pool-eksempler} |
\framesubtitle{Avanserte pool-eksempler} |
550 |
\pause |
\pause |
551 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
552 |
\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)}: |
553 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1 |
\item \texttt{zpool create rpool \alert{mirror} da0 da1 |
554 |
\alert{mirror} da2 da3 \alert{mirror} da4 da5} |
\alert{mirror} da2 da3 \alert{mirror} da4 da5} |
555 |
\pause |
\pause |
556 |
\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)}: |
557 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2 |
\item \texttt{zpool create rpool \alert{raidz1} da0 da1 da2 |
558 |
\alert{raidz1} da3 da4 da5} |
\alert{raidz1} da3 da4 da5} |
559 |
\pause |
\pause |
560 |
\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)}: |
561 |
\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} |
562 |
\pause |
\pause |
563 |
\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)}: |
564 |
\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} |
565 |
|
\end{itemize} |
566 |
|
\end{frame} |
567 |
|
|
568 |
|
\section{\texttt{zpool}-egenskaper} |
569 |
|
\begin{frame}[allowframebreaks] |
570 |
|
\frametitle{\texttt{zpool}-egenskaper} |
571 |
|
%\pause |
572 |
|
\begin{itemize}%[<+->] |
573 |
|
\item \texttt{size} |
574 |
|
\item \texttt{capacity} |
575 |
|
\item \texttt{altroot} |
576 |
|
\item \texttt{health} |
577 |
|
\item \texttt{guid} |
578 |
|
\item \texttt{version} |
579 |
|
\item \texttt{bootfs} |
580 |
|
\item \texttt{delegation} |
581 |
|
\item \texttt{autoreplace} |
582 |
|
\item \texttt{cachefile} |
583 |
|
\item \texttt{failmode} |
584 |
|
\item \texttt{listsnapshots} |
585 |
|
\item \texttt{autoexpand} |
586 |
|
\item \texttt{dedupditto} |
587 |
|
\item \texttt{dedupratio} |
588 |
|
\item \texttt{free} |
589 |
|
\item \texttt{allocated} |
590 |
|
\item \texttt{readonly} |
591 |
|
\item \texttt{comment} |
592 |
|
\item \texttt{expandsize} |
593 |
|
\item \texttt{freeing} |
594 |
|
\item \texttt{feature@async\_destroy} |
595 |
|
\item \texttt{feature@empty\_bpobj} |
596 |
|
\item \texttt{feature@lz4\_compress} |
597 |
|
\item \texttt{feature@multi\_vdev\_crash\_dump} |
598 |
|
\item \texttt{feature@spacemap\_histogram} |
599 |
|
\item \texttt{feature@extensible\_dataset} |
600 |
|
\end{itemize} |
601 |
|
\end{frame} |
602 |
|
|
603 |
|
\section{\texttt{zfs}-egenskaper} |
604 |
|
\begin{frame}[allowframebreaks] |
605 |
|
\frametitle{\texttt{zfs}-egenskaper} |
606 |
|
%\pause |
607 |
|
\begin{itemize}%[<+->] |
608 |
|
\item \texttt{type} |
609 |
|
\item \texttt{creation} |
610 |
|
\item \texttt{used} |
611 |
|
\item \texttt{available} |
612 |
|
\item \texttt{referenced} |
613 |
|
\item \texttt{compressratio} |
614 |
|
\item \texttt{mounted} |
615 |
|
\item \texttt{quota} |
616 |
|
\item \texttt{reservation} |
617 |
|
\item \texttt{recordsize} |
618 |
|
\item \texttt{mountpoint} |
619 |
|
\item \texttt{sharenfs} |
620 |
|
\item \texttt{checksum} |
621 |
|
\item \texttt{compression} |
622 |
|
\item \texttt{atime} |
623 |
|
\item \texttt{devices} |
624 |
|
\item \texttt{exec} |
625 |
|
\item \texttt{setuid} |
626 |
|
\item \texttt{readonly} |
627 |
|
\item \texttt{jailed} |
628 |
|
\item \texttt{snapdir} |
629 |
|
\item \texttt{aclmode} |
630 |
|
\item \texttt{aclinherit} |
631 |
|
\item \texttt{canmount} |
632 |
|
\item \texttt{xattr} |
633 |
|
\item \texttt{copies} |
634 |
|
\item \texttt{version} |
635 |
|
\item \texttt{utf8only} |
636 |
|
\item \texttt{normalization} |
637 |
|
\item \texttt{casesensitivity} |
638 |
|
\item \texttt{vscan} |
639 |
|
\item \texttt{nbmand} |
640 |
|
\item \texttt{sharesmb} |
641 |
|
\item \texttt{refquota} |
642 |
|
\item \texttt{refreservation} |
643 |
|
\item \texttt{primarycache} |
644 |
|
\item \texttt{secondarycache} |
645 |
|
\item \texttt{usedbysnapshots} |
646 |
|
\item \texttt{usedbydataset} |
647 |
|
\item \texttt{usedbychildren} |
648 |
|
\item \texttt{usedbyrefreservation} |
649 |
|
\item \texttt{logbias} |
650 |
|
\item \texttt{dedup} |
651 |
|
\item \texttt{mlslabel} |
652 |
|
\item \texttt{sync} |
653 |
|
\item \texttt{refcompressratio} |
654 |
|
\item \texttt{written} |
655 |
|
\item \texttt{logicalused} |
656 |
|
\item \texttt{logicalreferenced} |
657 |
\end{itemize} |
\end{itemize} |
658 |
\end{frame} |
\end{frame} |
659 |
|
|
660 |
\end{document} |
\end{document} |
661 |
|
|
662 |
Local Variables: |
Local Variables: |
663 |
TeX-PDF-mode:t |
TeX-PDF-mode:t |
664 |
End: |
End: |