Google razkril svoje drobovje

root987

2. jun 2008 ob 05:21:03

Google je bil vedno nadvse skrivnostem o delovanju svojih strežnikov in ni nikdar razkril, kaj se nahaja v ozadju njihovih strežnikov, da vračajo rezultate, katerim zaupa nešteto uporabnikov.

Izkazalo se je, da za njihovo črno magijo le ne stoji Chuck Norris ali katero drugo od mnogih magičnih bitij, pač pa (vsaj kar se tiče procesorjev, spomina in trdih diskov) povsem vsakdanja strežniška oprema. Precej drugačna slika pa se je razkrila, ko je Jeff Dean začel govoriti o Google-ovi mentaliteti o strežnikih in ravnanju z njimi.

Če konvencionalni proizvajalci strežnikov vlagajo veliko denarja in energije v razvoj strežnikov, ki bi prestali neštete možne okvare, Google raje stavi na programsko opremo, ki lahko samodejno preživi napake in odpovedi strojne opreme, saj bi bilo zanašanje na strojno opremo preveč drago in prezahtevno za normalno operiranje na velikostnem nivoju Google-a.

Če postavimo vse skupaj nekoliko v perspektivo - v prvem letu operiranja povprečne strežniške gruče ("cluster"), bo nastopilo v povprečju 1000 individualnih mehanskih okvar, tisoče odpovedi trdih diskov, odpovedala bo ena razdelilna enota za elektriko (kar bo onesposobilo med 500 in 1000 strežnikov za približno šest ur), odpovedalo po 20 strežniških omar ("rack"-ov), kar bo ob vsaki posamezni okvari povzročilo, da bo iz omrežja izginilo 40 do 80 strežnikov, 5 strežniških omar bo začelo početi nepredvidene in nezaukazane operacije, pri čemer bo polovica mrežnih paketov izginila za vedno, celotna skupna strežnikov pa bo morala biti ponovno ožičena enkrat, kar bo onesposobilo 5 odstotkov strežnikov ob vsakem danem trenutku za vsaj 2 dni.

Kot da vse to ni dovolj, obstaja kar 50 odstotna možnost da se bo strežniška gruča pregrela, kar bo onesposobilo večino strežnikov v manj kot petih minutah in bo potrebno vsaj dan do dva da se ponovno vzpostavi normalno stanje.

Da za vse skupaj ni potrebno zanašanje na temno magijo pa zagotavljajo sicer že poznani Google-ovi programski paketi - Google File System, BigTable in MapReduce.