Bylo jasné, že na server půjde Linux. Jen jsem přemýšlel, kterou distribuci zvolit. Sice jsem zvyklý na Ubuntu, používám jej od verze 7.04 (rok 2007), ale lákalo mne nasazení CentOS, který je více zaměřen na server. Nakonec to Ubuntu vyhrálo a na server přišla verze 12.04 ve variantě server.
Nic nemůže být jednoduché. Server má zajímavou “vlastnost”. Pokud nechcete použít HW RAID, máte na výběr bootování pouze z prvního disku. Pokud ten odejde, nenabootujete. Tedy máte-li k serveru fyzický přístup, můžete prohodit disky. To ale není můj případ. Strávil jsem nějakou dobu experimenty s bootování z RAID 1 na dvou flash discích, z extra boot disku a podobnými šílenostmi. Na ABCLinuxu se někdo zmínil o malém triku jak to obejít. Nechat zapnutý HW RAID a postupně přes každý disk udělat RAID 0.
V Linuxu jsou pak disky normálně vidět jako sda až sdd. Díky tomu, že používáte HW RAID, si můžete vybrat z kterých dvou disků bootovat. Hurá!
Bohužel má radost neměla moc dlouhého trvání. Po instalaci systému a rebootu mne čekalo toto:
Zkusil jsem udělat zvlášť /boot jako RAID 10, RAID 1 a stále stejný problém. Zkoušel jsem googlit, ale těžko se hledá něco, když ani vlastně nevím pořádně co. Po dlouhém trápení jsem se rozhodl zeptat kamaráda Martina, který se u nás v práci stará o síť a servery. Je velmi šikovný a jeho znalosti jsou úžasné. Věděl i tentokrát. Prý se s tím už někdy setkal a Grubu vadila verze metadat u SW RAIDu. To byla pro mne naprostá novinka. Po nabootování z flash disku a zavolání mdadm –detail –scan jsem dostal tento výsledek:
[cc lang=”bash”]
ARRAY /dev/md/0 metadata=1.2 name=hamqth:0 UUID=f5f9d9a9:dae38a5b:321bc003:3e11bbb4
ARRAY /dev/md/2 metadata=1.2 name=hamqth:2 UUID=1a5d6e91:caa1f80e:c891049e:2dfa2a7d
ARRAY /dev/md/1 metadata=1.2 name=hamqth:1 UUID=ba818697:3e710c20:009f5a07:8ed44842
ARRAY /dev/md/3 metadata=1.2 name=hamqth:3 UUID=c5f5986d:d28c94d9:23c8548d:a217f951
[/cc]
Že by to bylo ono? Následovala nová instalace, ale nikde jsem nenašel jak mu říct, kterou verzi metadat má použít. Rozdělil jsem tedy disky podle svých představ na 4 části (/boot, /, swap a /home) a dal volbu Configure software raid, tím se zapsaly změny na disk.
Přepl jsem se do druhé conzole a ručně vytvořil RAID 1 pro /boot a RAID 10 pro /, spwap a /home:
[cc lang=”bash”]
mdadm –create /dev/md0 –level=1 –raid-devices=4 /dev/sd[a-d]1 –metadata=0.90
mdadm –create /dev/md1 –level=10 –raid-devices=4 /dev/sd[a-d]2 –metadata=0.90
mdadm –create /dev/md2 –level=10 –raid-devices=4 /dev/sd[a-d]3 –metadata=0.90
mdadm –create /dev/md3 –level=10 –raid-devices=4 /dev/sd[a-d]4 –metadata=0.90
[/cc]
Poté zpět do instalátoru a dát Finish. RAID máme nakonfigurovaný, teď zbývá pouze nastavit které zařízení bude /boot, /, swap, /home a instalace může začít. Za chvilku jen nainstalováno, reboot, chvilka napětí a máme tu Grub v celé kráse. Systém normálně nabootuje. Po synchronizaci pole jsem zkusil první disk vytáhnout. Žádný problém, systém nabootoval z druhého disku jakoby se nic nedělo. Třikrát hurá! Mise úspěšná.