Ab Ubuntu 16.04 (Kernel 4.4) wird auch ZFS mit geliefert. Hier will ich zeigen, wie man ZFS installiert und nutzt.
sudo apt-get install zfsutils-linux
Nach der Installation sollte ZFS als Kernel Modul geladen sein.
lsmod |grep zfs
Mit den Tool „zpool“ kann man sich die Volumes und den Status von ZFS anzeigen lassen.
sudo zpool list
sudo zpool status
2GB Volume erstellen in Image-Datei
dd if=/dev/zero of=/home/user/example.img bs=1M count=2048
sudo zpool create mypool /home/user/example.img
ZFS Raid1 (mirror) Volume mit zwei Festplatten erstellen
sudo zpool create mypool mirror /dev/sdb /dev/sdc
ZFS Raid5 (strip parity) Volume mit 4 Festplatten erstellen
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde
ZFS Raid6 (double parity) Volume mit 5 Festplatten erstellen
sudo zpool create example raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
Volume löschen
sudo zpool destroy mypool
ZFS 10GByte File System erstellen und Kompression setzen
sudo zfs create mypool/projects
sudo zfs set quota=10G mypool/projects
sudo zfs set compression=on mypool/projects
ZFS File System anzeigen
sudo zfs list
ZFS File System löschen
sudo zfs destroy mypool/tmp
ZFS Snapshots erstellen und anzeigen (read only)
sudo zfs snapshot -r mypool/projects@snap1
sudo zfs list -t snapshot
ZFS Snapshot zurück rollen
sudo zfs rollback mypool/projects@snap1
ZFS Snapshot löschen
sudo zfs destroy mypool/projects@snap1
ZFS Clone erstellen (writeable copy)
Ein Clone ist eine beschreibare Kopie von einem Snapshot.
sudo zfs snapshot -r mypool/projects@snap1
sudo zfs clone mypool/projects@snap1 mypool/projects-clone
ZFS Send / Receive (Backup / Restore) erstellen
Ein Snapshot erstellen und an eine Datei senden
sudo zfs snapshot -r mypool/projects@snap2
sudo zfs send mypool/projects@snap2 > ~/projects-snap.zfs
Ein Snapshot zurück schreiben.
sudo zfs receive -F mypool/projects-copy < ~/projects-snap.zfs
Weitere Information zu ZFS Ditto Blocks, ZFS Deduplication, ZFS Pool Scrubbing und ZFS compression finden Sie im Wiki ZFS.
ZFS kann mit LXD genutzt werden.
sudo apt-get install lxd
Nach der Installation können wir LXD konfigurieren.
sudo ldx init
Name of the storage backend to use (dir or zfs): zfs
Create a new ZFS pool (yes/no)? yes
Name of the new ZFS pool: lxd
Would you like to use an existing block device (yes/no)? no
Size in GB of the new loop device (1GB minimum): 2
Would you like LXD to be available over the network (yes/no)? no
LXD has been successfully configured. |
Name of the storage backend to use (dir or zfs): zfs
Create a new ZFS pool (yes/no)? yes
Name of the new ZFS pool: lxd
Would you like to use an existing block device (yes/no)? no
Size in GB of the new loop device (1GB minimum): 2
Would you like LXD to be available over the network (yes/no)? no
LXD has been successfully configured.
Jetzt erstellen wir einen Container und starten ihn.
sudo lxc launch ubuntu:14.04 my-ubuntu