ZFS-Unterstützung für Ubuntu GNU/Linux
Da ich mich nach wie vor nur schlecht für ein bestimmtes Betriebssystem entscheiden kann, habe ich beschlossen, mich wenigstens auf ein Dateisystem festzulegen ;-).
Meine Wahl ist nun also auf ZFS gefallen, da ich dieses neben (Open)Solaris sowohl unter Linux (mit ZFS-FUSE) als auch unter Mac OS X lesen kann (vielleicht wird mein nächster “PC” ja ein Mac)
ZFS-FUSE in Ubuntu 8.10
Der Eintrag zu ZFS im Ubuntu-Wiki beschreibt die Installation von ZFS-Fuse unter Ubuntu Linux. Diese beschränkt sich hauptsächlich auf das Eintragen der Paketquellen in /etc/apt/sources.list sowie ein apt-get update sowie apt-get install zfs-fuse. Bestehende ZFS-Dateisysteme werden daraufhin automatisch gemountet.
Anlegen des ZFS unter OpenSolaris
Leider habe ich für die Erstellung des ZFS-Pools nur zwei Platten frei. Eine dritte Platte wird erst frei, wenn ich meine Daten von dieser auf den ZFS-Pool verschoben habe.
Von einer OpenSolaris 2008.11 Live-CD erstelle ich den RAID-Z-Pool, der eigentlich aus mindestens drei Disks bestehen müsste, aus zwei Platten und einem genauso großen Sparse-File auf der Festplatte:
jack@opensolaris:~$ pfexec mkfile -nv 1000202305536 /tmp/tera tera 1000202305536 bytes jack@opensolaris:~$ pfexec zpool create -f timo raidz c6d0 c6d1 /tmp/tera jack@opensolaris:~$ pfexec zfs create /timo/daten jack@opensolaris:~$ pfexec zfs create /timo/musik jack@opensolaris:~$ zpool status pool: timo state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM timo ONLINE 0 0 0 raidz1 ONLINE 0 0 0 c6d0 ONLINE 0 0 0 c6d1 ONLINE 0 0 0 /tmp/tera ONLINE 0 0 0 errors: No known data errors
Nach dem Anlegen des Dateisystems nehme ich diese Datei /tmp/tera wieder aus dem Pool heraus (entweder per zpool offline bzw. in diesem Fall per Neustart).
Umkopieren der Daten unter GNU/Linux
Von einer Ubuntu-Installations-Live-CD aus kann ich nun (nach oben beschriebener Installation von ZFS-FUSE) die Dateien vom XFS-Dateisystem auf das neue ZFS umziehen. Der ZFS-Pool hat solange allerdings den Status „DEGRADED”. Später kann ich dann das fehlende /tmp/tera durch die bisherige Datenfestplatte ersetzen:
ubuntu@ubuntu:~$ sudo zpool status
pool: timo
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
see: http://www.sun.com/msg/ZFS-8000-2Q
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
timo DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
sdb1 ONLINE 0 0 0
sdc1 ONLINE 0 0 0
7106139258821418871 UNAVAIL 0 0 0 was /tmp/tera
errors: No known data errors
ubuntu@ubuntu:~$

Mutig mutig. Hab bei mir häufiger schon checksummenfehler gehabt, die ohne redundanz nicht hätte
n wiederhergestellt hätten können.
Welche ZFS Dateisystem version betreibst du? die Aktuellste? denn da hätte man ja wieder das problem das man von Mac OS X nicht mehr darauf zugreifen kann.
Hab meinen Pool daher etwas anders erstellt. Wie bringst du die Platten unter?
http://www.andybreuhan.de/2009/03/31/zfs-speicher-pool-unter-ubuntu-erstellen/
@andy
Hallo Andy, danke für Deinen Kommentar!
Checksummenfehler hatte ich bisher noch nicht, allerdings das Phänomen, dass der komplette Pool plötzlich unter Linux nicht mehr gefunden wurde, unter OpenSolaris hingegen schon.
Ursprünglich habe ich die aktuellen ZPOOL- und ZFS-Versionen (also in dem Fall 13 und 3) verwendet, in der Hoffnung bald auch Unterstützung dafür in Mac OS X zu haben.
Die Platten stecken derzeit bei mir in einem Tower-Gehäuse unter’m Schreibtisch, das mit 8 5 1/4″-Einschüben ausreichend Luft bietet.
Da ich mit dem Gedanken spiele, mit einen Mac Pro zuzulegen, müsste ich dann — je nachdem, wie bald ich mich dazu durchringe
— wohl einen Pool mit der dann maximal von ZFS unter Mac OS X unterstützen Version anlegen.
Testweise habe ich noch eine externe Platte (am PC mit eSATA, am Mac über USB) angeschlossen und darauf einen ZPOOL Version 8, ZFS ZPL Version 2 angelegt. Wie es aussieht, lässt sich damit problemlos unter OpenSolaris, Linux und Mac OS X arbeiten.
@Timo Holle
ja Version 8 läuft gut, auch wenn der mac immer etwas übereifrig beim mounten ist und den pool schon importet obwohl noch gar nicht alle platten dran sind.
Das mit dem Gehäuse hast du dir schön einfach gemacht, wäre mir allerdings zu laut 6 kreischende platten unter Schreibtisch zu haben.
Weißt du wie man sich selbst emails schicken kann wenn der pool degregaded ist? Ich hab da bisher außerhalb von opensolaris nix dazu gefunden