ZFS und FreeBSD
Donnerstag, 24. September 2009Ich verwende das Dateisystem ZFS unter Opensolaris für einige Backup Server. Zusammen mit einem kleinen Shell Script macht ZFS hier einen hervorragenden Job. Was ich jetzt durch Snapshots erledige hat vorher Rsync mit Hardlinks gemacht (Siehe –link-dest). Das Löschen der Hardlink-”Snapshots” dauerte allerdings gerade bei vielen Files (Beispiel Mailserver) Stunden. Nach dem erste total verstörten XFS bin ich später wieder auf ext3 zurückgefallen.
Der Nachteil bei Opensolaris ist das nur sehr spezielle Hardware verwendet werden kann. Es gibt bei Sun eine Liste mit Konfigurationen die angeblich Funktionieren. Bei mir Funktioniert z.B. das Intel Board Intel DP35DPM das sechs Onboard SATA Ports besitzt oder der SAS Controller SAS3081E-R von LSI Logic. Der SAS Controller ist allerdings übermäßig teuer. Schöner wäre es wenn ich z.B. 3ware Controller verwenden könnte von denen ich hier noch einige liegen habe. Die werden durch Opensolaris aber nicht erkannt.
Deswegen habe ich mich jetzt doch durch gerungen es mal mit FreeBSD zu versuchen und bin positiv überrascht. Mein letzter Kontakt liegt einige Jahre zurück. In der Erinnerung hat die Installation Stunden gedauert da alle Ports lokal kompiliert werden mußten.
Inzwischen hat sich auch bei FreeBSD einiges getan. Die installation geht mindestens so schnell wie z.B. bei einem Debian Lenny. Dazu läd man sich von freebsd.org ein Minimal Image das gerade mal 20MB klein ist und installiert danach das System per FTP aus dem Netz (die FTP Server sind übrigens schon per IPv6 angebunden).
Es gibt ein vortreffliches deutsches (Online) Handbuch in dem neben der Installation auch viele ganz allgemeine Unix/Computer Themen beschrieben sind. Dazu empfehlen kann ich auch noch den CRE48 sowie den CRE49.
Will man unter FreeBSD das Filesystem ZFS verwenden sollte man mindestens 2GB Ram verwenden und eine 64Bit Version installieren. Andernfalls muß man den Kernel selbst kompilieren und einige andere Kernel-Speicher-Parameter anpassen. Was durchaus machbar ist man sich aber so sparen kann.
Auf einem neu installierten System ist die Paketverwaltung der wohl wichtigste Teil. Hier gab es bei Solaris auch einiges Auszusetzen. Bis ich dort alles installiert hatte das ich angenehm arbeiten konnte hat es eine Weile gedauert. Unter FreeBSD kann man mit pkg_add -r <portname> alle (?) FreeBSD Ports als Binary installieren. Das geht genauso einfach und schnell wie mit apt-get unter Debian. Die installieren Ports listet man mit pkg_info auf. pkg_info -L <portname-version> zeigt die in dem Port enthaltenen Files.
Nach der Installation von bash, emacs, nrpe, nagios-checks, postfix und samba konnte die ZFS Konfiguration begonnen werden die sich von der unter Solaris kaum unterscheidet.
Ich kann jedem der ZFS verwenden will nur zu FreeBSD raten. Gerade für Linux User ist FreeBSD näher als Solaris.
Update: Man sollte auf jeden Fall ein 8er Release verwenden. die 7er liefen bei mir trotz Kernel Anpassungen nicht stabil mit zfs. Weiterhin habe ich bei meinem Test System lausige Transferraten von ca. 7MB/s schreibend. Es muß sich noch raus stellen ob das an der Hardware oder an FreeBSD liegt. Was sehr gut funktioniert ist dieser (IB-169SK-B) Raidsonic Wechselrahmen bei dem man eine SATA Platte ohne Werkzeug wechseln kann. Damit können Backups dann einfach in einen Tresor ausgelagert werden. Der Plattenwechsel wird von dem 3Ware Controller ohne Probleme erkannt. Nach dem die neue Platte eingelegt wurde muß über das Webinterface nur ein Rescan angeworfen werden. Anschließend kann auf der neuen Platten ein zpool angelegt werden.



