Replikace a její správa přes Powershell
K replikaci jsem se dostal na základě následující úlohy: během dne se kvůli úsporám elektrické energie a kvůli rozdělení zátěže střídají Hyper-V hostitelé a samozřejmě s tím souvisí přesun úloh mezi web-servery s aplikacemi.
Nespornou výhodou IIS na Window je možnost vytvoření Load-Balancing clusteru. Není třeba nic přepínat, server, který právě funguje se hlásí na virtuální adrese definovanou na NLB clusteru. Problémem je databáze, ale ta lze řešit fail-over clusterem. V případech „pro chudé“ lze zabezpečit stejný obsah databází pomocí pravidelných záloh a obnovení databáze. Samotné webové stránky lse replikovat pomosí DFSR.
Problémem bylo, že daný webový server nebyl Windows ale Linux, a ten do NLB clusteru doopravdy neumím začlenit :-). Když tedy neumím začlenit do clusteru stránky webového serveru a ani MyDB databázi nezbývá, než udělat cluster o úroveň výše. OUuups!!! Ale já nemohu udělat Hyper-V cluster – jednak servery – hostitelé jsou dost různorodé a nemám k dispozici ani diskové pole.
Takže replikace. Celkem mi to zvlášť nevadí, protože file-over akce jsou vesměs plánované. Jde jen o to, jak celou akci zautomatizovat, aby se odstranila nutnost administrace přes GUI. Zautomatizovaný proces „planned fileover“ pak vypadá asi takto:
$host1='HOST1' $host2='HOST2' $VMName='VMGUEST1' Stop-VM -ComputerName $host1 -VMName $VMName Start-VMFailover –Prepare –VMName $VMName -ComputerName $host1 -Confirm:$false -ErrorAction Stop Start-VMFailover –VMName $VMName -ComputerName $host2 -Confirm:$false -ErrorAction Stop Set-VMReplication –Reverse –VMName $VMName -ComputerName $host2 -Confirm:$false Start-VM -ComputerName $host2 -VMName $VMName
Poznámky ke skriptu:
Provedení planned failover vyžaduje, aby master server byl zastaven. Výhodou je, že příkaz STOP-VM je synchronní, t.j. čeká na zastavení (shut down) virtuálního stroje. Příkazem Start-VMFailOver -Prepare
se provede závěrečná replikace. Dalším Start-VMFailOver
se provede samotný failover.
Příkazem Set-VMReplication –Reverse
se vymění role master a replica a posledním příkazem se „nový master“ spustí.
Zanechat odpověď