| 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 |
\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 bl.a.\ snapshots, kloner, kompresjon og deduplisering |
\item Filsystem med bl.a.\ snapshots, kloner, kompresjon og deduplisering |
| 155 |
\item Tilbyr også «zvolumer» som lagringsenheter for andre |
\item Tilbyr også «zvolumer» som lagringsenheter for andre |
| 156 |
filsystemer |
filsystemer |
| 157 |
\end{enumerate} |
\end{enumerate} |
| 158 |
\item ZFS tar dataintegritet på alvor; hastighet kommer i senere rekker |
\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, enkel paritet) over tre eller flere |
\item \texttt{raidz1} (RAID~5, enkel paritet) over tre eller flere |
| 167 |
disker\slash partisjoner |
disker\slash partisjoner |
| 168 |
\item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller |
\item \texttt{raidz2} (RAID~6, dobbel paritet) over fire eller |
| 169 |
flere disker\slash partisjoner |
flere disker\slash partisjoner |
| 170 |
\item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller |
\item \texttt{raidz3} («RAID~7», trippel paritet) over fem eller |
| 171 |
flere disker\slash 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.\ \alert<9->{$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 \alert<9->{$2^{48}$} attributter) |
til \alert<9->{$2^{48}$} attributter) |
| 231 |
\pause |
\pause |
| 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 eldre RAID-kontrollere som |
\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 Leser gamle, urørte data fra de samme datablokkene |
\item Leser gamle, urørte data fra de samme datablokkene |
| 251 |
\item Regner ut ny paritet for datablokkene |
\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 nå \textit{og\/} senere hvis du får strømbrudd |
\item Hva skjer \textit{nå\/} og \textit{senere\/} hvis du får |
| 256 |
mellom punktene 1 og 4? |
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, så |
\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 RAID-kontrolleren kan i verste fall motarbeide ZFS |
\item RAID-kontrolleren kan i verste fall motarbeide ZFS |
| 286 |
|
\begin{itemize}[<+->] |
| 287 |
|
\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 |
\item Sett RAID-kontrolleren i JBOD-modus, eller |
| 295 |
\item La hver harddisk være sitt enslige RAID~0-volum |
\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 Jeffrey Bonwick, Matthew Ahrens og flere kollegaer |
\item Utviklet av Jeffrey Bonwick, Matthew Ahrens og flere kollegaer |
| 305 |
ved Sun Microsystems, Inc. |
ved Sun Microsystems, Inc. |
| 306 |
\item Arbeidet begynte i 2001 |
\item Arbeidet begynte i 2001 og første prototyp ble ferdig 31.\ |
| 307 |
\item Første prototyp ble ferdig 31.\ oktober 2001 (halloween) |
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 |
\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, |
| 326 |
|
|
| 327 |
\section{Versjonsnummer i ZFS} |
\section{Versjonsnummer i ZFS} |
| 328 |
\begin{frame}%[allowframebreaks] |
\begin{frame}%[allowframebreaks] |
| 329 |
\frametitle{Versjonsnummer i ZFS} |
\frametitle{Versjonsnummer i ZFS} |
| 330 |
\pause |
\pause |
| 331 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
| 332 |
\item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er tilgjengelig |
\item Pool-versjonene 1--28 og filsystem-versjonene 1--5 er tilgjengelig |
| 333 |
gjennom OpenSolaris og illumos |
gjennom OpenSolaris og illumos |
| 334 |
\item Pool-versjonene 29-34 og filsystem-versjon 6 er bare tilgjengelig |
\item Pool-versjonene 29-34 og filsystem-versjon 6 er bare tilgjengelig |
| 335 |
i Solaris 11 (Express) |
i Solaris 11 (Express) |
| 336 |
\item OpenSolaris har gått videre til feature-flags og pool-versjon |
\item OpenSolaris har gått videre til feature-flags og pool-versjon |
| 337 |
1000 |
1000 |
| 338 |
\item illumos har gått videre til feature-flags og pool-versjon 5000 |
\item illumos har gått videre til feature-flags og pool-versjon 5000 |
| 339 |
\item De fleste OS-er utenom Solaris, samarbeider om |
\item De fleste OS-er utenom Solaris, samarbeider om |
| 340 |
videreutviklingen av illumos-varianten |
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} |
\end{itemize} |
| 344 |
\end{frame} |
\end{frame} |
| 345 |
|
|
| 346 |
\subsection{Pool-versjonsnummer} |
\subsection{Pool-versjonsnummer} |
| 347 |
\begin{frame}[allowframebreaks] |
\begin{frame}[allowframebreaks] |
| 348 |
\frametitle{Versjonsnummer i ZFS} |
\frametitle{Versjonsnummer i ZFS} |
| 349 |
\framesubtitle{Pool-versjonsnummer} |
\framesubtitle{Pool-versjonsnummer} |
| 350 |
%\pause |
%\pause |
| 351 |
\begin{enumerate}%[<+->] |
\begin{enumerate}%[<+->] |
| 352 |
\item First release |
\item First release |
| 353 |
\item Ditto Blocks |
\item Ditto Blocks |
| 354 |
\item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved RAID-Z |
\item Hot spares, double-parity RAID-Z (\texttt{raidz2}), improved RAID-Z |
| 355 |
accounting |
accounting |
| 356 |
\item zpool history |
\item zpool history |
| 357 |
\item gzip compression for ZFS datasets |
\item gzip compression for ZFS datasets |
| 358 |
\item "\texttt{bootfs}" pool property |
\item "\texttt{bootfs}"\ pool property |
| 359 |
\item ZIL: adds the capability to specify a separate Intent Log |
\item ZIL: adds the capability to specify a separate Intent Log |
| 360 |
device or devices |
device or devices |
| 361 |
\item ability to delegate \texttt{zfs}(1M) administrative tasks to ordinary |
\item ability to delegate \texttt{zfs}(1M) administrative tasks to ordinary |
| 362 |
users |
users |
| 363 |
\item CIFS server support, dataset quotas |
\item CIFS server support, dataset quotas |
| 364 |
\item Devices can be added to a storage pool as "cache devices" |
\item Devices can be added to a storage pool as "cache devices" |
| 365 |
\item Improved \texttt{zpool scrub}/resilver performance |
\item Improved \texttt{zpool scrub}/resilver performance |
| 366 |
\item Snapshot properties |
\item Snapshot properties |
| 367 |
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren}, |
\item Properties: \texttt{usedbysnapshots}, \texttt{usedbychildren}, |
| 368 |
\texttt{usedbyrefreservation}, and \texttt{usedbydataset} |
\texttt{usedbyrefreservation}, and \texttt{usedbydataset} |
| 369 |
\item passthrough-x aclinherit property support |
\item passthrough-x aclinherit property support |
| 370 |
\item Properties: \texttt{userquota}, \texttt{groupquota}, \texttt{userused} and \texttt{groupused}; |
\item Properties: \texttt{userquota}, \texttt{groupquota}, \texttt{userused} and \texttt{groupused}; |
| 371 |
also required FS v4 |
also required FS v4 |
| 372 |
\item STMF property support |
\item STMF property support |
| 373 |
\item triple-parity RAID-Z |
\item triple-parity RAID-Z |
| 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}[<+->] |
\begin{itemize}[<+->] |
| 475 |
\item Administrasjon av lagringspoolene |
\item Administrasjon av lagringspoolene |
| 476 |
\end{itemize} |
\end{itemize} |
| 477 |
\item \texttt{zfs} |
\item \texttt{zfs} |
| 478 |
\begin{itemize}[<+->] |
\begin{itemize}[<+->] |
| 479 |
\item Administrasjon av filsystemer, snapshots, kloner, m.m. |
\item Administrasjon av filsystemer, zvolumer, snapshots, kloner, m.m. |
| 480 |
\end{itemize} |
\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}} |
\subsection{\texttt{zpool}} |
| 492 |
\begin{frame}[allowframebreaks] |
\begin{frame}[allowframebreaks] |
| 493 |
\frametitle{Administrasjon av ZFS} |
\frametitle{Administrasjon av ZFS} |
| 494 |
\framesubtitle{\texttt{zpool}-kommandoer} |
\framesubtitle{\texttt{zpool}-kommandoer} |
| 495 |
%\pause |
%\pause |
| 496 |
\begin{itemize}%[<+->] |
\begin{itemize}%[<+->] |
| 497 |
\item \texttt{zpool add} |
\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} |
\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} |
\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} |
\item \texttt{zpool create} |
| 510 |
|
\begin{itemize}%[<+->] |
| 511 |
|
\item Brukes for å opprette pooler |
| 512 |
|
\end{itemize} |
| 513 |
\item \texttt{zpool destroy} |
\item \texttt{zpool destroy} |
| 514 |
|
\begin{itemize}%[<+->] |
| 515 |
|
\item Brukes for å ødelegge pooler |
| 516 |
|
\end{itemize} |
| 517 |
\item \texttt{zpool detach} |
\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} |
\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} |
\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} |
\item \texttt{zpool history} |
| 530 |
|
\begin{itemize}%[<+->] |
| 531 |
|
\item Brukes for å vise historikken til poolen |
| 532 |
|
\end{itemize} |
| 533 |
\item \texttt{zpool import} |
\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} |
\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} |
\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} |
\item \texttt{zpool list} |
| 546 |
|
\begin{itemize}%[<+->] |
| 547 |
|
\item Brukes for å liste opp importerte pooler |
| 548 |
|
\end{itemize} |
| 549 |
\item \texttt{zpool offline} |
\item \texttt{zpool offline} |
| 550 |
|
\begin{itemize}%[<+->] |
| 551 |
|
\item Brukes for å deaktivere en harddisk\slash partisjon |
| 552 |
|
\end{itemize} |
| 553 |
\item \texttt{zpool online} |
\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} |
\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} |
\item \texttt{zpool remove} |
| 562 |
|
\begin{itemize}%[<+->] |
| 563 |
|
\item Brukes for å fjerne en harddisk\slash partisjon |
| 564 |
|
\end{itemize} |
| 565 |
\item \texttt{zpool reopen} |
\item \texttt{zpool reopen} |
| 566 |
|
\begin{itemize}%[<+->] |
| 567 |
|
\item Brukes for \dots |
| 568 |
|
\end{itemize} |
| 569 |
\item \texttt{zpool replace} |
\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} |
\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} |
\item \texttt{zpool set} |
| 578 |
|
\begin{itemize}%[<+->] |
| 579 |
|
\item Brukes for å endre \texttt{zpool}-egenskapene |
| 580 |
|
\end{itemize} |
| 581 |
\item \texttt{zpool split} |
\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} |
\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} |
\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} |
\end{itemize} |
| 594 |
\end{frame} |
\end{frame} |
| 595 |
|
|
| 596 |
\subsection{\texttt{zfs}} |
\subsection{\texttt{zfs}} |
| 597 |
\begin{frame}[allowframebreaks] |
\begin{frame}[allowframebreaks] |
| 598 |
\frametitle{Administrasjon av ZFS} |
\frametitle{Administrasjon av ZFS} |
| 599 |
\framesubtitle{\texttt{zfs}-kommandoer} |
\framesubtitle{\texttt{zfs}-kommandoer} |
| 600 |
%\pause |
%\pause |
| 601 |
\begin{itemize}%[<+->] |
\begin{itemize}%[<+->] |
| 602 |
\item \texttt{zfs allow} |
\item \texttt{zfs allow} |
| 603 |
|
\begin{itemize}%[<+->] |
| 604 |
|
\item |
| 605 |
|
\end{itemize} |
| 606 |
\item \texttt{zfs bookmark} |
\item \texttt{zfs bookmark} |
| 607 |
|
\begin{itemize}%[<+->] |
| 608 |
|
\item |
| 609 |
|
\end{itemize} |
| 610 |
\item \texttt{zfs clone} |
\item \texttt{zfs clone} |
| 611 |
|
\begin{itemize}%[<+->] |
| 612 |
|
\item |
| 613 |
|
\end{itemize} |
| 614 |
\item \texttt{zfs create} |
\item \texttt{zfs create} |
| 615 |
|
\begin{itemize}%[<+->] |
| 616 |
|
\item |
| 617 |
|
\end{itemize} |
| 618 |
\item \texttt{zfs destroy} |
\item \texttt{zfs destroy} |
| 619 |
|
\begin{itemize}%[<+->] |
| 620 |
|
\item |
| 621 |
|
\end{itemize} |
| 622 |
\item \texttt{zfs diff} |
\item \texttt{zfs diff} |
| 623 |
|
\begin{itemize}%[<+->] |
| 624 |
|
\item |
| 625 |
|
\end{itemize} |
| 626 |
\item \texttt{zfs get} |
\item \texttt{zfs get} |
| 627 |
|
\begin{itemize}%[<+->] |
| 628 |
|
\item |
| 629 |
|
\end{itemize} |
| 630 |
\item \texttt{zfs groupspace} |
\item \texttt{zfs groupspace} |
| 631 |
|
\begin{itemize}%[<+->] |
| 632 |
|
\item |
| 633 |
|
\end{itemize} |
| 634 |
\item \texttt{zfs holds} |
\item \texttt{zfs holds} |
| 635 |
|
\begin{itemize}%[<+->] |
| 636 |
|
\item |
| 637 |
|
\end{itemize} |
| 638 |
\item \texttt{zfs hold} |
\item \texttt{zfs hold} |
| 639 |
|
\begin{itemize}%[<+->] |
| 640 |
|
\item |
| 641 |
|
\end{itemize} |
| 642 |
\item \texttt{zfs inherit} |
\item \texttt{zfs inherit} |
| 643 |
|
\begin{itemize}%[<+->] |
| 644 |
|
\item |
| 645 |
|
\end{itemize} |
| 646 |
\item \texttt{zfs jail} |
\item \texttt{zfs jail} |
| 647 |
|
\begin{itemize}%[<+->] |
| 648 |
|
\item |
| 649 |
|
\end{itemize} |
| 650 |
\item \texttt{zfs list} |
\item \texttt{zfs list} |
| 651 |
|
\begin{itemize}%[<+->] |
| 652 |
|
\item |
| 653 |
|
\end{itemize} |
| 654 |
\item \texttt{zfs mount} |
\item \texttt{zfs mount} |
| 655 |
|
\begin{itemize}%[<+->] |
| 656 |
|
\item |
| 657 |
|
\end{itemize} |
| 658 |
\item \texttt{zfs promote} |
\item \texttt{zfs promote} |
| 659 |
|
\begin{itemize}%[<+->] |
| 660 |
|
\item |
| 661 |
|
\end{itemize} |
| 662 |
\item \texttt{zfs receive} |
\item \texttt{zfs receive} |
| 663 |
|
\begin{itemize}%[<+->] |
| 664 |
|
\item |
| 665 |
|
\end{itemize} |
| 666 |
\item \texttt{zfs release} |
\item \texttt{zfs release} |
| 667 |
|
\begin{itemize}%[<+->] |
| 668 |
|
\item |
| 669 |
|
\end{itemize} |
| 670 |
\item \texttt{zfs rename} |
\item \texttt{zfs rename} |
| 671 |
|
\begin{itemize}%[<+->] |
| 672 |
|
\item |
| 673 |
|
\end{itemize} |
| 674 |
\item \texttt{zfs rollback} |
\item \texttt{zfs rollback} |
| 675 |
|
\begin{itemize}%[<+->] |
| 676 |
|
\item |
| 677 |
|
\end{itemize} |
| 678 |
\item \texttt{zfs send} |
\item \texttt{zfs send} |
| 679 |
|
\begin{itemize}%[<+->] |
| 680 |
|
\item |
| 681 |
|
\end{itemize} |
| 682 |
\item \texttt{zfs set} |
\item \texttt{zfs set} |
| 683 |
|
\begin{itemize}%[<+->] |
| 684 |
|
\item |
| 685 |
|
\end{itemize} |
| 686 |
\item \texttt{zfs share} |
\item \texttt{zfs share} |
| 687 |
|
\begin{itemize}%[<+->] |
| 688 |
|
\item |
| 689 |
|
\end{itemize} |
| 690 |
\item \texttt{zfs snapshot} |
\item \texttt{zfs snapshot} |
| 691 |
|
\begin{itemize}%[<+->] |
| 692 |
|
\item |
| 693 |
|
\end{itemize} |
| 694 |
\item \texttt{zfs unallow} |
\item \texttt{zfs unallow} |
| 695 |
|
\begin{itemize}%[<+->] |
| 696 |
|
\item |
| 697 |
|
\end{itemize} |
| 698 |
\item \texttt{zfs unjail} |
\item \texttt{zfs unjail} |
| 699 |
|
\begin{itemize}%[<+->] |
| 700 |
|
\item |
| 701 |
|
\end{itemize} |
| 702 |
\item \texttt{zfs unmount} |
\item \texttt{zfs unmount} |
| 703 |
|
\begin{itemize}%[<+->] |
| 704 |
|
\item |
| 705 |
|
\end{itemize} |
| 706 |
\item \texttt{zfs unshare} |
\item \texttt{zfs unshare} |
| 707 |
|
\begin{itemize}%[<+->] |
| 708 |
|
\item |
| 709 |
|
\end{itemize} |
| 710 |
\item \texttt{zfs upgrade} |
\item \texttt{zfs upgrade} |
| 711 |
|
\begin{itemize}%[<+->] |
| 712 |
|
\item |
| 713 |
|
\end{itemize} |
| 714 |
\item \texttt{zfs userspace} |
\item \texttt{zfs userspace} |
| 715 |
|
\begin{itemize}%[<+->] |
| 716 |
|
\item |
| 717 |
|
\end{itemize} |
| 718 |
\end{itemize} |
\end{itemize} |
| 719 |
\end{frame} |
\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 |
| 795 |
\item \texttt{listsnapshots} |
\item \texttt{listsnapshots} |
| 796 |
\item \texttt{autoexpand} |
\item \texttt{autoexpand} |
| 797 |
\item \texttt{dedupditto} |
\item \texttt{dedupditto} |
| 798 |
\item \texttt{dedupratio} |
\item \texttt{dedupratio} |
| 799 |
\item \texttt{free} |
\item \texttt{free} |
| 800 |
\item \texttt{allocated} |
\item \texttt{allocated} |
| 801 |
\item \texttt{readonly} |
\item \texttt{readonly} |
| 802 |
\item \texttt{comment} |
\item \texttt{comment} |
| 803 |
\item \texttt{expandsize} |
\item \texttt{expandsize} |
| 804 |
\item \texttt{freeing} |
\item \texttt{freeing} |
| 805 |
\item \texttt{feature@async\_destroy} |
\item \texttt{feature@async\_destroy} |
| 806 |
\item \texttt{feature@empty\_bpobj} |
\item \texttt{feature@empty\_bpobj} |
| 807 |
\item \texttt{feature@lz4\_compress} |
\item \texttt{feature@lz4\_compress} |
| 808 |
\item \texttt{feature@multi\_vdev\_crash\_dump} |
\item \texttt{feature@multi\_vdev\_crash\_dump} |
| 809 |
\item \texttt{feature@spacemap\_histogram} |
\item \texttt{feature@spacemap\_histogram} |
| 810 |
|
\item \texttt{feature@enabled\_txg} |
| 811 |
|
\item \texttt{feature@hole\_birth} |
| 812 |
\item \texttt{feature@extensible\_dataset} |
\item \texttt{feature@extensible\_dataset} |
| 813 |
|
\item \texttt{feature@bookmarks} |
| 814 |
\end{itemize} |
\end{itemize} |
| 815 |
\end{frame} |
\end{frame} |
| 816 |
|
|
| 817 |
\section{\texttt{zfs}-egenskaper} |
\section{\texttt{zfs}-egenskaper} |
| 818 |
\begin{frame}[allowframebreaks] |
\begin{frame}[allowframebreaks] |
| 819 |
\frametitle{\texttt{zfs}-egenskaper} |
\frametitle{\texttt{zfs}-egenskaper} |
| 820 |
%\pause |
%\pause |
| 821 |
\begin{itemize}%[<+->] |
\begin{itemize}%[<+->] |
| 822 |
\item \texttt{type} |
\item \texttt{type} |
| 823 |
\item \texttt{creation} |
\item \texttt{creation} |
| 824 |
\item \texttt{used} |
\item \texttt{used} |
| 825 |
\item \texttt{available} |
\item \texttt{available} |
| 826 |
\item \texttt{referenced} |
\item \texttt{referenced} |
| 827 |
\item \texttt{compressratio} |
\item \texttt{compressratio} |
| 828 |
\item \texttt{mounted} |
\item \texttt{mounted} |