Mi történik ha szinkron replikációban – automatikus átállás mellett – megáll a SAN?

Egy fórumon találkoztam a kérdéssel, ami annyira egyszerű és mégis teljes bizonyossággal megválaszolhatatlan volt, hogy elkezdett foglalkoztatni.

Adott a következő kiépítés:

Virtualizáció lehet VMware vagy HyperV, nem számít, de elmondható, hogy mindkét telephelyen vannak olyan kötetek, amelyek telephelyen belül aktívan használtak és ezeket szinkron replikálja a két tároló. Nem írom a gyártót, de a replikáció csak IP felett lehetséges, míg a kiszolgálók maguk SAN hálózatba vannak kötve, tehát a replikációs hálózat és a SAN hálózat teljesen elkülönül.

Mi történik akkor, ha az egyik telephelyen megáll a két SAN switch?

Semmi. Elég meglepő, első olvasatra erre tippeltem és igazam is lett. Oké de miért?

  1. A két tároló eléri egymást az IP hálózaton és mindketten elérik a witness-t is.
  2. A két tároló között hibátlanul megy az IP alapú replikáció.

Felmerül a kérdés, hogyha leszakadtak a szerverek a tárolóról, akkor miért nem hozza online-ba a Datacenter B-ben a köteteket. Egészen egyszerűen azért nem, mert a döntési fában nincs benne és nem is lehet benne ez az eset. Például kikapcsolom a szervert/szervereket, na akkor is át kéne billennie? Nem.

Oké, de mit lehet tenni? Régen volt olyan kiegészítés néhány operációs rendszer esetében, ami klaszter-erőforrásként működött és igazából a tárolóval beszélt az a service és mondta meg adott kötet melyik tárolón és ezáltal telephelyen legyen online. Tároló válogatja van-e ilyen, de én például VMware esetén nem is ismerek olyat ami ezt tudná. HyperV esetén láttam régebben ilyet.

Félreértés ne essék, egy VMware-es stretched cluster a fenti esetben ugrana. A HA a beállítások értelmében akár power off-t is csinálna azokon a VM-eken, amelyek a tárolót elvesztett ESXi-ken fut, de nem bírná elindítani a túlélő telephelyen azokat, mivel nem érik el azt a tárolót, amin online a kötet – tekintve hogy a SAN azon a telephelyen megállt.

Na de ha ilyen nincs és a tároló nem is tud ilyet, akkor mit lehet tenni? Szerintem annyit, hogy ha be bell bukni egy telephelyet, akkor bukjuk be rendesen. Ennek előfeltétele és szerintem – ahogyan eddig is – a hoszt oldali hozzáférési mód és a tárolók egymás közötti replikációs forgalma, azonos eszközöket járjon meg. Nem ténylegesen port szinten, de eszközök szintjén igen. Tehát ha a tárolók csak IP felett tudnak replikálni, akkor a szerverek és a tároló közötti hozzáférési mód is IP felett legyen, ráadásul azonos eszközökön. Ha FC-n tud replikálni a tároló, akkor hoszt oldalon is FC legyen. Miért?

Mert bármelyik adatközontban a két IP/SAN switch elvesztése megszakítja a tárolók és a tároló-witness kapcsolatot is. Tehát leszakadnak a hosztok és leszakad a két tároló is egymásról, sőt ahol a hiba előfordult, az még a witness hosztról is. A végeredmény egy automatikus átállás lesz a túlélő telephelyre. És ez volt a cél.

Nem állítom minden gyártó, minden tárolójánál ez a viselkedés a “normál”, de van olyan gyártó és termék, ahol igen.