BtrFS – Erste Schritte

Btrfs (B-tree FS) ist ein neuen Dateisystem für Linux und möchte den gleichen Funktionsumfang wie ZFS bieten. Ein Vorteil von Btrfs ist, dass es Teil jedes aktuellen Linux Kernel ist. Ziel ist es, einen Überblick der wichtigen Kommandos zu erhalten.

sudo apt install btrfs-tools

RAID 1 (Spieglung) ist mit Btrfs sehr einfach möglich. Man gibt einfach die Partitionen der Festplatten (sdb1,sdc1) an.

sudo mkfs.btrfs -m raid1 -d raid1 -L "BTRFS_RAID" /dev/sdb1 /dev/sdc1

Damit ist die Spieglung der Festplatten erstellt. Die BlockID kann man sich mit ganz einfach anzeigen lassen.

sudo blkid

Die UUID von dem RAID1 tragen wir in die Startdatei ein.

sudoedit /etc/fstab

UUID=2f633613-45b4-36cf-b4be-90a1748f4753   /mnt/data   btrfs  defaults,subvol=/,compress,autodefrag,inode_cache   0  0

Weiterlesen

Ubuntu 16.04 mit ZFS

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.

Jetzt erstellen wir einen Container und starten ihn.

sudo lxc launch ubuntu:14.04 my-ubuntu