Zmajevi, jednorozi i jednostavne selidbe su mitske pojave.
U noći između 4. i 5. decembra 2012. Limundo se selio iz Nemačke u Srbiju. Da raščistimo, nismo menjali prostorije već servere. Nije to bilo odlučeno niti izvedeno na brzinu, naprotiv. Pripreme su počele da teku još od februara, a intenzivirale su se početkom oktobra. Poslednjih mesec dana pred migraciju, pripreme i testiranja zauzimali su centralno mesto u aktivnostima naše kompanije.
Sama noć migracije, duga i hladna, počela je nešto pre ponoći i trajala do podneva. Pomno praćenje i podešavanje nastavilo se po smenama tokom sledećih 48 sati, a fina podešavanja nastavljena su i u sledećim sedmicama.
Čemu tolika filozofija? Nije li to samo jedan ogroman copy-paste? Nije.
Kao prvo, nije jednostavno iskopirati sistem koji se neprestano menja. Zato je morao biti zaustavljen (u minut do ponoći) sa idejom da prekid traje što kraće. Sa druge strane, smisao migracije bio je u tome da se pređe na potpuno novu hardversku arhitekturu. Osnovni nivo softvera je takođe pretrpeo značajne izmene kako bi se prilagodio novom okruženju.
Što se podataka tiče, samo je digitalnih slika bilo oko 3 TB (za one koji vole velike brojke, to je preko 3 000 000 000 000 bajtova). Budući da prenos tolike količine podataka traje danima, morali smo da ga rasporedimo. Slike smo postepeno skidali nedeljama pre same migracije, tako da smo poslednjih dana skidali samo one postavljene u prethodna 24 časa. Prenos baze i programskog kôda trajao je 5 sati, koliko je trajao i import, tempom od 34 000 SQL upita u sekundi.
Novi sistem može da podrži dalji rast naših platformi, da opsluži više korisnika i obradi više predmeta i transakcija. Na osnovu Google Analytics-a, Kupindo je sada za 15%, a Limundo za čitavih 40% brži nego ranije! A to je tek početak.
Uzgred, postojala je ideja da neko od nas ode avionom u Nemačku i fizički prenese podatke na hard-diskovima. Što reče jedan mudar čovek: “Nemojmo potceniti propusni opseg teretnih vagona u prenosu podataka.”
Odličan text, donekle pojašnjava kakva kompleksnost stoji iza Limunda i Kupinda a i ljude koji se bore sanjom.
@marellib0r
ne ubutavaj se
Impresivne cifre, zaista. Ali, ništa manje nismo ni očekivali pošto upravo te sličice dolaze od nas, korisnika.
Šteta što Vam neko nije predložio DataCore SANsymphony-V kao projektno ali i strategijsko rešenje (Asynchronous Remote Replication) plus Auto-Tiering na destinaciji u Srbiji da se odmah odvajaju aktuelni podaci (na brze FC/SSD storage grupe) od arhivskih (na jeftinije SAS/SATA volumene).
Ne biste ni osetili celu migraciju, ali onda ne bi bilo ni adrenalina 🙂
@peca
hesusnavas
E bas mi je drago :-S
Koliko vidim meni osnovne funkcije pretraživanja, unošenja novih oglasa, korespodencije sa članovima rade bitno sporije nego ranije.
Posle onog estetskog pada u dizajnu od pre nekoliko godina (sa sivog na belo) ovo je novi pad funkcionalnosti koji ne vidim gde vodi.
Ostalo je još da se naruši bezbednost podataka ako već nije jer sam dobio par mejlova u kojima se reklamiraju promotivne akcije vezane za Limundo ili Kupindo.
Sve ostalo je super i imate moju punu podršku.
U potpunosti mogu da zamislim svaki sekund ove priče. Radim u jednoj velikoj firmi kao administrator mreže i naša firma je kupila drugu pa je trebalo prebaciti ceo njihov informacio sistem, domene, mrežno i radno okruženje pod našu ingerenciju. Celokupna migracija je trajala 5 radnih dana. Koliko samo adrenalina, koliko sitnica koje čoveku nikada ne bi ni mogle da padnu na pamet da će se desiti, koliko brzog smišljanja rešenja. Ali, najlepši je deo kada se sve to završi, posao privede kraju i onaj trenutak kada možeš da konstatuješ – tooooooooooooo, sve radi!
“da neko od nas ode avionom u Nemačku i fizički prenese podatke na hard-diskovima” – Pa sve slike bi stale bukvalno na JEDAN hard disk, prodaju se hard diskovi od 4tb a postoje i daleko veći… a ovo bi bilo i brže, realno ~tri sata od vrata do vrata do tamo i nazad (vreme kopiranja ne računam, to bi mogao neko u Nemačkoj da vam odradi i vi samo dodjete pokupite hard sa podatcima i nazad na let za Beograd)
big deal
Da nisi ti Ivane bio u Valjevu u vojsci?
Da nisi i ti Maticu bio u artiljercima u Valjevu?
Evo, ja, kao predstavnik zenskog roda, da ne ispadne da nismo zainteresovane za vasu “malu” avanturu, samo da dodam koju…
Npr., kada sam trebala da reinstaliram PC, a da pritom ne pogubim podatke, re-prikupim softvere, podesim, nastelujem okruzenje, a sve kao obican laik i korisnik, bilo mi je prilicno stresno iskustvo, a tako mali posao, pa zakljucujem koliko je epska bila vasa avantura.
Sve naj u daljem radu i srecni praznici!
Jesam! E sad ja Ivana sa slike prepoznah, a ti Pedja, da nisi i ti bio u Valjevu?
a moglo je to i brzom poštom da ne idete uopšte 🙂
Koji je mudar covek rekao ovo na kraju?
@SeeMeON : Nije problem konkretno remote storage replikacija, bar ne sad. Problemi su:
– HE nam podatke jeste drzao na EMC storage-u koji nudi remote replikaciju, ali nismo imali pristup na tom nivou da se bi se uvezali podaci sa novim provajderom.
– Novi provajder nudi NetApp storage koji ima jako dobre karakteristike i performanse, ukljucujuci i offsite remote kopije, ali i mnogo bitnije karakteristike vezano za ubrzanje performansi (SSD diskovi nam sada kesiraju “vruc” sadrzaj) .
Nazalost, asinhrona replikacija slika izmedju ova dva uredajaj (po meni su oba bolja nego DataCore), nije moguca. Dodatno – glavni problem je, zapravo, bilo kopiranje baze – a ne fizickog sadrzaja.
Asinhrona replikacija MySQL-a jeste moguca, ali nije prakticna, jer, kao i svaki asinhroni proces, nije real-time, a Limundo jeste real-time sistem.
Cak smo razmisljali i o resenjima sa sinhronom replikacijom (Percona XtraDB Cluster) – ali su nam performanse bile neprihvatljive uz geo-distribuciju, i paralelan zahtev za real-time radom.
@Igor & ostali:
Da li iskreno mislis da bi jedan SATA disk od 4TB imao performanse potrebne za Limundo. Sve i da su samo slike deljene – jedan SATA disk ne moze da izdrzi nasu posetu ni kad je na apsolutnom minimumu…. 😀
Kao sto rekoh, brzina kopiranja nije bila jedini faktor, bilo je i drugih stvari, a, kao sto je Ivan u blogu naglasio, downtime je sluzio i za izmene u arhitekturi sistema.
Ne bih složio da je DataCore lošiji od pomenutih, daleko od toga.
Superkeširanje DataCore obilno koristi npr. 128/256 GB pa sve do 1 TB RAM-a i SSD zveri. 3-4 GB/sec ili više od toga – nije SF; za superkeširane sisteme limit je samo “debljina” FC switcheva i FC kartica, uz poslovično ograničen odziv gomile storage-a u pozadini.
Ako želite da vidite DataCore na delu ni to nije problem, just say so 🙂