Malá infrastruktura postavená na několika samostatných serverech má jednu společnou slabinu: výpadek jednoho stroje znamená výpadek toho, co na něm zrovna běželo. Přechod na virtualizační platformu XEN s vysokou dostupností a sdíleným úložištěm tuhle slabinu řeší, i v měřítku pár hostů.
Proč vysoká dostupnost potřebuje sdílené úložiště
Vysoká dostupnost (HA) u virtuálních strojů znamená, že se stroj po výpadku hostitele spustí na jiném hostiteli bez ručního zásahu. To je možné jen tehdy, když disk virtuálního stroje nežije na lokálním úložišti hostitele, který zrovna vypadl – musí být čitelný odjinud. Proto HA a sdílené úložiště jdou v malé infrastruktuře prakticky vždycky spolu: bez sdíleného úložiště je „vysoká dostupnost“ jen restart z poslední zálohy, ne převzetí provozu za běhu.
Sdílené úložiště: SAN a NAS
Pro malou infrastrukturu se sdílené úložiště typicky řeší kombinací:
- SAN (Storage Area Network) – blokové úložiště, ke kterému hostitelé přistupují jako k lokálnímu disku; na něm leží obrazy disků virtuálních strojů, aby k nim měl přístup kterýkoli hostitel v clusteru;
- NAS (Network Attached Storage) – souborové úložiště připojené po síti, vhodné hlavně pro zálohy a sdílená data, která nemusí mít výkon ani latenci blokového úložiště.
Obě vrstvy stojí a padají s vyvažováním zátěže mezi hostiteli, úložištěm a sítí – pokud je úzké hrdlo jen v jedné z nich, HA samo o sobě problém nevyřeší, jen ho přesune jinam.
Co HA v praxi znamená pro provoz
- při výpadku jednoho hostitele se virtuální stroje s HA automaticky spustí na zbývajícím hostiteli (nebo hostitelích);
- migrace virtuálního stroje mezi hostiteli za běhu je díky sdílenému úložišti možná i mimo scénář výpadku – třeba kvůli plánované údržbě;
- zálohy sdíleného úložiště se řeší jedním postupem pro všechny virtuální stroje, ne zvlášť pro každý fyzický server.
Provozní detaily, na které narazí i malý cluster
Několik věcí, které se u malého XEN clusteru řeší dřív, než dorazí první skutečný výpadek:
- typ úložiště, který XCP použije pro sdílený svazek, musí být v systému správně zaregistrovaný – chybějící typ storage repository (například LVM) se projeví až ve chvíli, kdy se ho cluster pokusí použít, ne při instalaci;
- konzole hostitelů (DOM0) je vhodné mít dostupnou i bez závislosti na virtuálních strojích, které na hostiteli běží – sériová nebo HVC konzole přes tunel je jednodušší na diagnostiku výpadku než čekání na síť, kterou zrovna obsluhuje spadlý virtuální stroj;
- dokumentace celé infrastruktury – topologie úložiště, přiřazení sítí, postup zálohování – má smysl vést odděleně od jednotlivých hostitelů, aby šla infrastruktura spravovat i po výpadku toho, kdo ji nastavoval.
Kdy se to vyplatí i v malém
HA a sdílené úložiště nesou provozní režii navíc – vyvažování zátěže, správu úložiště, síť dimenzovanou na migraci za běhu. U malé infrastruktury (řádově jednotky hostitelů) se to vyplatí ve chvíli, kdy na ní běží služby, jejichž výpadek stojí víc než tahle režie – typicky mail, web nebo databáze, na kterých závisí chod celé firmy, ne jen jednotlivá interní služba.