Hírek‎ > ‎

A hétvégi rendszerleállás margójára

Tibor Kruska, 2012. máj. 2. 2:56   [ 2012. máj. 2. 6:38 frissítve ]
Az április végi hosszú hétvégén, pénteken 15:21 és szombat 11:40 között a magyarországi webszerverünk nem volt elérhető, ez kicsit több mint 20 óra állásidőt jelent. A folyamatos elnézéskérés mellett szeretnénk néhány háttérinformációval szolgálni, és néhány felmerülő kérdésre választ adni:

Mi történt, mit jelent konkrétan az, hogy nem volt elérhető a webszerver?

Az adatparkban, ahol a szerverünket elhelyeztük, lekapcsolták az internetkapcsolatot, így nem lehetett kapcsolódni a szerverünkre. Se a tárhelyet nem lehetett elérni SFTP kapcsolattal, se a webes látogatókat nem tudta kiszolgálni a webszerver.

És a levelezési szolgáltatás?

Mivel az elektronikus levelezést már régóta a céges Gmail megoldás biztosítja, így ez a szolgáltatás zavartalanul üzemelt.

Mi okozta a kiesést?

Az egyik viszonteladó, akitől a mi szolgáltatónk bérli a szerverterem egy részét, teljesítési vitába keveredett a
T-Online-nal, ami odáig fajult, hogy végül a T-Online lekapcsolta a szerverterem internetkapcsolatát.

Mivel a fél internet tele van cégnevekkel, mi is elmondjuk a konkrétumokat: A T-Online-tól bérel egy szervertermet a HostOffice, tőle bérel néhány rackszekrényt többek között a mi szolgáltatónk is, az Axiom-IT, aki közvetlenül szolgál ki minket.

Tehát a teljes lánc ez volt: T-Online » HostOffice » Axiom-IT » ELIT-INFO

Ahogy a mellékelt ábra mutatja, talán túl kockázatos egy ilyen viszonteladói lánc végén állni, nem?

Az üzleti életben azért nem olyan idegen ez a modell. Amíg a lánc minden tagja tudja a dolgát, és teljesíti a vállalásait, addig általában nincs gond. 

A kényelem mellett van egyéb előny is?

A legelső az ár. Ha direktben a T-Online szolgálna ki minket ugyanilyen paraméterekkel, legalább dupla árat kellene fizetnünk a szerverelhelyezésért. 

A másik érv pedig a szolgáltatás paraméterei. Ha mi direkt ügyfelek vagyunk egy adatparkban, ahol egy rackszekrényben néhány egységet bérlünk, akkor magától értetődik, hogy nem engednek hozzáférni a gépünkhöz, sőt, be sem mehetünk a szerverterembe. Mi sem szeretnénk, ha a mi szerverünk mellett piszkálna valamit egy (számunkra) idegen. Ha gondunk van, lekapcsolják a gépünket, kiskocsin kitolják, elvégezzük a szükséges karbantartást, majd visszatolják, visszaszerelik és beindítják. Ez alsó hangon is 50-60 perc állásidő, holott például egy hibás merevlemezt egy perc alatt ki lehetne cserélni, ha hozzáférnénk a géphez, ráadásul "röptében" (hot swap), tehát a szolgáltatásban egyáltalán nem lenne kiesés.

Viszont így, hiba esetén az Axiom-IT mérnökei pillanatok alatt a helyszínre érnek (nekünk legalább egy óra lenne), a saját szervertermükhöz / szerverszekrényükhöz hozzáférhetnek, és megbízásunkból elvégzik a szükséges karbantartást. Közben telefonon tudjuk tartani a kapcsolatot. 

Egyszóval ez több, mint kényelem. Eddig ezek az érvek tartottak minket ebben a láncban.

És mi történt most hétvégén konkrétan?

Ahogy a felügyeleti rendszerünk jelezte a kiesést, felvettük a kapcsolatot a közvetlen szolgáltatónkkal. Először még ők is azt az információt kapták, hogy ideiglenes technikai probléma lépett fel, és minden szolgáltató dolgozik a helyzet mihamarabbi megoldásán.

Kicsivel később már sajnos kezdett nyilvánvalóvá lenni, hogy a helyzet komolyabb, úgyhogy mindenki elkezdte a vészforgatókönyvet végrehajtani. A közvetlen szolgáltatónk munkatársa eddigre már úton volt az Adatparkba (DataPlex), hogy tárgyalással próbálja elérni a hálózat visszakapcsolását. Mivel ők sem közvetlen szerződött ügyfelei a T-Online-nak, ezért a szolgáltató ettől (végülis érthető módon) elzárkózott. 

Hogyan oldódott meg a helyzet végül?

Az Axiom-IT péntek éjjel elintézte (ezúton is köszönjük nekik), hogy egy másik szolgáltatóhoz átpakolják a gépeinket, így ott rá tudtunk kapcsolódni a hálózatra. 

Miért nem értesítettetek minket előre a leállásról?

Ha tudtunk volna előre a leállásról, valószínűleg meg se történt volna, legalábbis nem ilyen időtartamban. Az egészben az a legfelháborítóbb, hogy egy hosszú hétvége előtti szinte utolsó munkaórában, előre nem bejelentve (legalábbis felénk nem jutott el), hogy ne mondjam, előre megfontolt szándékkal sok száz ügyfelet lehetetlenítettek el. A hétvégén ügyelő mérnök kollégák és operátorok sok mindenre fel vannak készítve, de arra nem, hogy új szerződéseket kössenek. Nem beszélve arról, hogy se kereskedők, se jogászok nem elérhetőek ilyenkor. 

Ki a felelős mindezért?

Még nem tudjuk, de nagyon sok cég nagyon sok ügyvéde dolgozik azon, hogy kiderüljön.

Mi történt volna, ha a szolgáltatótok nem tud szerezni új internetkapcsolatot? Addig nem tudtak volna beindulni a weboldalaink?

A webszerverünkről készülő biztonsági mentést egy teljesen másik helyszínen tároljuk. Tehát ha bármilyen okból kifolyólag a szerver nem elérhető, ebből fel tudjuk építeni egy másik helyszínen a komplett szolgáltatást.

És miért vártatok ilyen sokáig? 20 óra rengeteg idő egy nagy forgalmú webshopnál!

Egy ilyen kiesésnél rengeteg döntést kell meghozni, és sajnos nem látunk előre mindent, utólag könnyen tudunk okosak lenni. Az első néhány órában még úgy tudtuk, hogy pillanatnyi technikai probléma áll fenn, ilyen esetekben nem szoktuk azonnal elkezdeni a költözést, mert az eddigi tapasztalatok alapján sokkal gyorsabban megoldódnak a pillanatnyi kiesések, mint ahogy elkészül az új szerver. 

Amikor kiderült a kiesés igazi oka, azonnal elkezdtük a költözést: egy másik szerverre elkezdtük felmásolni az utolsó mentést. És itt adnék választ a konkrét kérdésre: amikor mentésből állunk vissza egy másik szerverre, mindig történik valamennyi adatvesztés. Ugyanis 4 óránként készül mentés a szerverről (általában más szolgáltatók naponta 1x mentenek). Ez azt jelenti, hogy ha mentésből állunk vissza, akkor az utolsó mentés és a leállás (pl. most 12:00-15:21) közötti módosítások (webshop rendelések, blogbejegyzések, kommentek, változott oldalak) elvesznek. Ezt elkerülendő, eddig ezt csak arra az eshetőségre tartogattuk, amikor ténylegesen megoldhatatlan probléma merül fel a szerverrel. 

És fél napig tart egy ilyen szervert felépíteni mentésből?

Természetesen nem. Azonban fokozva az élvezeteket, épp ahogy elkészültünk a tartalék szerverrel, kaptuk a hírt, hogy mégis lesz hálózatunk, megtörtént a megegyezés. Ennek megörültünk, mert így adatvesztés nélkül tudunk továbbmenni, így a tartalék szervert parkolópályára tettük. Sajnos ez utóbbi döntést így utólag már nem tudom egyértelműen pozitívnak értékelni.

Ugyanis megint egy kellemetlen időszak kezdődött, amikor a hozzáférésekre, új IP címekre és hálózati paraméterekre vártunk. Ez is okozott néhány plusz órát, míg végül szombaton 11:40-kor elérhetővé váltak a weboldalak. Ehhez az összes szolgáltatásnál be kellett állítani az új IP címet, az összes olyan ügyfélnél, akinek mi üzemeltetjük a domainjét, megváltoztattuk az IP címeket a DNS-ben.

Mit kell tenni annak, akinek máshol van a domainje?

Nagyon egyszerű: az összes hivatkozást, ahol a 94.125.251.91 IP cím szerepel, le kell cserélni az újra: 
80.249.161.174

Ezt a domain üzemeltetője tudja megtenni, vagy esetleg ahol van DNS módosítást kínáló webes felület, ott közvetlenül is be lehet állítani.

Milyen más következményekkel járhat az IP cím módosulása?

Normál esetben ez elegendő a weboldalak zavartalan működéséhez. Azonban egyes interfészekeknél szükség lehet a jogosultság beállítására a túloldalon. Például ha egy CRM rendszer korlátozza az API elérést bizonyos webszerverekre, ott elképzelhető, hogy az engedélyezés egy konkrét IP címre szól. Ilyenkor jelezni kell nekik, hogy a webszerver IP címe megváltozott, legyenek kedvesek frissíteni az engedélyeket az új IP címre.

Ha legközelebb ilyen rendszerleállás történne, honnan értesülhetek róla?

Praktikus módon a cégünk Facebook oldalára tesszük fel folyamatosan az információkat. Dolgozunk a rendszerfelügyeleti eszközünk fejlesztésén, melynek segítségével értesülhetnek majd a nem várt eseményekről. Ne legyen rá szükség...

Megelőzésként, technikailag nem lehetne megoldani, hogy azonnal legyen elérhető egy tartalék szerver, ne kelljen várni, amíg a mentés felmásolódik?

Ez az egyik dolog, amit mindenképpen át fogunk gondolni hamarosan. 

Itt nem csak annyiról van szó, hogy legyen máshol egy tartalék szerver, hanem hogy az adatok (beleértve fileok és adatbázisok) folyamatosan szinkronban legyenek a két szerveren. Amíg a két gép egymáshoz közel van, ez nem probléma. Azonban egy ilyen eseménynél ez nem segített volna, hiszen egy egész szerverterem esett ki.

Mindenképpen egy másik szolgáltatónál, sőt én azt is mondom, hogy másik országban kell a tartaléknak lenni, mint ahogy jelenleg is Írországban tartalékolunk. Viszont a valós idejű szinkronizálás egy komolyabb weboldalnál, sőt az általunk üzemeltetett néhány ezer weboldal tömegénél ez már több mint egyszerű technikai kihívás.

Mindenképpen dolgozunk rajta, igyekszünk minden elképzelhető katasztrófahelyzetre felkészülni, most már legalább kettővel több van a listánkon :(

És mi történt vasárnap este? Rögtön el is romlott valami? 

Bármennyire is közel volt egymáshoz a két esemény, ehhez tényleg semmi közünk. Vasárnap az egyik központi magyarországi névkiszolgáló szerver hibája miatt "lehalt a fél magyar internet". Ez ellen webszolgáltatói oldalról értelmes módon nem igazán lehet védekezni (csak nemzetközi domainekkel), a megelőzés és elhárítás az Internet Szolgáltatók Tanácsa kezében van.

Cikk ebben a témában:

Sovány vigasz látni azt, hogy még a legnagyobbak is hibáznak.