Кондициони тренинг Адриахосту – редовне припреме за катастрофалне ситуације

Мало људи има прилику да види и упозна се са позадинским радом фирме која се бави вебхостингом. Ја као директор непрестано анализирам могуће критичне ситуације, тј. катастрофална дешавања која могу да нам умање пословање. Другим речима, шта би било када би се десила одређена ситуација. Рецимо нестанак струје, прекид интернет конекције, поплава, земљотрес, самоубилачки ИСИС напад и тако даље. Шалим се мало, али у пословању једне фирме једна од најважнијих функција јесте управо анализа таквих дешавања. Треба да постоје процедуре и да се тестира понашање у таквој ситуацији. На пример, да ли сви у фирми знају како да пребаце на backup интернет линк у тренутку дежурства када ту није неко од сениора? Кога зову у случају покушаја провале или заглављене браве блиндираних врата?

Један од најкатастрофалнијих могућих сценарија за веб хостинг фирму јесте могућност губљења података корисника. То се може десити пре свега због проблема са сервером или датацентром. Може да прегори напајање сервера, може хард диск да цркне, а може да се деси и пожар у датацентру и да буду угрожене десетине хиљада сервера што нам се једном заиста и десило. Тек код таквих дешавања ви у реалности видите којом брзином ће људи из датацентра заменити диск, шта треба написати у захтеву или шта никако не написати јер може изазвати да људи у датацентру ураде “hardware check” и да ту изгубимо додатних 1-2х што неким клијентима може бити веома битно.

Од губитака података клијената смо заиста добро заштићени. Прво сваки сервер има 12 дискова по 1-2ТB података повезаних у РАИД10, што значи да имамо пет парова по два диска који су апсолутна копија један другог.

Изглед HP DL380 G6 шасије сервера са 12 hot-swap дискова које користимо у пословању.

У случају да један диск цркне, други наставља са радом и нема губљења података. Поред тога све наше сервер шасије су HP G6 “hot-swap” што значи да неће бити рестарта сервера у случају цркавања диска. У пракси, наш мониторинг добије информацију да је одређени диск фаличан, пошаље захтев у наш холандски датацентар и они тамо замене диск. Нема рестарта, перформансе диска опадну за 30% и у позадини та партиција се rebuild-uje за пар сати, након чега сервер наставља да ради нормално. Процедура замене диска се дешава после поноћи када има мање посетилаца на сајтовима и нико од корисника ништа не осети.

Да би заиста дошло до губитака података на конфигурацији од 10 дискова у РАИД-у, потребно је да истовремено хардверски цркне четири диска, а то је скоро немогуће. Додатна два диска се користе за одређене ствари, али не смем рећи за шта јер спада у пословну тајну и тај know-how би наша конкуренција могла да искористи. Треба рећи да је оваква сервисна подршка могућа јер се наша опрема налази у Холандији у једном од најбољих датацентара на свету. Могли смо наравно да узмемо три пута јефтиније конфигурације у Немачкој, Бугарској или да поставимо свој центар у Србији, али то би реално било заваравање клијената јер није могуће пружити тај ниво услуге са ових локација. Једноставно не постоји потребна инфраструктура, резервни делови и особље које ће брзо реаговати.

https://www.youtube.com/watch?v=_XlzhNoyz0s

Снимак датацентра у којем су Адриахост сервери и hot-swap сервер кућишта

Праћење температуре диска

Ипак, замена диска или меморије је заиста мачији кашаљ јер ми ни не чекамо да диск цркне, већ се мери температура дискова у раду и ако почињу да се греју то је обично показатељ да треба заменити диск превентивно. Оно што је већи проблем је када би рецимо дошло до физичког уништења сервера, пожара или тоталног губљења података због губљења четири диска истовремено. Шансе са овакво дешавање су скоро никакве, али смо после 20 година у вебхостингу видели да је све теоретски могуће и зато мора постојати одговор и за овај ниво опасности. Наше решење је offsite backup који се налази на географски другом подручју. Радни сервери се налазе у Холандији, а бацкуп свих података се врши у датацентру у Немачкој. У случају пожара, бомбардовања или уништења датацентра у Холандији, ми имамо 10так копија свих података наших клијената у Немачкој. За backup података не користимо никакве custom скрипте и иди-ми-дођи јефтина решења већ користимо Р1софт који спада у најбоља техничка решења за бацкуп данас.

Е, ту долазимо до данашњег вежбања за критичну ситуацију. Технологија је ту, процедуре су ту али како ће се екипа снаћи у случају bare metal restore servera? Колико ће цео поступак трајати? Да ли је процедура и даље валидна после најновијих update-а cpanel-а, centos-a, nginx-а и cloud linux-a?

То нико не зна, већ мора да се проба у пракси. Зато сваких неколико месеци организујемо тестирање bare metal restore сервера. Основна идеја је да смо остали без сервера и да видимо колико ће нам времена требати да поставимо нови сервер и вратимо све податке клијената са друге географске локације.

За ову вежбу се узима потпуно иста конфигурација сервера, са истим брзинама линка, са истом количином меморије, истим CPU и истом величином дискова. Све се конфигурише исто као радни сервери (исти ОС, партиције, лиценце и подешавања) и пуни се лажним подацима корисника. Тестирамо колико брзо можемо да вратимо 1ТB података што је просечна попуњеност једног сервера. Ипак, није исто када се пребацују милиони фајлова или један фајл од 1ТB. За реално тестирање треба нам много малих фајлова укупне величине преко 1ТB.

Корак 1. – понављање радног и бацкуп окружења

  1. нови сервер – идентична конфигурација са радним серверима
  2. 1ТB података сличне структуре као кориснички подаци
  3. нови backup сервер – на који ћемо пребацити податке

Корак 2. – припрема за ресторе сервера

  1. backup података на бацкуп диск у Немачкој
  2. формат диска – брисање података (имитирамо уништење диска)
  3. замена дискова – захтев датацентру да замене пар дискова (меримо брзину одговора)
  4. инсталирација linux-a и backup агента како би покренули ресторе података (меримо време и проверавамо процедуру

Корак 3. – ресторе података и тестирање

  1. bare metal restore – рекреирање партиција, инсталација ос и подешавања и враћање података
  2. мерење времена за ову операцију.
  3. тестирање сервера – да ли све ради?

Не могу ићи у детаље ове вежбе, јер не желим да вас давим нити да одајем све ситнице. Ипак, поменућу неколико интересантних података. Прво, оваква вежба кошта око 1000 еур (сервери, лиценце, радни сати) што је ок, јер се на овај начин улаже у сигурност пословања. Друго, укупно време потребно за враћање 1.1ТB података (валидног узорка) са линковима од 1GBPS на оба сервера (бацкуп у Немачкој, ресторе сервер Холандија) је 12 сати. Укупно потребно време за замену и сетуп restore сервера је мање од 1 сат. Другим речима, у најгорем могућем сценарију за потпуни повратак података сајтови клијената неће радити 12-13 сати. Брже од тога не може, границе брзине су постављене данашњом технологијом и брзином линка. Треба напоменути, да се ово не односи на backup једног клијента јер то је нешто што се дешава јако брзо. Ми овде тестирамо bare metal restore сервера са стотинама корисничких налога.

Restore сервера је успешно тестиран, процедуре су допуњене, неколико админа у фирми је прошло процедуру пар пута како не би било збуњивања у случају да треба да се реагује. Враћамо се на посао и нико од клијената никада не види тај део наших активности. Зато сам решио да напишем овај текст јер можда ће некоме ко живи од интернета бити занимљиво да види шта се дешава иза завесе.

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 :-D

  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 :D

Leave a Reply