Szerző: Gálffy Csaba

2012. július 04. 15:35:00

Több hiba együtt vezetett az Amazon leállásához

Egymásra épülő hibák sorozata okozott masszív leállást az Amazon felhős szolgáltatásában. A cég fogadkozik, az architektúrával és a procedúrákkal azonban komoly bajok vannak.

Közölte a múlt heti súlyos leállás magyarázatát az Amazon. Mint ismeretes, pénteken az Amazon infrastruktúraszolgáltatása leállt és magával rántotta az olyan szolgáltatásokat mint a Netflix, az Instagram, a Pinterest vagy a Foursquare. Az Amazon akkor áramkimaradásra hivatkozott, ami legalábbis érthetetlen egy ekkora adatközpont és ilyen tapasztalt szolgáltató esetében.

Hibasorozat, dominóhatás

A részletesebb jelentés szerint pénteken a rendkívüli időjárási viszonyokra tekintettel behívták az adatközpont dolgozóit és leállították a változtatásokat a szervereken (frissítéseket, egyéb, a visszaállítást megnehezítő, vagy megszakítás esetén adatvesztéssel fenyegető folyamatokat). Helyi idő szerint este 7:24-kor észlelt az Amazon egy nagy feszültségnövekedést két adatközpontjánál is az East-1 régióban. Az automata rendszer azonnal átállt akkus ellátásra és beindította a generátorokat. A generátorok az egyik adatközpont esetében azonban nem tudtak stabil feszültséget nyújtani, így nem voltak képesek ellátni elektromos árammal az informatikai rendszereket, az áramellátást felügyelő rendszer pedig nem kapcsolt át.

Az akkuk 8:04-kor értek kapacitásuk határára, ekkor álltak le a számítógépek a gépteremben. Mintegy 10 perc múlva az áramszolgáltatás is helyre állt, 8:24-re pedig az összes gép újra beindult. A kiesés az EC2 instance-ek mintegy 7 százalékát érintette a szolgáltató szerint, az EC2-es alkalmazások nagy része éjfélre állt helyre - a szerverek bootolási folyamatában ugyanis egy szűk keresztmetszet meggátolta a tömeges beindulást - az Amazon ígérete szerint ezt a szűk keresztmetszetet a jövőben felszámolják majd.

Az adatközpontban futó EBS (elastic block storage) tárolók helyreállása még lassabban ment, a leálláskor éppen folyamatban lévő írási műveletek miatt az inkonzisztens tárolókat előbb ellenőrizni kellett, ami időigényes folyamat, ebben az esetben néhány órát tartott, hajnali 2:45-re még mindig csak az összes tároló 90 százaléka volt elérhető.

Beduguló elosztók

Egyetlen adatközpont kiesése önmagában nem okozhatott volna globális méretű összeomlást. Ez utóbbihoz szükséges volt egy hiba az Amazon adatközpontok közötti terheléselosztó (ELB - elastic load balancer) szoftverében is, ami miatt a rendszer túlterhelődött, a válaszidők pedig rendkívüli módon megnőttek. "Az ELB-k egyre jobban lemaradtak a kérések feldolgozásával és hamarosan a kérések csak nagyon hosszú idő után teljesültek" - áll a vállalat közleményében. A terheléselosztók belassulása már az összes amazonos alkalmazást és szolgáltatást érintette, ez vezetett végül a globális méretű leálláshoz.

Machine learning és Scrum alapozó képzések indulnak! (x) A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

A leállás nyomán az EC2 és EBS vezérlőpanelje is elérhetetlenné vált, helyi idő szerint 8 órától egy órán keresztül a teljes East-1 régióban lehetetlenné vált új instance-ek vagy EBS kötetek létrehozása. Ez annak köszönhető, hogy régiónként csak egyetlen elsődleges adatbázis dolgozik, ennek kiesése esetén egy másodlagos rendszer veszi át a szerepet, read-only módban. Ez az adatbázis kezeli az Amazon-ügyfelek összes metaadatát, kiesésével a felhasználók semmilyen módosítást nem eszközölhettek a futó rendszereiken - nem indíthattak vagy állíthattak le instance-eket, nem csatolhattak fel vagy le EBS-tárolókat, így a kialakult krízishelyzetben sem tudtak reagálni a problémákra.

Megjavítjuk, újrarajzoljuk, jobban teszteljük

Az Amazon közleménye az események kronologikus felsorolása és az ok-okozati viszonyok bemutatása mellett explicit ígéreteket is tartalmaz arra vonatkozóan, hogy hogyan kerülné el a cég az ilyen katasztrofális méretű leállásokat. Így ismerteti az áramellátás megbízhatóságának javítására teendő lépéseket, valamint a hálózati architektúra átalakítására és a szoftveres hibák kezelésének új módját is.

A cloud-szkeptikusok számára hatalmas mennyiségű muníciót ad ez a leállás, azonban minden leendő (vagy aktív) felhőfelhasználó számára fontos kérdéseket vet fel. Mennyi időnek kell eltelnie és mennyi (kellemetlen) tapasztalatnak kell összegyűlnie ahhoz, hogy ezek a rendszerek kiforrjanak és folyamatos stabil működést érjenek el - a Microsoft nevetséges, szökőnaphoz kapcsolódó hibán csúszott el, azonban a hibás felépítésnek köszönhetően lavinaszerűen leálltak a rendszerek. Az Amazon hiába választotta szét fizikailag adatközpontjait, az azokat összekötő ELB-k bedugulásával szintén dominószerűen terjedt szét a probléma. Lassan elvárható lenne az ilyen méretű rendszerektől a magasabb szintű megbízhatóság, egyébként a felhő ígérete még hosszú ideig csak ígéret marad.

a címlapról