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ě.
Rozdělení poolu vypadá následovně:
Nyní máte FreeBSD nainstalovaný na ZFS mirroru. Stačí ho základně nastavit a
můžete použít server v produkčním nasazení.
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.
Vymázání původních oddílů
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.
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í.
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.
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.
Soubor fstab
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.
Boot loader
Nyní máme mirror připravený k použití. Musíme jenom určit, odkud bude operační systém bootovat.
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.
Připojení souborového systému
Instalátor předpokládá, že se souborový systém nachází v adresáři /mnt. Nejřív musíme připojit root oddíl.
Pak vytvoříme jednotlivé adresáře.
Které následně připojíme.
Nyní máme manuální rozdělení disku pro mirror hotové. Napište do příkazového řádku exit a instalace bude automaticky pokračovat.
Poinstalační nastavení
Pokud proběhla instalace bez potíží, dostanete se na obrazovku s názvem “Manual Configuration”.
Zde odpovíme “Yes” a spustíme opět příkazový řádek. Zajistíme, aby se načítal gmirror modul při nabíhání operačního systému.
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.
V případě potřeby vymažte metadata na disku.
Po vyměnení vadného disku by se měla spustit synchronizace automaticky. Pokuď ne, musíte spustit synchronizaci ručně příkazama:
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
Připomínám, že rsync musí být nainstalovaný na obou strojích zároveň.
Použití
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.