Instalujeme FreeBSD do ZFS mirroru
15. srpna 2019Instalaci FreeBSD do UFS mirroru tu už máme, nyní potřebujeme nainstalovat FreeBSD na ZFS root. Tento proces je podstatně jednodušší, protože bsdinstall od verze FreeBSD 10.0 obsahuje průvodce rozdělení diskem pro ZFS root.
Opět budeme potřebovat minimálně dva disky a instalační médium s FreeBSD 10 a vyšší.
Spuštění instalace
Po naběhnutí instalátoru přejděte do části “Partitioning”, kde vybereme položku “Auto (ZFS)”.
Konfigurace ZFS
Objeví se hlavní nabídka s konfigurací ZFS.
Zvolte položku “Pool Type/Disks” a objeví se další okno, kde vybereme typ vdev (virtual device) “mirror”.
Následně vyberte disky, na které chcete nainstalovat operační systém. V mém případě server obsahuje 14 disků, ale operační systém chci instalovat na disk ada0 a ada1.
Instalátor nás vrátí na výchozí nabídku ZFS konfigurace. Nyní už lze přejít přímo k instalaci. Další možnosti konfigurace nechávám ve výchozím stavu, jenom oddíl swap zvětšuju podle paměti, většinou na 16 GB.
V dalším kroku se instalátor ptá, jestli se vším souhlasíte a zároveň varuje, že odsouhlasením tohoto kroku přijdete o data na vypsaných discích.
Pokud se vším souhlasíte, odklepněte nabídku tlačítkem “YES” a instalace FreeBSD pokračuje automaticky dál.
Poinstalační kontrola
Po řádném ukončení instalátoru by měl operační systém naběhnout bez problémů. Zkontrolujte soubor /etc/sysctl.conf
jestli obsahuje
parametr vfs.zfs.min_auto_ashift=12
(zarovnání disku na 4K).
Pro inspiraci se můžete podivat na historii příkazů zfs poolu. To se hodí v případě, když chcete rozdělit disk pro ZFS ručně.
root@storage:~ # zpool history
History for 'zroot':
2019-08-15.16:47:36 zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f zroot mirror ada0p3 ada1p3
2019-08-15.16:47:36 zfs create -o mountpoint=none zroot/ROOT
2019-08-15.16:47:36 zfs create -o mountpoint=/ zroot/ROOT/default
2019-08-15.16:47:36 zfs create -o mountpoint=/tmp -o exec=on -o setuid=off zroot/tmp
2019-08-15.16:47:36 zfs create -o mountpoint=/usr -o canmount=off zroot/usr
2019-08-15.16:47:36 zfs create zroot/usr/home
2019-08-15.16:47:36 zfs create -o setuid=off zroot/usr/ports
2019-08-15.16:47:36 zfs create zroot/usr/src
2019-08-15.16:47:36 zfs create -o mountpoint=/var -o canmount=off zroot/var
2019-08-15.16:47:36 zfs create -o exec=off -o setuid=off zroot/var/audit
2019-08-15.16:47:36 zfs create -o exec=off -o setuid=off zroot/var/crash
2019-08-15.16:47:36 zfs create -o exec=off -o setuid=off zroot/var/log
2019-08-15.16:47:36 zfs create -o atime=on zroot/var/mail
2019-08-15.16:47:36 zfs create -o setuid=off zroot/var/tmp
2019-08-15.16:47:36 zfs set mountpoint=/zroot zroot
2019-08-15.16:47:36 zpool set bootfs=zroot/ROOT/default zroot
2019-08-15.16:47:36 zpool set cachefile=/mnt/boot/zfs/zpool.cache zroot
2019-08-15.16:47:40 zfs set canmount=noauto zroot/ROOT/default
root@storage:~ # zpool status
pool: zroot
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
Rozdělení poolu vypadá následovně:
root@storage:~ # df -h
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 93G 809M 92G 1% /
devfs 1.0K 1.0K 0B 100% /dev
zroot/tmp 92G 88K 92G 0% /tmp
zroot/usr/home 92G 124K 92G 0% /usr/home
zroot/usr/ports 92G 88K 92G 0% /usr/ports
zroot/usr/src 92G 88K 92G 0% /usr/src
zroot/var/audit 92G 88K 92G 0% /var/audit
zroot/var/crash 92G 88K 92G 0% /var/crash
zroot/var/log 92G 152K 92G 0% /var/log
zroot/var/mail 92G 88K 92G 0% /var/mail
zroot/var/tmp 92G 88K 92G 0% /var/tmp
zroot 92G 88K 92G 0% /zroot
Nyní máte FreeBSD nainstalovaný na ZFS mirroru. Stačí ho základně nastavit a můžete použít server v produkčním nasazení.