Home > Computer, Linux, Mac OS X, Solaris > ZFS-Unterstützung für Ubuntu GNU/Linux

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:~$ 


Links

Timo Holle Computer, Linux, Mac OS X, Solaris , , , , , ,

  1. andy
    14. April 2009, 21:25 | #1

    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/

  2. 15. April 2009, 11:43 | #2

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

  3. andy
    17. April 2009, 11:38 | #3

    @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

  1. 3. April 2009, 20:44 | #1
  2. 3. April 2009, 23:56 | #2
Du musst Dich anmelden um einen Kommentar zu schreiben