Pozn.: Měl jsem krátkou příležitost se potkat s diskovým polem HPE 3PAR 8400, tak jsem sepsal svoje poznatky. Tento druhý díl se věnuje zajímavější části, konfiguraci dvou polí v různých datových centrech v geografickém clusteru.
Oficiální dokumentace
- HPE 3PAR Virtual Copy Snapshots and copy data management
- HPE 3PAR Remote Copy Software User Guide
- HP 3PAR Management Console User's Guide
- HPE 3PAR StoreServ Management Console 3.0 User Guide
Co je to replikace a k čemu ji použít?
Replikace je proces, který vytvoří přesnou kopii (repliku) dat. Jako místní replikace (Local replication) se označuje replikování dat v rámci stejného pole nebo datového centra. Vzdálená replikace (Remote replication) replikuje data do vzdáleného datového centra či lokality (Remote site). Repliku (kopii) můžeme provést jednorázově, opakovaně v nějakém intervalu nebo synchronně udržovat stejná data se zdrojem.
Kopii dat můžeme vytvářet z řady důvodů. Můžeme si uložit aktuální stav (Snapshot) předtím, než provedeme nějakou nebezpečnou operaci, abychom se v případě neúspěchu mohli vrátit zpět. Můžeme vytvořit kopii (Clone) jako určitou zálohu nebo abychom rychle z produkčních dat vytvořili testovací. Pomocí synchronní replikace můžeme udržovat stejná data na různých HW prostředcích (třeba jiné disky nebo police, nebo jiné pole v jiné lokalitě) a v případě výpadku (poruchy těchto HW prostředků) se přepojit ke kopii dat a pokračovat v provozu. Při použití technik, popsaných na závěr, může dojít k přepojení automaticky bez výpadku.
Pole HPE 3PAR podporují dva typy lokální replikace, Snapshot (Virtual copy) a Clone (Physical copy). A jednu metodu pro vzdálené replikace zvanou Remote Copy, k té můžeme využít rozšíření Peer Persistence spolu s Quorum Witness a vytvořit geografický cluster.
Místní replikace - Snaphost (Virtual copy)
Pozn.: V StoreServ Management Console (SSMC) se používá termín Snapshot, ale ve starší HPE 3PAR Management Console termín Virtual copy.
Snapshot je replika obsahující ukazatele (pointer-based replica) a využívající kopírování při zápisu (copy-on-write). Obsahuje tedy pouze změny oproti základním datům. Nezabírá tolik místa a můžeme se vrátit zpět přepsáním pouze změněných dat v základním svazku. Snapshot můžeme vytvořit z
- Virtual Volume - základní operace, označujeme jako Base Volume
- Snapshot - snapshot jiného snaphostu
- Clone - snaphost z klonu
Můžeme vytvořit stovky snaphostů, pokud máme dostatek místa. V rámci Virtual Volume musíme mít definovaný Copy Space (nějaké CPG), tam se uloží ukazatelé do původního svazku a při zápisu se ukládají původní (přepisovaná) data. Snaphost může být pouze pro čtení (read only) nebo i pro zápis (read write). Pro tvorbu Snaphostů se využívá integrace do řady aplikací, jako MS SQL, MS Exchange, VMware vSphere, Oracle. Pro využití funkce Snapshot musíme mít HPE 3PAR Virtual Copy software license.
Snapshoty mohou mít omezenou životnost, můžeme je vytvářet a rušit plánovaně (scheduled), můžeme je mazat (delete), vracet se do jejich stavu (promote) či přiřazovat Hostům (export).
Nastavení Copy CGP
Základní podmínkou, abychom mohli využít Snapshot, je, že svazek musí mít definovaný Copy CPG. To může být stejná CPG jako User CPG nebo jiná.
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek
- pravým tlačítkem (nebo v menu) vybereme Edit
- zvolíme Copy CPG
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Virtual Volume) - v rozbalovacím Actions menu klikneme na Edit
Vytvoření Snapshotu
Pozn.: V MC je Snapshot je vidět pod Volumem, kde byl vytvořen (obecně se snaphosty zanořují podle vztahu rodič/potomek). V SSMC se zobrazuje mezi Virtual Volume a můžeme zapnout filtrování podle typu.
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek
- pravým tlačítkem (nebo v menu) vybereme Create Virtual Copy (v Destination Name je formát, jak se budou Snaphosty pojmenovávat, může se stát, že název přesáhne povolenou délku, tak ho musíme zkrátit)
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Virtual Volume) - v rozbalovacím Actions menu klikneme na Create snapshot
Návrat ke Snapshotu
Snapshot můžeme povýšit (Promote) k libovolnému zápisovatelnému (RW) rodiči. To znamená, že se můžeme vrátit na svazku do stavu, kdy byl vytvořen Snapshot. Původní data (která byla na svazku změněna) se ze Snapshotu zapíší zpět do svazku. Standardně se vrací do Base Volume. Při této operací nesmí být přiřazeno/exportováno k Host.
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek (Snapshot)
- pravým tlačítkem (nebo v menu) vybereme Promote Virtual Copy
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Snapshot) - v rozbalovacím Actions menu klikneme na Promote snapshot
Odstranění Snapshotu
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek (Snapshot)
- pravým tlačítkem (nebo v menu) vybereme Remove
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Snapshot) - v rozbalovacím Actions menu klikneme na Delete
Místní replikace - Clone (Physical copy)
Pozn.: V StoreServ Management Console (SSMC) se používá termín Clone, ale ve starší HPE 3PAR Management Console termín Physical copy.
Clone je plná kopie (full copy replica) Virtual Volume v určitém bodě v čase (point-in-time). Abychom mohli vytvořit klon, tak k Base Volume potřebujeme přiřadit Destination Volume (cílový svazek) o stejné nebo větší velikosti (tento Volume musíme dopředu připravit). Při klonování se do cílového svazku provede kopie všech základních dat. Při prvním zápisu dat se ztratí synchronizace (klon obsahuje jiná data než zdroj). Můžeme nechat vytvořit Snapshot, kam se ukládají změny, a pak provést Resync, kdy se do klonu zkopírují aktuální data. Nepotřebujeme žádnou speciální licenci (pouze pokud použijeme Snapshot pro budoucí resynchronizaci, tak ano).
Zdrojový svazek může být libovolný a přiřazený klientům, pro některé funkce musí mít definovaný Copy CPG. Cílový svazek nesmí být exportovaný. Když se vytvoří kopie, tak se změní jeho typ na Clone.
Vytvoření Clone
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek
- pravým tlačítkem (nebo v menu) vybereme Create Physical Copy
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Virtual Volume) - v rozbalovacím Actions menu klikneme na Create clone
Resync Clone
Pokud jsme při vytváření klonu zaškrtli Save snapshot for later resync.
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek (Clone)
- pravým tlačítkem (nebo v menu) vybereme Resync Physical Copy
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Clone) - v rozbalovacím Actions menu klikneme na Resync clone
Povýšení (Promote) klonu
Klon nemůžeme exportovat klientovi. Z klonu můžeme vytvořit Base Volume, prostě se pouze změní typ z Clone na Base. Při tom se smažou případné Snapshoty.
HPE 3PAR Management Console
- v levé dolní části (Manager Pane) se přepneme na Provisioning
- ve stromě (Management Tree) otevřeme Storage System - jméno - Virtual Volumes a vpravo na záložce Virtual Volumes najdeme požadovaný svazek (Clone)
- pravým tlačítkem (nebo v menu) vybereme Promote Physical Copy
SSMC (StoreServ Management Console)
- levý horní roh 3PAR StoreServ (Mega Menu) - Block Persona - vybereme Virtual Volumes - označíme požadovaný svazek (Clone) - v rozbalovacím Actions menu klikneme na Promote clone
Vzdálená replikace - Remote Copy (RC)
Vzdálené replikace polí, kdy chceme mít stejná data ve dvou různých lokalitách, je mnohem složitější než lokální repliky. HPE má na polích 3PAR (možno využít mezi různými modely) relativně jednoduché, a hodně univerzální řešení, zvané Remote Copy (musíme mít licenci HPE 3PAR Remote Copy software license a HPE 3PAR Virtual Copy software license). Standardně funguje v režimu Active/Passive (jednosměrně), zápisy se provádí do primárního svazku a probíhá jednosměrná replikace do cílového svazku. Pro Active/Active (obousměrně - bidirectional) musíme vytvořit více RC Group a každá je primární na jiném poli.
Podporované komunikace
Je podporováno spojení polí pomocí:
- Fibre Channel (RCFC) - doporučené, dražší, nižší zpoždění, případně vyšší rychlosti, buď přímé FC spojení nebo FC SAN, využívá proprietární protokol, možné spojení v rámci campusu nebo využití DWDM či longwave linek, používá dvě FC linky (vysoká dostupnost a zvýšení propustnosti)
- IP (RCIP) - Ethernetový (IP) spoj mezi datovými centry je běžnější a levnější, používá Gigabit Ethernet TCP/IP, RCIP musí být v jiné síti než management, porty musí mít unikátní IP adresy
- případně Fibre Channel over IP (FCIP) s dalším hardwarem, podporuje pouze asynchronní replikace
Typy replikací
Replikace mohou být:
- synchronní replikace (mód) - nepřetržitý provoz a synchronizace, data jsou ve stejnou dobu na obou místech (vždy stejná), ale dochází ke zpoždění, protože se vždy čeká na potvrzení zápisu cílovým systémem (takže spíše pro kratší vzdálenosti - vyžaduje nízké zpoždění a vysokou propustnost linky), vyžaduje linku, která má zpoždění RTT (round trip time) maximálně 5 ms (u starší verze OS bylo 2,6 ms)
- asynchronní replikace - data se zapíší lokálně a hned potvrdí, pak se replikují na cílový systém, takže na obou stranách nemusí být přesně stejná
- asynchronní periodický mód - vytváří se lokální snapshot, který se v pravidelném intervalu (třeba 5 minut), nebo manuálně, replikuje na cílové pole (pouze změny)
- asynchronní streamovaný mód - data se hned po lokálním zápisu replikují na cílové pole maximální rychlostí dostupné linky (v té chvíli jsou uložena v keši), takže nečekáme na cílové potvrzení a přitom máme v cíli téměř totožná data (záleží na lince)
- synchronní na dlouhou vzdálenost (Synchronous Long Distance - SLD) - potřebujeme 3 různá pole, na kratší vzdálenost se provádí synchronní replikace a zároveň na vzdálenější asynchronní replikace
Princip funkce
Jedno pole se označuje jako Primary System a zde se nachází Primary Volume nebo Source Volume, to druhé, kam se provádí replikace, je označováno jako Secondary, Backup nebo Target System a má Target Volume. Primary Volume a jeho Target Volume tvoří Copy Pair.
Vytváříme Remote Copy Group (RCG), která obsahuje páry skupin svazků (Virtual Volume Sets), tedy seskupení více Volume, které se kopírují stejně a ve stejnou dobu. Je zajištěn zápis v cíli ve stejném pořadí jako na zdroji do různých Volume (to může být důležité třeba pro DB, které mají více disků). Většina operací pro vzdálenou replikaci se provádí na RCG. Také můžeme využít RCG pro zjednodušení správy.
Je možno využít 3PAR Autonomic Replication, kdy spojíme pár CPG s Remote Copy Group a pak se automaticky změny na primárním Virtual Volume projeví i na cílovém (třeba vytvoření nového svazku a změna velikosti).
Mimo replikací z jednoho pole na jedno (jednosměrné nebo obousměrné) je možno využít také další varianty. Možno jedno na dvě (ale musíme mít více RCG, každou můžeme posílat na jedno pole), několik (maximálně čtyři) na jedno a speciální čtyři na čtyři.
Výpadek komunikace (Failure), přepnutí na sekundární sytém (Failover)
Pokud dojde k nějakému výpadku (Failure, komunikace nebo cílový systém) a vzdálená strana je nedostupná (takže nemůže pokračovat replikace), tak se pokračuje v zápisech na primárním svazku a vytvoří se Snapshot pro pozdější synchronizaci, ta se může provést manuálně nebo automaticky. Virtual Volume, který se replikuje, musí mít nastaven Copy CPG.
Pokud dojde k selhání primárního systému, tak můžeme na cílovém systému přepnout Secondary Volume Group na primární (Failover). V té chvíli se změní směr replikací, povolí se zápisy a export (přiřazení klientovi) na původně cílovém svazku. Můžeme pak rozjet aplikace v záložním DC ve stejném stavu, kdy došlo k výpadku primárního DC.
Nastavení Remote Copy
Podle toho, jaký typ konfigurace chceme provést - použitý protokol (RCFC, RCIP, FCIP) a kolik polí spojujeme (klasicky 1-to-1), se mění detaily konfigurace, ale základ je stejný:
- propojit pole a nakonfigurovat RC Porty
- vytvořit konfiguraci Remote Copy
- vytvořit Remote Copy Group - tím určíme, co se replikuje
Následuje stručný popis konfigurace, který je pouze pro HPE 3PAR Management Console.
Pozn.: Pro všechny konfigurace, okolo Remote Copy, musí být Management Console připojena k oběma (všem) polím, které se RC účastní, jinak nelze řadu konfigurací provést.
Nastavení Remote Copy portů
- v levé dolní části (Manager Pane) se přepneme na Systems
- v panelu Common Actions klikneme na Configure FC Port (nebo iSCSI či RCIP)
- nastavíme porty pole (Host, RC)
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- v panelu Common Actions klikneme na Configure RC Port
- nastavíme porty pro RC
Vytvoření Remote Copy konfigurace
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- v panelu Common Actions klikneme na New Configuration
- dostupné systémy nastavíme jako primární a cílový, nastavíme linky (vazby dvou RC portů na každé straně), rovnou vytvoříme první Remote Copy Group (popis dále)
Vytvoření Remote Copy Group (RCG)
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- ve stromě (Management Tree) vybereme Remote Copy Configuration
- v panelu Common Actions klikneme na Create Remote Copy Group
- v prvním kroku Groups nastavíme, který systém je primární (source) a který cílový (backup), nastavíme jméno skupiny (Group) a vybereme mód replikací
- v druhém kroku Virtual Volumes zvolíme nabízený svazek (nabízí se pouze ty Volume, které splňují požadavky, třeba musí mít Copy CPG) na zdroji a cíli (zde můžeme nechat vytvořit nový Volume, tím se mu nastaví správně stejné Volume WWN), tlačítkem Add vytvoříme Volume Pair (můžeme jich vytvořit více)
- klikneme na Next, zobrazí se shrnutí, a Finish vytvoří skupinu
Operace nad RCG
Replikaci dat mezi poli (na dané skupině) můžeme pozastavit a spustit.
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- ve stromě (Management Tree) otevřeme Remote Copy Configuration - Groups
- klikneme pravým tlačítkem na požadovanou skupinu a zvolíme Start Remote Copy Group(s) nebo Stop Remote Copy Group(s)
Když dojde selhání primárního systému, tak potřebujeme udělat Failover na záložní. Nejprve musíme skupinu zastavit, pak můžeme provést přepnutí.
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- ve stromě (Management Tree) otevřeme Remote Copy Configuration - Groups
- klikneme pravým tlačítkem na požadovanou skupinu a zvolíme Stop Remote Copy Group(s)
- klikneme pravým tlačítkem na požadovanou skupinu a zvolíme Failover Remote Copy Group(s)
Pokud je primární systém obnoven, tak můžeme chtít provést přepnutí zpět (Failback).
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- ve stromě (Management Tree) otevřeme Remote Copy Configuration - Groups
- klikneme pravým tlačítkem na požadovanou skupinu a zvolíme Recover Remote Copy Group(s)
- klikneme pravým tlačítkem na požadovanou skupinu a zvolíme Restore Remote Copy Group(s)
Vzdálená replikace - Remote Copy s Peer Persistence
Možnosti vzdálených replikací můžeme posunout na ještě vyšší stupeň, když přidáme další vlastnost Peer Persistence. Samotné Remote Copy nám zajistí, že máme ve dvou lokalitách stejná data, ale aktivní je pouze primární lokalita (diskové pole a k němu servery). Pokud dojde k výpadku, tak musíme v záložní lokalitě provést několik manuálních operací, aby začala fungovat tato lokalita.
Peer Persistence spolu s Quorum Witness nám zajistí, že mohou být aktivní servery v obou lokalitách (ale zapisují na pole pouze v jedné lokalitě) a v případě výpadku (primárního pole nebo celé lokality) se automaticky přepne funkčnost do druhé lokality (včetně pole). Takže nám zjednodušuje Disaster Recovery a zvyšuje dostupnost. Dovolí nám vytvořit geografický cluster (geocluster - metrocluser).
Pro Peer Persistence potřebujeme další licenci HPE 3PAR Peer Persistence software license. A je podporováno pro VMware, Hyper-V, Oracle RAC, Windows Server, Red Hat, HPE-UX.
Na následujícím obrázku jsem se pokusil schématicly zachytit vše, co se do této funkčnosti zapojuje.
Požadavky na Peer Persistence
Peer Persistence je vysoce dostupná (HA) konfigurace pro dvě lokality v metropolitní vzdálenosti (MetroCluster), které mají synchronní replikace. Pro fungování je několik zásadních podmínek:
- každý Host (server) je připojen k oběma polím (musí tedy síťově vidět do obou lokalit - potřebujeme roztaženou fabric)
- každý Host (server) musí podporovat ALUA, pole pak předají informace o cestách tak, že se na serveru zdá jako by vedly na jedno pole k jednomu LUNu, aktivní (Active) jsou ty na primární pole, ostatní jsou Standby, a při nějakém výpadku se automaticky přepnou (funguje Multipath)
- každý (používaný) Volume je synchronně zrcadlený do druhé lokality se stejným Volume WWN a má nastavenu politiku Path Management a Auto Failover (pro automatické přepnutí)
Přepnutí pole (Failover)
Peer Persistence nám umožňuje provést manuální nebo automatické transparentní přepnutí z primárního na záložní pole, kdy se bez výpadku přesměrují klientské I/O požadavky.
- manuální přepnutí (switchover nebo manual transparent failover) - ručně přesměruje požadavky z jednoho pole na druhé a obrátí směr replikací, vhodné pro údržbu nebo optimalizaci
- automatické převzetí služeb při selhání (automatic transparent failover) - pokud selže primární systém, tak automaticky přesměruje požadavky na záložní, vyžaduje HPE 3PAR Quorum Witness
Quorum Witness
Quorum Witness (QW) se používá ke sledování výpadku 3PAR systému, aby se určilo, kdy se má provést failover. Jde o virtuální appliance (VMware nebo Hyper-V), která se musí nasadit ve třetí lokalitě. Spojení polí a Quorum Witness je pomocí IP (ne FC), což zjednodušuje implementaci, navíc se jedná o jinou cestu (nesmí být spojeno přes RC linky). Díky nezávislosti na lokalitě a lince může QW server rozeznat výpadek zdrojového nebo záložního systému, lokality a linky mezi lokalitami.
Kvorum (Quorum) je pár HP 3PAR polí, která jsou nakonfigurována s Peer Persistence. Svědek kvora (Quorum Witness) pravidelně načítá dat z obou polí. Pokud primární systém selže, tak se záložní pole zjistí, že QW nezískává data z primárního pole a provede failover. Můžeme tak zjistit, zda nedošlo pouze k selhání RC linky mezi poli (pak se failover neprovádí), ale přímo selhání zdrojového sytému.
Konfigurace Peer Persistence
Pokud již máme nastavené Remote Copy a případně i vytvořené Remote Copy Group se synchronními replikacemi, tak zapnutí Peer Persistence s Quorum Witness je docela jednoduché. Také počítám, že máme nasazený virtuál s HPE 3PAR Quorum Witness.
Zapnutí Peer Persistence a nastavení adresy Quorum Witness
- v levé dolní části (Manager Pane) se přepneme na Remote Copy
- v panelu Common Actions klikneme na Peer Persistence Configuration
- zadáme IP adresu pro Quorum Witness a zaškrtneme pole
Dále musíme pro RCG zapnout dvě politiky (nastavujeme na zdrojové skupině - primární systém). To bohužel nelze pomocí Management Console. Musíme použít buď SSMC (kde je zatržítko v editaci RCG) nebo použít CLI. Ověřit, zda jsou politiky na skupině zapnuté, můžeme následujícím příkazem s přepínačem Quorum Witness, který zobrazí rozšířené informace související s Peer Persistence (v příkladu je pouze část výstupu).
cli% showrcopy -qw Remote Copy System Information Status: Started, Normal ... Group Information Name Target Status Role Mode Options RC_GROUP_1 STORAGE1 Started Secondary Sync auto_failover,path_management ...
Zapnutí Path Management politiky
Tato politika zajistí uniform host access, tedy aby Host mohl přistupovat ke stejnému svazku na obou polích, pomocí ALUA jsou nastaveny pouze cesty na jedno pole jako ACTIVE a na druhé STANDBY (a při výpadku se přepnou). Pokud se politika nezapne, tak jsou cesty na obě pole ACTIVE a Host vidí dva svazky (na záložním poli je svazek pouze pro čtení).
cli% setrcopygroup pol path_management <group>
Zapnutí Auto Failover politiky
Aby došlo k automatickému přepnutí na sekundární pole při výpadku, tak musí být zapnuta tato politika.
cli% setrcopygroup pol auto_failover <group>
(volitelně) Zapnutí Auto Recover politiky
Pokud jsou všechny RC linky mezi párem polí nedostupné, tak se RCG zastaví (stop). Při zapnutí této politiky se RCG automaticky nastartuje při obnově komunikace (toto lze nastavit i v Management Console).
cli% setrcopygroup pol auto_recover <group>
Zatím zde nejsou žádné komentáře.