Instalaci 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ě.
Instalace FreeBSD díky bsdinsallu je jednoduchý proces, kdy během pár minut máte na disku plně funkční operační systém. Pokud ale potřebujete nainstalovat FreeBSD do mirroru (zrcadlení dvou disků) na UFS, potom musíte spustit příkazový řádek a provést některé operace manuálně.
K osvojení této praktiky potřebujete instalační médium s FreeBSD a počítač se dvěma disky. Pojedeme trochu svižněji, ať se u toho moc
nezadrbem.
Spuštění instalace
Po naběhnutí instalátoru naskočí uvítací obrazovka. Zvolíme krok pokračovat až do části “Partitioning”, kde vybereme položku “Shell” a
spustíme tak příkazový řádek.
Zjištění disků
Seznam všech disků v počítači zjistíme příkazem geom disk list nebo camcontrol devlist.
Testovací stroj obsahuje dva SATA disky označené jako ada0 a ada1. Na tyto dva disky budeme instalovat operační systém do mirroru. Pokud
disky obsahují nějaké oddíly, vymažeme je příkazem gpart destroy.
# gpart destroy -F ada0# gpart destroy -F ada1
Takto kompletně smažeme disky s primárním i záložním GPT oddílem. Nyní jsou disky připravené k instalaci.
Vytvoření mirroru
Nyní vytvoříme mirror na dvou discích. K tomu potřebujeme načíst jaderný modul geom_mirror.ko. Dále bude následovat příkaz k vytvoření
mirroru a jeho pojmenování.
# gmirror load# gmirror label -v gm0 ada0 ada1
gm0 je název mirroru. Hned po vytvoření mirroru se objeví nové zařízení v /dev/mirror/. Takto je mirror nakonfigurovaný k automatické
synchronizaci dat. Parametr -n v příkazu výše zakáže automatickou synchronizaci.
Vytvoření mirroru bez autosynchronizace
Spousta administrátorů nechce autosynchronizaci při výměně vadného disku za nový. K tomu slouží stejný příkaz jako výše, akorát připojíme
parametr -n. Tím docílíte, že se disky po výměně nebudou sami synchronizovat.
# gmirror load# gmirror label -n -v gm0 ada0 ada1
Vytvoření oddílů
V tomto příkladu uvedu klasické rozdělení mirroru na oddíly. Všchny oddíly budou zarovnané na 1 MB, což vyhovuje i 4k diskům, a každý bude mít
označení. Poslední oddíl /usr/ vyplňuje zbytek mirroru.
V návaznosti na rozdělení disku na oddíly vytvoříme soubor /tmp/bsdinstall_etc/fstab, kde specifikujeme místo, kam se mají jednotlivé oddíly připojovat.
Nyní máme mirror připravený k použití. Musíme jenom určit, odkud bude operační systém bootovat.
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mirror/gm0
partcode written to mirror/gm0p1
bootcode written to mirror/gm0
Vytvoření souborového systému
V případě SSD disku použijeme parametr -t kvůli funkci TRIM, u normálních disků parametr -t vynecháme. Parametr -U je pro povolení
soft updates a parametr -L root je pojmenování oddílu.
Volitelně můžeme přidat řádek do souboru /etc/periodic.conf, abychom byli informováni emailu o stavu našeho mirroru (musíte mít nastavený
odesílání emailů).
Zkontrolujte, zda jsou disky synchronizované. Poté stačí do příkazové řádky napsat exit a následně vyberte z nabídky reboot.
Výměna vadného disku
V tomto příkladu předpokládejme, že vadný disk je ada1 a jméno gmirroru je gm0. Dávejte opravdu dobrý
pozor, jaký disk selhal a dvakrát si rozmyslete, než začnete psát následující příkazy.
Vyměňte vadný disk za nový stejné nebo větší velikosti a ujistěte se, že nový disk je prázdný a bez rozdělení na oddíly.
# gpart show ada1
V případě potřeby vymažte metadata na disku.
# gpart destroy -F ada1
Po vyměnení vadného disku by se měla spustit synchronizace automaticky. Pokuď ne, musíte spustit synchronizaci ručně příkazama:
# gmirror forget gm0# gmirror insert gm0 ada1
Počkejte, až se zesynchronizují oba disky. Stav zjistíte příkazem gmirror status. Po synchronizaci máte opět plně funkční systém.
Představte si situaci, že máte server, na který chcete nahrávat soubory a nechce se vám instalovat FTP servery a podobné monstra.
Potřebujete jednoduchý nástroj s podporou šifrování. Právě k tomu slouží kombinace programů rsync a ssh.
Instalace
root@client:~ # cd /usr/ports/net/rsync
root@client:~ # make install clean
Připomínám, že rsync musí být nainstalovaný na obou strojích zároveň.
Parametry -avz zajišťují přenos všech souborů z daného adresáře na vzdálený stroj. Soubory jsou přenášené v tzv. “archive” módu, kdy se
zachovávájí všechny parametry souborů jako jsou symbolické linky, oprávnění, majitel, atd. Při přenosu je použita komprimace (parametr
z). Parametr -e spustí secure shell.