Demos, Caches, Snapshots, … weiter ausgeführt

This commit is contained in:
Peter 2021-11-17 22:44:24 +01:00
parent c51d349279
commit 9c9fa7450c
Signed by: pludi
GPG Key ID: FB1A00FEE77E2C36
1 changed files with 117 additions and 30 deletions

View File

@ -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)