Demos, Caches, Snapshots, … weiter ausgeführt
This commit is contained in:
parent
c51d349279
commit
9c9fa7450c
147
zfs-intro.md
147
zfs-intro.md
|
@ -4,16 +4,30 @@ ZFS Einführung
|
||||||
Inhalt
|
Inhalt
|
||||||
------
|
------
|
||||||
|
|
||||||
- Geschichte
|
::: {.container}
|
||||||
- Pools
|
::: {.col}
|
||||||
- Datasets
|
1. Geschichte
|
||||||
|
2. Pools
|
||||||
|
3. Datasets
|
||||||
- Volumes
|
- Volumes
|
||||||
- Redundanz
|
4. Snapshots
|
||||||
- Caches
|
:::
|
||||||
- Snapshots
|
|
||||||
- Besondere Features
|
::: {.col}
|
||||||
|
5. Redundanz
|
||||||
|
6. Caches
|
||||||
|
7. Besondere Features
|
||||||
- Deduplikation
|
- Deduplikation
|
||||||
- Kompression
|
- Kompression
|
||||||
|
:::
|
||||||
|
:::
|
||||||
|
|
||||||
|
*Nicht* behandelt
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- Austausch von Platten
|
||||||
|
- Eingebautes Sharing via NFS/CIFS
|
||||||
|
- Root auf ZFS
|
||||||
|
|
||||||
Geschichte
|
Geschichte
|
||||||
==========
|
==========
|
||||||
|
@ -33,59 +47,132 @@ Features
|
||||||
Pools
|
Pools
|
||||||
-----
|
-----
|
||||||
|
|
||||||
- ZFS ist Dateisystem und Volume Manager gleichzeitig
|
- ZFS ist Dateisystem und Volume Manager gleichzeitig
|
||||||
- Basis: Blockdevices
|
- Basis: Blockdevices
|
||||||
- Blockdevices können zu `vdev`s zusammengefasst werden
|
- Blockdevices können zu `vdev`s zusammengefasst werden
|
||||||
- Blockdevices und `vdev`s bilden zusammen einen Storage Pool
|
- Blockdevices und `vdev`s bilden zusammen einen Storage Pool
|
||||||
- Viele Einstellungen schon hier möglich, werden runter vererbt
|
- Viele Einstellungen schon hier möglich, werden runter vererbt
|
||||||
|
|
||||||
Demo
|
Demo
|
||||||
----
|
----
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
|
||||||
|
- Einfachen Stripe-Pool anlegen:
|
||||||
|
`zpool create -oashift=12 -R/mnt tank /dev/sd{b,c,d,e}`
|
||||||
|
- "Raid-10" Pool:
|
||||||
|
`zpool create -oashift=12 -R/mnt tank mirror /dev/sd{b,c} mirror /dev/sd{d,e}`
|
||||||
|
- RAID-Z ("RAID-5") Pool:
|
||||||
|
`zpool create -oashift=12 -R/mnt tank raidz /dev/sd{b,c,d,e}`
|
||||||
|
- Allgemeine Einstellungen:
|
||||||
|
- `zfs get compression tank`
|
||||||
|
- `zfs get dedup tank`
|
||||||
|
- `zfs get all tank`
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
Datasets
|
Datasets
|
||||||
--------
|
--------
|
||||||
|
|
||||||
- Datasets entsprechen eigentlichen Dateisystemen
|
- Datasets entsprechen eigentlichen Dateisystemen
|
||||||
- Können verschachtelt werden
|
- Können verschachtelt werden
|
||||||
- Settings eines Datasets werden vererbt
|
- Settings eines Datasets werden vererbt
|
||||||
- Standardmäßig so groß wie das übergeordnete Dataset
|
- Standardmäßig so groß wie das übergeordnete Dataset
|
||||||
- Quotas können gesammt, pro User oder pro Gruppe vergeben werden
|
- Quotas können gesammt, pro User oder pro Gruppe vergeben werden
|
||||||
|
|
||||||
### Volumes
|
Volumes
|
||||||
|
-------
|
||||||
|
|
||||||
- Spezielle Datasets
|
- Spezielle Datasets
|
||||||
- Verhalten sich wie Blockdevices
|
- Verhalten sich wie Blockdevices
|
||||||
- Gerne genutzt für VM Images, Swap Space, …
|
- Gerne genutzt für VM Images, Swap Space, ...
|
||||||
|
|
||||||
Redundanz
|
|
||||||
---------
|
|
||||||
|
|
||||||
Caches
|
|
||||||
------
|
|
||||||
|
|
||||||
Snapshots
|
Snapshots
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- Werden durch CoW ermöglicht
|
||||||
|
- Halten den exakten Stand fest
|
||||||
|
- Sind keine Kopie sondern der eingefrorene Zustand
|
||||||
|
- Können auf andere Rechner, Pools, Datasets übertragen werden
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
|
||||||
|
CoW
|
||||||
|
: Copy on Write, neue Daten überschreiben nicht den vorhandenen Block
|
||||||
|
sondern werden in einen neuen Block geschrieben und Referenzen auf
|
||||||
|
den alten werden bereinigt.
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
Demo
|
||||||
|
----
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
|
||||||
|
- Dataset anlegen: `zfs create tank/zfsintro`
|
||||||
|
- Dataset mit Quota: `zfs create -o quota=1G tank/zfsintro/data`
|
||||||
|
- Quota ändern: `zfs set quota=5G tank/zfsintro`
|
||||||
|
- Quota für User: `zfs set userquota@backup=1G tank/zfsintro`
|
||||||
|
- Volume anlegen: `zfs create -b 4096 -V 2G tank/swap`
|
||||||
|
- Snapshot anlegen: `zfs snaphot tank/zfsintro/data@snap1`
|
||||||
|
- Snapshot in `$DATASET/.zfs/snapshot`, Readonly
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
Caches: RAM
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- ARC Read-Cache, Default: zwischen `max(32MB, 1/32 RAM)` und ½ RAM
|
||||||
|
- Write-Cache, schreibt zumindest alle 5-30 Sekunden auf die Platte
|
||||||
|
|
||||||
|
Caches: Disken
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- Pro Pool
|
||||||
|
- Schnelle Medien (SSD, M2, ...)
|
||||||
|
- Lesen: L2ARC (Level 2 ARC), kann auch Dedup-Tabelle halten
|
||||||
|
- Schreiben: SLOG als Schreib-Cache
|
||||||
|
- Sollte gespiegelt sein, sonst Risiko des Datenverlusts
|
||||||
|
- Können im Betrieb hinzugefügt und entfernt werden
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
|
||||||
|
ARC
|
||||||
|
: Adaptive Replacement Cache
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
Besondere Features
|
Besondere Features
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Deduplikation
|
Deduplikation
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
- Prüfsumme über Blöcke, wenn gleich wird nur 1 Kopie gespeichert
|
||||||
|
- Keine rückwirkende Änderung
|
||||||
|
- Braucht **viel** RAM (1GB RAM / 1TB Dataset zusätzlich)
|
||||||
|
- Sinnvoll für Archive
|
||||||
|
|
||||||
Kompression
|
Kompression
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
- Wie Dedup auf Block-Level
|
||||||
|
- Wie Dedup keine rückwirkende Änderung
|
||||||
|
- Unterschiedliche Verfahren je nach Anforderung vorhanden
|
||||||
|
- *Sehr* sinnvoll für Datasets mit viele Text-Dateien (Logs,
|
||||||
|
Mail-Spool, ...)
|
||||||
|
|
||||||
Links
|
Links
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Links
|
Links
|
||||||
-----
|
-----
|
||||||
|
|
||||||
<dl>
|
ZFS Demo VM
|
||||||
<dt>ZFS Demo VM</dt><dd>https://cloud.usrspace.at/s/eB4ifqQBNtLz322</dd>
|
: https://cloud.usrspace.at/s/eB4ifqQBNtLz322
|
||||||
</dl>
|
|
||||||
|
Wikipedia zu ZFS
|
||||||
|
: https://en.wikipedia.org/wiki/ZFS
|
||||||
|
|
||||||
Präsentation ist [CC-BY-SA
|
Präsentation ist [CC-BY-SA
|
||||||
4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.de)
|
4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.de)
|
||||||
|
|
Loading…
Reference in New Issue