ZFS auf Linux einsetzen: Unterschied zwischen den Versionen
imported>Meap Keine Bearbeitungszusammenfassung |
imported>Meap Keine Bearbeitungszusammenfassung |
||
| Zeile 8: | Zeile 8: | ||
Homepage......................: http://zfsonlinux.org/ | Homepage......................: http://zfsonlinux.org/ | ||
Dokumentation.................: http://zfsonlinux.org/docs.html | Dokumentation.................: http://zfsonlinux.org/docs.html | ||
Wikipedia.....................: http://de.wikipedia.org/wiki/ZFS_(Dateisystem) | |||
== ZFS auf Linux bauen == | == ZFS auf Linux bauen == | ||
Version vom 11. Oktober 2012, 09:23 Uhr
ZFS steht unter der freien Sun-eigenen CDDL Lizenz, die sich leider nicht für Distibutoren mit der GPL vereinbaren läßt.
Diese Dilemma kann man als Linux-Nutzer umgehen, indem man die zfs-Pakete selber baut _(auch als DEB/RPM Pakete)_
Es ist noch anzumerken, dass die ZFS-Versionen mit der Übernahme von SUN durch Oracle ggf. auseinander laufen werden _(sprich unter Linux eine kleinere ZFS-Version existiert, wie unter Solaris oder Nexenta/SmartOS/...)_
Links
Homepage......................: http://zfsonlinux.org/ Dokumentation.................: http://zfsonlinux.org/docs.html Wikipedia.....................: http://de.wikipedia.org/wiki/ZFS_(Dateisystem)
ZFS auf Linux bauen
(hier am Beispiel von Debian - es wird aber auch für RPM-Pakete beschrieben)
# Vorbereitung des Systems
aptitude install build-essential gawk alien fakeroot linux-headers-$(uname -r)
aptitude install uuid-dev
# erleichterungen fuer neue Versionen
version=0.6.0-rc10
basedir=/root/zfs
debdir=$basedir/deb-${version}
# herunterladen der aktuellen pakete
mkdir -pv $debdir
cd $basedir
wget -p http://github.com/downloads/zfsonlinux/spl/spl-${version}.tar.gz
wget -p http://github.com/downloads/zfsonlinux/zfs/zfs-${version}.tar.gz
ln -s github.com/downloads/zfsonlinux/*/*${version}.tar.gz .
# auspacken
cd $basedir && tar -xzf spl-${version}.tar.gz && tar -xzf zfs-${version}.tar.gz
# bauen & installieren der deb-Pakete
cd $basedir/spl-${version} && ./configure && make deb && mv *.deb $debdir && dpkg -i $debdir/spl*deb
cd $basedir/zfs-${version} && ./configure && make deb && mv *.deb $debdir && dpkg -i $debdir/zfs*deb
rm -rf $basedir/spl-${version} $basedir/zfs-${version}
ZPool erstellen
Dies bedarf des Studiums der Manpage von [1] (wobei die Linux-Version ggf. einen älteren Version hat) Es stellt sich hierbei die Frage, welche Device-Bezeichnung man verwenden sollte. Meiner Meinung nach ist es nicht so geschickt, /dev/sda, /dev/sdb zu verwenden, da diese ggf. auch das Root-FS beinhalten könnten und ggf. Festplatten andere Bezeichnungen bekommen können (z.B. beim Umstecken der SATA-Ports)
Ich favorisiere die Namen unter /dev/disk/by-id/ata..., da diese die Festplatte eindeutig kennzeichnen. Der Nachteil ist sicherlich, die etwas lange Schreibform.
Beispiel: Nehmen wir nun mal an, wir haben folgende Inhalt in /dev/disk/by-id/
/dev/disk/by-id/ata-HDS725050KLA360_KRVN65ZAHMMZBF -> ../../sda # Root Filesystem /dev/disk/by-id/ata-HL-DT-ST_DVDRAM_GSA-H10N_K1B66FL2131 -> ../../sr0 # CDRom /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F0ZPTW -> ../../sdd # fuer ZFS /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F0ZTQC -> ../../sdj # fuer ZFS /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F1076E -> ../../sdc # fuer ZFS /dev/disk/by-id/ata-ST3000DM001-9YN166_W1F0NA2S -> ../../sdg # fuer ZFS /dev/disk/by-id/ata-ST3000DM001-9YN166_W1F0TZ5T -> ../../sdh # fuer ZFS /dev/disk/by-id/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0966140 -> ../../sdi # fuer ZFS /dev/disk/by-id/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0987954 -> ../../sdb # fuer ZFS
Nun erstellen wir ein Raid-Z (entspricht einem Raid-5) mit Namen 'hd' wie folgt:
i=/dev/disk/by-id zpool create hd raidz \ $i/ata-ST3000DM001-1CH166_Z1F0ZPTW \ $i/ata-ST3000DM001-1CH166_Z1F0ZTQC \ $i/ata-ST3000DM001-1CH166_Z1F1076E \ $i/ata-ST3000DM001-9YN166_W1F0NA2S \ $i/ata-ST3000DM001-9YN166_W1F0TZ5T \ $i/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0966140 \ $i/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0987954 \
Dies wird nun durch den ZFS-Treiber direkt gemountet nach /hd. Den Zustand des ZFS-Pools können wir uns nun anzeigen lassen mittels:
zpool status -v hd
pool: hd
state: ONLINE
scan: not scanned
config:
NAME STATE READ WRITE CKSUM
hd-0 ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F0ZTQC ONLINE 0 0 0
ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0987954 ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F1076E ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F0ZPTW ONLINE 0 0 0
ata-ST3000DM001-9YN166_W1F0TZ5T ONLINE 0 0 0
ata-ST3000DM001-9YN166_W1F0NA2S ONLINE 0 0 0
ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ0966140 ONLINE 0 0 0
errors: No known data errors