Kondicioni trening Adriahostu – redovne pripreme za katastrofalne situacije

Malo ljudi ima priliku da vidi i upozna se sa pozadinskim radom firme koja se bavi webhostingom. Ja kao direktor neprestano analiziram moguće kritične situacije, tj. katastrofalna dešavanja koja mogu da nam umanje poslovanje. Drugim rečima, šta bi bilo kada bi se desila određena situacija. Recimo nestanak struje, prekid internet konekcije, poplava, zemljotres, samoubilački ISIS napad i tako dalje. Šalim se malo, ali u poslovanju jedne firme jedna od najvažnijih funkcija jeste upravo analiza takvih dešavanja. Treba da postoje procedure i da se testira ponašanje u takvoj situaciji. Na primer, da li svi u firmi znaju kako da prebace na backup internet link u trenutku dežurstva kada tu nije neko od seniora? Koga zovu u slučaju pokušaja provale ili zaglavljene brave blindiranih vrata?

Jedan od najkatastrofalnijih mogućih scenarija za web hosting firmu jeste mogućnost gubljenja podataka korisnika. To se može desiti pre svega zbog problema sa serverom ili datacentrom. Može da pregori napajanje servera, može hard disk da crkne, a može da se desi i požar u datacentru i da budu ugrožene desetine hiljada servera što nam se jednom zaista i desilo. Tek kod takvih dešavanja vi u realnosti vidite kojom brzinom će ljudi iz datacentra zameniti disk, šta treba napisati u zahtevu ili šta nikako ne napisati jer može izazvati da ljudi u datacentru urade “hardware check” i da tu izgubimo dodatnih 1-2h što nekim klijentima može biti veoma bitno.

Od gubitaka podataka klijenata smo zaista dobro zaštićeni. Prvo svaki server ima 12 diskova po 1-2TB podataka povezanih u RAID10, što znači da imamo pet parova po dva diska koji su apsolutna kopija jedan drugog.

Izgled HP DL380 G6 šasije servera sa 12 hot-swap diskova koje koristimo u poslovanju.

U slučaju da jedan disk crkne, drugi nastavlja sa radom i nema gubljenja podataka. Pored toga sve naše server šasije su HP g6 „hot-swap” što znači da neće biti restarta servera u slučaju crkavanja diska. U praksi, naš monitoring dobije informaciju da je određeni disk faličan, pošalje zahtev u naš holandski datacentar i oni tamo zamene disk. Nema restarta, performanse diska opadnu za 30% i u pozadini ta particija se rebuilduje za par sati, nakon čega server nastavlja da radi normalno. Procedura zamene diska se dešava posle ponoći kada ima manje posetilaca na sajtovima i niko od korisnika ništa ne oseti.

Da bi zaista došlo do gubitaka podataka na konfiguraciji od 10 diskova u RAID-u, potrebno je da istovremeno hardwerski crkne četiri diska, a to je skoro nemoguće. 2 diska se koriste za određene stvari, ali ne smem reći za šta jer spada u poslovnu tajnu i taj know-how bi naša konkurencija mogla da iskoristi. Treba reći da je ovakva servisna podrška moguća jer se naša oprema nalazi u Holandiji u jednom od najboljih datacentara na svetu. Mogli smo naravno da uzmemo tri puta jeftinije konfiguracije u Nemačkoj, Bugarskoj ili da postavimo svoj centar u Srbiji, ali to bi realno bilo zavaravanje klijenata jer nije moguće pružiti taj nivo usluge sa ovih lokacija. Jednostavno ne postoji potrebna infrastruktura, rezervni delovi i osoblje koje će brzo reagovati.

Snimak datacentra u kojem su Adriahost serveri i hot-swap server kućišta

Praćenje temperature diska

Ipak, zamena diska ili memorije je zaista mačiji kašalj jer mi ni ne čekamo da disk crkne, već se meri temperatura diskova u radu i ako počinju da se greju to je obično pokazatelj da treba zameniti disk preventivno. Ono što je veći problem je kada bi recimo došlo do fizičkog uništenja servera, požara ili totalnog gubljenja podataka zbog gubljenja četiri diska istovremeno. Šanse sa ovakvo dešavanje su skoro nikakve, ali smo posle 20 godina u webhostingu videli da je sve teoretski moguće i zato mora postojati odgovor i za ovaj nivo opasnosti. Naše rešenje je offsite backup koji se nalazi na geografski drugom području. Radni serveri se nalaze u Holandiji, a backup svih podataka se vrši u datacentru u Nemačkoj. U slučaju požara, bombardovanja ili uništenja datacentra u Holandiji, mi imamo 10tak kopija svih podataka naših klijenata u Nemačkoj. Za backup podataka ne koristimo nikakve custom skripte i idi-mi-dođi jeftina rešenja već koristimo R1soft koji spada u najbolja tehnička rešenja za backup danas.

E, tu dolazimo do današnjeg vežbanja za kritičnu situaciju. Tehnologija je tu, procedure su tu ali kako će se ekipa snaći u slučaju bare metal restore servera? Koliko će ceo postupak trajati? Da li je procedura i dalje validna posle najnovijih update-a cpanel-a, centosa, nginx-a i cloud linuxa?

To niko ne zna, već mora da se proba u praksi. Zato svakih nekoliko meseci organizujemo testiranje bare metal restore servera. Osnovna ideja je da smo ostali bez servera i da vidimo koliko će nam vremena trebati da postavimo novi server i vratimo sve podatke klijenata sa druge geografske lokacije.

Za ovu vežbu se uzima potpuno ista konfiguracija servera, sa istim brzinama linka, sa istom količinom memorije, istim CPU i istom veličinom diskova. Sve se konfiguriše kao radni serveri (isti OS, particije, licence i podešavanja) i puni se lažnim podacima korisnika. Testiramo koliko brzo možemo da vratimo 1TB podataka što je prosečna popunjenost jednog servera. Ipak, nije isto kada se prebacuju milioni fajlova ili jedan fajl od 1TB. Za realno testiranje treba nam mnogo malih fajlova ukupne veličine preko 1TB.

Korak 1. – ponavljanje radnog i backup okruženja

  1. novi server – identična konfiguracija sa radnim serverima
  2. 1TB podataka slične strukture kao korisnički podaci
  3. novi backup server – na koji ćemo backupovati podatke

Korak 2. – priprema za restore servera

  1. backup podataka na backup disk u Nemačkoj
  2. format diska – brisanje podataka (imitiramo uništenje diska)
  3. zamena diskova – zahtev datacentru da zamene par diskova (merimo brzinu odgovora)
  4. instaliracija linuxa i backup agenta kako bi pokrenuli restore podataka (merimo vreme i proveravamo proceduru

Korak 3. – restore podataka i testiranje

  1. bare metal restore – rekreiranje particija, instalacija os i podešavanja i vraćanje podataka
  2. merenje vremena za ovu operaciju.
  3. testiranje servera – da li sve radi?

Ne mogu ići u detalje ove vežbe, jer ne želim da vas davim niti da odajem sve sitnice. Ipak, pomenuću nekoliko interesantnih podataka. Prvo, ovakva vežba košta oko 1000 eur (serveri, licence, radni sati) što je ok, jer se na ovaj način ulaže u sigurnost poslovanja. Drugo, ukupno vreme potrebno za vraćanje 1.1TB podataka (validnog uzorka) sa linkovima od 1GBPS na oba servera (backup u Nemačkoj, restore server Holandija) je 12h. Ukupno potrebno vreme za zamenu i setup restore servera je manje od 1h. Drugim rečima, u najgorem mogućem scenariju za potpuni povratak podataka sajtovi klijenata neće raditi 12-13h. Brže od toga ne može, granice brzine su postavljene današnjom tehnologijom i brzinom linka. Treba napomenuti, da se ovo ne odnosi na backup jednog klijenta jer to je nešto što se dešava jako brzo. Mi ovde testiramo bare metal restore servera sa stotinama korisničkih naloga.

Restore servera je uspešno testiran, procedure su dopunjene, nekoliko admina u firmi je prošlo proceduru par puta kako ne bi bilo zbunjivanja u slučaju da treba da se reaguje. Vraćamo se na posao i niko od klijenata nikada ne vidi taj deo naših aktivnosti. Zato sam rešio da napišem ovaj tekst jer možda će nekome ko živi od interneta biti zanimljivo da vidi šta se dešava iza zavese.

7 Comments

  1. Mnogo pouzdanije resenje za prepoznavanje diska koji ce uskoro otkazati od merenja temperature je pojava „Media Error“ gresaka (megacli ih prikazuje). Barem je to moje iskustvo (menjam po nekoliko diska hot-swap nedeljno u proseku).

    Info o linkovima od 1GBPS bih sklonio iz teksta, jer nije za pohvalu 🙂

    „Brže od toga ne može, granice brzine su postavljene današnjom tehnologijom“ – definitivno nije tacno – moze to mnogo brze, tehnologija postoji, ali i kosta.

    U svakom slucaju, pozitivno je sto imate ovakve vezbe, preko su potrebne 🙂

    • Jovice, kada kažem „granice brzine“, mislim na tehnologiju u cenovnom rangu za korisnike shared servera. Mogu ja da fantaziram sa opremom, ali klijentima na shared serverima je bitna cena. Brzina linka je standard, serveri ne koriste ni 5-10% uplinka pa nema potrebe za rasipanjem. Koliko para toliko muzike.

      Hvala na komentaru.

  2. Jesu li ta dva diska koja se kriju – Hot Spare diskovi 😀

  3. I mi takođe koristimo HW Raid i eksterni dnevni bekap radimo na Google Drive (plaćena pretplata).
    Naravno cpanel ne podržava gdrive kao opciju bekap transfera pa smo skriptu morali sami da razvijemo.
    Ne vidim čemu plaćati servere za bekap kada se kod Gugla može kupiti dosta prostora na drajvu za malo novca.
    Ili ni Gugl nije dovoljno siguran?

    • Pozdrav Luka,

      Pa ok, ali ja ovde govorim o vraćanju iz backupa celog shared servera na potpuno čistu mašinu. Dakle OS, software, podešavanja, licence i na kraju podatke klijenata. Teško to može da se izvede sa custom skriptom a da bude pouzdano. Sa druge strane Google je verovatno pouzdan, ali je dedi mašina pod našom kontrolom malo pouzdanija jer u slučaju da postoje problemi sa Google ne možeš ništa da uradiš sem da čekaš.

    • ivan

      Pegaze, msm bivsi pegaze ovde Milos pise o nekim stvarima o kojima ćeš sanjati. Čovek podstiče sve webhosting kompanije ili mi se barem tao čini da treba da postoje odredjene procedure u slučaju havarije. Nije te pitao da li ti imas HW raid i da li backup vršiš na google disku 😀

Leave a Reply