FreeBSD Installation mit System Mirror und ZFS Raid


Unix , ,


In meinem letzten Posting habe ich ja geschrieben, dass ich mir den HP Microserver angeschafft habe. Nun geht es um die Installation von FreeBSD, bei welcher das System selber über alle Festplatten gespiegelt und der restliche Plattenplatz als ZFS Raid genutzt wird.

Bestückt ist der Server mit 4x 500GB SATA Festplatten (ad4,ad6,ad8 und ad10). Auf jeder Festplatte werden 3 Partitionen angelegt, einmal 25GB für das Betriebssystem, 1GB Swap und der Rest für ZFS.

Nachdem von der FreeBSD CD (ich verwende 8.1 amd64) gebootet wurde und sysinstall gestartet ist, kann die normale Installation gestartet werden. Sobald man bei der Partitionierung ist müssen die Platten wie folgt aufgeteilt werden:

  1. die Platte (ad4) auswählen
  2. Eine Partition mit 25000M erstellen, mit dem Typ 165
  3. Eine Partition mit 1000M erstellen, ebenfalls Typ 165
  4. Eine Partition mit restlich verfügbaren Platz erstellen, auch Typ 165
  5. Partitions Manager mit q verlassen
  6. BootMgr als Boot Manager auswählen (nicht Standard!)
  7. Die obigen Schritte 2-6 nun nochmal für die restlichen Platten (ad6, ad8 und ad10) ausführen

Als nächstes können die Slices angelegt werden.

  1. Ein Slice in ad4s2, ad6s2, ad8s2 und ad10s2 anlegen und als Swap definieren
  2. Ein Slice mit 1024M in ad4s1 anlegen und als Mountpoint / setzen
  3. Ein Slice mit 1024M in ad4s1 anlegen und als Mountpoint /tmp setzen
  4. Ein Slice mit 2048M in ad4s1 anlegen und als Mountpoint /var setzen
  5. Ein Slice mit dem restlich verfügbaren Platz anlegen und als Mountpoint /usr setzen

Es müssen keine weiteren Slices für die anderen Partitionen angelegt werden. Es nur wichtig, dass bei alle Platten adXs2 als Swap definiert wurde. Anschließend kann die Installation normal durchgeführt werden und das System mit sysinstall konfiguriert werden.

Sobald die Installation abgeschlossen ist, kann rebootet werden, allerdings muss wieder von der CD gebootet werden, damit die gmirror Konfiguration vorgenommen werden kann. Wenn die CD gebootet ist, FixIt in sysinstall auswählen und die Shell von CD starten.

In der Shell muss zuerst ein Symlink angelegt werden, damit gmirror in der Shell von CD funktioniert.

ln -s /dist/boot/kernel /boot

Danach kann gmirror geladen und initialisiert werden:

gmirror load
gmirror label -v gm0s1 /dev/ad4s1

Damit FreeBSD den Mirror beim Booten verwendet muss dies noch eingetragen werden:

mount /dev/mirror/gm0s1a /mnt
echo geom_mirror_load="YES" >> /mnt/boot/loader.conf

Schließlich muss noch die Datei /mnt/etc/fstab angepasst werden, dort stehen diese noch mit ad4 drin. Dort muss jeder Eintrag mit /dev/ad4s1X zu /dev/mirror/gm0s1X geändert werden.

Jetzt kann der Rechner direkt von der Festplatte gebootet werden. Sobald das System hochgefahren ist, können die anderen Platten in den Mirror eingehängt werden:

gmirror insert gm0s1 /dev/ad6s1
gmirror insert gm0s1 /dev/ad8s1
gmirror insert gm0s1 /dev/ad10s1
gmirror status

Es kann jetzt ein paar Minuten dauern, bis gmirror status angibt, dass Platten gespiegelt sind. Sobald das erledigt ist, können wir uns um ZFS kümmern.

echo zfs_enable="YES" >> /etc/rc.conf

Dadurch wird ZFS beim Starten aktiviert. Jetzt kann ein ZFS Raid Pool angelegt werden:

zpool create tank raidz ad4s3 ad6s3 ad8s3 ad10s3

Nach der Erstellung des Pools können die einzelnen Mountpoints angelegt werden.

zfs create tank/home
zfs create tank/stuff

Soll z.B. der Mountpoint tank/stuff komprimiert werden, dann kann dies wie folgt gemacht werden:

zfs set compression=gzip tank/stuff

Wenn z.B. die Home Verzeichnisse aus ZFS verwendet werden sollen, so können diese auch direkt unter /home gemountet werden:

zfs set mountpoint=/home tank/home

Sobald alles abgeschlossen ist, hat man ein wunderbares FreeBSD System, welches redundant über alle Festplatten installiert ist :-)



Kommentar hinzufügen