Grundinstallation
Die Installation selbst ist nicht schwierig, allerdings sollte man sich vorab Gedanken über die Partitionierung machen, um in Zukunft nicht in Probleme zu laufen.
Da die Maschine im Rack steht, habe ich nur Remote-Zugriff darauf.
Somit habe ich mich entschlossen das Basissystem unverschlüsselt laufen zu lassen, der Bereich für die Jails ist verschlüsselt.
Hintergrund
Es sind 2 mal 3 TB Festplatten verbaut - somit lasse ich alles in einem RAID 1 laufen.
Am Ende soll pro Festplatte folgendes Partitionsschema entstehen:
Partitionen | Größe | Typ | |
---|---|---|---|
boot0 boot1 | 512K | boot | 2x einzeln |
sys0 sys1 | 80G | zfs | zfs mirror |
swap0 swap1 | 16G | swap | gmirror |
jail0 jail1 | Rest | zfs | zfs mirror |
Starten
Über die Remote Console (oder auf welchen Weg auch immer) den offiziellen FreeBSD Installer starten…
Wie gehabt installieren, bis man zum Schritt “Partitionierung” kommt. Dort Shell Partitioning auswählen.
Wenn man mit der Partitionierung in der Shell fertig ist, sollte unter /mnt
das Root Datei System eingebunden sein.
Konfiguration
Unter /tmp/bsd_install_…
finden sich Templates, die später als
Konfiguration verwendet werden.
Benötigte Kernel-Module in der /tmp/bsd_install_boot/loader.conf
:
zfs_load="YES"
geom_mirror_load="YES"
fdescfs_load="YES"
nullfs_load="YES"
geom_eli_load="YES"
crypto_load="YES"
aesni_load="YES"
Dann eine fstab unter /tmp/bsd_install_etc/fstab
:
/dev/mirror/swap.eli none swap sw 0 0
Als letztes die /tmp/bsd_install_etc/rc.conf
:
zfs_enable="YES"
Später brauchen wir noch ein paar Kernel-Module. Jetzt ist ein guter Zeitpunkt diese zu laden:
kldload zfs
kldload geom_mirror
kldload geom_eli
kldload crypto
kldload aesni
Partitionierung
Die beiden Festplatten wurden als /dev/ada0
und /dev/ada1
erkannt.
Als erstes wird die Partitionstabelle gelöscht:
dd if=/dev/zero of=/dev/ada0 bs=512 count=1
dd if=/dev/zero of=/dev/ada1 bs=512 count=1
Dann eine gpt Partitionstabelle anlegen:
gpart create -s gpt ada0
gpart create -s gpt ada1
Jetzt erstellen wir die Partitionen, wie oben in der Tabelle:
gpart add -s 512K -a 4k -t freebsd-boot -l boot0 ada0
gpart add -s 512K -a 4k -t freebsd-boot -l boot1 ada1
gpart add -s 80G -a 4k -t freebsd-zfs -l sys0 ada0
gpart add -s 80G -a 4k -t freebsd-zfs -l sys1 ada1
gpart add -s 16G -a 4k -t freebsd-swap -l swap0 ada0
gpart add -s 16G -a 4k -t freebsd-swap -l swap1 ada1
gpart add -a 4k -t freebsd-zfs -l jail0 ada0
gpart add -a 4k -t freebsd-zfs -l jail1 ada1
Es sollten unter /dev/gpt
nun boot0
, boot1
, jail0
, jail1
,
swap0
, swap1
, sys0
und sys1
erscheinen.
Jetzt beide Festplatten parallel als Bootbar markieren - damit, falls eine Platte ausfällt, noch von der anderen gebootet werden kann:
gpart set -a bootme -i 2 ada0
gpart set -a bootme -i 2 ada1
Jetzt den System-Pool anlegen, zur Installation wird dieser unter /mnt
gemountet:
zpool create -R /mnt -O mountpoint=none system mirror gpt/sys0 gpt/sys1
zfs set compression=lz4 system
zfs set checksum=fletcher4 system
zfs create -o mountpoint=/ system/root
zfs create system/root/tmp
zfs create system/root/usr
zfs create system/root/usr/home
zfs create system/root/usr/local
zfs create system/root/usr/obj
zfs create system/root/usr/ports
zfs create system/root/usr/src
zfs create system/root/var
zfs create system/root/var/cache
zfs create system/root/var/db
zfs create system/root/var/log
zpool set bootfs=system/root system
Jetzt den Boot-Code installieren:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
Swap
Für das Swap kommt ein geom mirror zum Einsatz:
gmirror label swap gpt/swap0 gpt/swap1
(Siehe dazu auch die /tmp/bsd_install_etc/fstab
)
Jetzt ist alles fertig, somit können wir mit exit
die Shell beenden,
und die Installation fertig stellen.
Nach Daumen drücken und einem Neustart geht es weiter mit dem anlegen eines Jail-Pools.
last update: 2024-01-28 17:42:17 +0100