ZEVO ZFS Community Edition für Macintosh

Nach ewigen Hin und Her gibt es nun den Treiber für ZFS in einer kostenlos downloadbaren Community Edition. Der Nachteil von dieser gegenüber der vorherigen Kaufversion ist allerdings, dass man über das GUI-Frontend in den Systemeinstellungen keine Volumes erstellen kann, sondern nur den Intigritäts-Check durchführen kann.
Also werde ich hier mal einen kurzen Workaround aufstellen, wie man sich unter der Konsole ZFS-volumes erstellt und verwaltet.

Mit dem Befehl ls -l /dev/disk* lässt man sich erstmal alle verfügbaren Datenträger anzeigen.

sommteck:~ franky$ ls -l /dev/disk*
598 0 brw-r-----  1 root  operator    1,   0 27 Jul 21:26 /dev/disk0
600 0 brw-r-----  1 root  operator    1,   1 27 Jul 21:26 /dev/disk0s1
602 0 brw-r-----  1 root  operator    1,   2 27 Jul 21:26 /dev/disk0s2
604 0 brw-r-----  1 root  operator    1,   3 27 Jul 21:26 /dev/disk0s3
606 0 brw-r-----  1 root  operator    1,   4 27 Jul 21:26 /dev/disk1
835 0 brw-r-----  1 root  operator    1,   5 19 Aug 10:42 /dev/disk2
839 0 brw-r-----  1 root  operator    1,   6 19 Aug 10:42 /dev/disk2s1

Für eine detaillierte Auflistung aller Datenträger benutz man die Funktion list des Kommandozeilenprogramm diskutil.

sommteck:~ franky$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         319.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Simba                  *318.9 GB   disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *2.1 GB     disk2
   1:               Windows_NTFS Ohne Titel              2.1 GB     disk2s1

In der Ausgabe sieht man drei Datenträger.
/dev/disk0 ist der Erste und gleichzeitig die Festplatte des Computer auf der ich das hier veranstalte. Auf ihm liegt die Partitionstabelle, die EFI-Firmware des Computer selbst, die Partition mit dem Computerbetriebssystem und allerlei Daten, und eine spezielle Recovery-Partition für das Mac OS.
/dev/disk1 wird als ein weiteres Laufwerk angezeigt, ist aber in Wirklichkeit die Computerfestplatte und deshalb noch einmal aufgelistet, da es sich um ein LogicalVolume von Apple’s CoreStorage handelt, welches verschlüsselt ist.
/dev/disk2 ist schlussendlich der 2 Gigabyte große USB-Stick den ich für das ZFS verwenden möchte. Er beherbergt erst einmal ein Windows-Dateisystem.

Da die bisherige Community-Edition bisher keine bootfahigen ZFS-Volumes erstellen kann, zeigt der Befehl zpool showdisks nur die Laufwerksgeräte an, die für den Treiber in Frage kommen und man sollte nicht in der Lage sein, seine Systempartition zu zerschiessen. Also wird nur der USB-Stick angezeigt, der in Frage kommt und den ich verwenden will.

sommteck:~ franky$ zpool showdisks

DISK DEVICE      SIZE  CONNECTION    DESCRIPTION
/dev/disk2    1,91GiB  USB           SanDisk U3 Titanium Media

Jetzt ans Eingemachte! Mit zpool create wird ein ZFS-Volume mit einer Disk erstellt.

sommteck:~ franky$ sudo zpool create -f ZFS-Disk /dev/disk2

Da jetzt nun ein Laufwerk mit ZFS vorhanden ist, wird der Befehl zpool list eine Ausgabe geben.

sommteck:~ franky$ zpool list
NAME        SIZE   ALLOC    FREE     CAP  HEALTH  ALTROOT
ZFS-Disk  1,78Gi   672Ki  1,78Gi      0%  ONLINE  -

Mit zpool status und dem Namen des gewünschten Pool lassen sich die Informationen vertiefen.

sommteck:~ franky$ zpool status ZFS-Disk
  pool: ZFS-Disk
 state: ONLINE
 scan: none requested
config:

	NAME                                         STATE     READ WRITE CKSUM
	ZFS-Disk                                     ONLINE       0     0     0
	  GPTE_20835C0B-2B01-4E41-B117-3E88498CD134  ONLINE       0     0     0  at disk2s1

errors: No known data errors

Disclaimer:
Für meine Übungsbeispiele habe ich bewusst USB-Sticks genommen, weil sie einfach, leicht und handlicher als Festplatten sind. Allerdings performen sie so überhaupt nicht. Das Kopieren einer ca 700 MB grossen Filmdatei dauert mit ZFS auf ihnen ein vielfaches an Zeit, als wenn auf einem Stick ein FAT oder HFS+ betrieben wird. Beim Versuch, ZFS auf eine 250 Gigabyte grosse externe Platte zu bringen, wurden die Daten tatsächlich mit der Geschwindigkeit geschrieben, die auch der Bus zu leisten vermag. In dem Fall eine IDE-Platte.