Category Archives: diverse

dimensionare storage

Cand ai de a face cu sisteme de stocare de tip SAN, dimensionarea acestora devine un pic mai interesanta in sensul ca trebuie luati in considerare mai multi factori, in functie de destinatia/destinatiile acelui sistem.

Pentru ca un SAN costa o caruta de bani si nu poti sa te duci sa-l schimbi cu altul mai mare sau mai frumos dupa 2 luni ca ti-a dat cu virgula prima oara, e bine sa stii de la inceput ce vrei.

Workload-ul pe un storage (SAN) poate fi de la cum facem sa avem un fileserver de 50TB pana la cum facem sa avem acces cat mai rapid la o baza de date de 3TB sau cum facem sa rulam de pe el 300 de masini virtuale care sunt folosite in diferite moduri.

In primul rand, trebuie evaluat cam cate IOPS (Input/Output Operations per Second) va trebuie sa suporte in mod sustinut sistemul de stocare. O operatie de citire reprezinta un IO, o operatie de scriere reprezinta un IO.

E foarte important de mentionat faptul ca IO nu are legatura cu rata de transfer in acest context. E posibil ca un singur disc sa poata citi cu 100MB/se si sa scrie cu 80MB/sec, insa asta se intampla doar daca se citesc/scriu date in mod secvential (de exemplu scrierea sau citirea unui fisier video de 100GB). Daca in schimb e nevoie de scris sau citit date aleator de pe disc, atunci rata de transfer poate ajunge la cativa MB si totul se va misca cu viteza melcului turbat.

Majoritatea producatorilor de software al carei performanta depinde de cat de rapid este sistemul de stocare ofera unelte prin care se pot estima numarul de IOPS-uri necesare pentru o functionare optima intr-un anume mediu de lucru.

De exemplu Exchange Server zice ca are nevoie in medie de cam 1-2 IOPS per utilizator, in conditiile in care utilizatorul primeste ~75 de mesaje si trimite 25. Daca ai 200 de utilizatori care se per total se incadreaza in aceasta medie, ai nevoie de un sistem de stocare care sa sustina 250 IOPS (am pus inca 50 pentru peak-uri).

Sa zicem ca mai avem nevoie ca acelasi SAN sa fie utilizat si de un server SQL care are nevoie de 500 IOPS in medie si cam de 700 in peak. Mai punem un filserver care are nevoie de 100 IOPS.

In total avem  nevoie in medie de 250+500+100 = 850 IOPS in medie si cam 1050 IOPS in peak. Sa presupunem ca nu moare nimeni daca dureaza un query 20 de secunde in loc de 10 si sa zicem ca maximum cu tot ce avem nevoie sunt 1000 IOPS.

Al doilea lucru care trebuie luat in calcul, insa de obicei primul la care se gandeste toata lumea: capacitatea de stocare. Cate date poate stoca sistemul. Sa zicem ca in cazul asta e nevoie de 10TB de date (da, avem mailboxuri cu mult filmulete cu pisicute simpatice) si foarte multe poze si cateva baze de date mai maricele.

Acum, un SAN ofera si redundanta la date. Asta inseamna o matrice de tip RAID.

Iar ca lucrurile sa fie complicate, exista mai multe tipuri sau niveluri:

  • RAID-0 (0 vine de la cantitatea de date recuperata in caz de probleme): asta inseamna ca scrierile si citirile se impart in mod egal pe numarul de discuri din matrice. Ofera cea mai mare viteza la scriere/citire, dar pe un asemenea tip de matrice trebuie puse date fara absolut nici o valoare.
  • RAID-1: aceast tip de matrice ofera protectie prin duplicarea datelor pe un al doilea disc, iar oricare din discuri pica, mai ramane o copie.
  • RAID-5: necesita minim 3 discuri si ofera spre utilizare capacitatea a doua din ele. In cazul folosirii matrici cu doar 3 discuri, pe fiecre disc sunt scrise doua treimi date si o treime informatii de paritate pentru celealte doua discuri. Astfel, oricare din cele 3 discuri poate pica, cele 2 discuri ramase contin suficiente informatii pentru recuperarea informatiilor de pe discul picat. Ofera o rata buna de citire (pentru se imparte pe toate discurile din matrice), insa are o penalitate de scriere, pentru ca trebuie sa scrie aceeasi informatie pe cel putin inca un disc pentru a o putea recupera mai tarziu daca e nevoie.
  • RAID-6 functioneaza la fel ca RAID-5, insa suporta pierderea a doua discuri oarecare din matrice – informatiile de recuperare a datelor sunt stocate de 2 ori, pe discuri difrite.
  • RAID-10: inseamna de fapt o matrice de tip RAID-0 peste mai multe matrici de tip RAID-1. Ofera cea mai mare viteza de scriere si citire a informatiilor, oferind si redundanta a datelor in acelasi timp. Se pierd toate datele daca perechea de discuri ce formeaza un grup RAID-1 pierde ambele discuri.
  • RAID-50: RAID-0 peste mai multe matrici de tip RAID-5
  • RAID-60: RAID-0 peste mai multe matrici de tip RAID-6

Pana acum avem ca si cerinte: 1000 IOPS si 10TB cpacitate.

Daca ne luam dupa Wikipedia, avem urmatoarele variante cand vorbim de hard disk-uri:

  • 7200 RPM S-ATA: 75-100 IOPS
  • 10K RPM S-ATA: 125-150 IOPS
  • 10K RPM SAS: 140 IOPS
  • 15K RPM SAS: 175-210 IOPS

Daca as folosi RAID-0 as avea nevoie de (iau in considerare cel mai mic numar de IOPS):

  • 14 (13.33) dicuri S-ATA la 7200RPM
  • 8 discuri S-ATA la 10K RPM
  • 8 discuri (7.14) SAS la 10K RPM
  • 6 discuri (5.71) SAS la 15K RPM

Ce n-am calculat, e ce capacitate sa aiba un disc. Un disc S-ATA normal are acum cam 1TB capacitate la un cost foarte rezonabil. Asta inseamna ca pentru a satisface numarul de IOPS necesar, o sa am o matrice RAID de 14TB pentru 10TB spatiu util.

Daca vreau sa iau discuri SAS la 15K RPM, imi trebuie vreo 12 sa ajung la 10TB din motiv ca cel mai mare disc SAS la 15K RPM pe care il stiu are 900GB.

Daca sunt paranoic si zic vreau protectie maxima, atunci o sa aleg o matrice de tip RAID-6 (presupun ca n-am bani de o matrice de tip RAID60) o sa am nevoie de aproximativ 39 de discuri S-ATA de 7200RPM pentru a ajunge la cam 1000 IOPS.

39!

Daca iau in considerare discuri de 1TB, o sa am aproximativ 36TB capacitate. Astea toate pentru 1000 IOPS si 10TB.

Daca ma gandesc la cel mai rapid disc, SAS la 15K RPM, atunci o sa am nevoie de doar 17 discuri si 14TB spatiu (900GB per disc).

Calculele de mai sus sunt facute in ideea in care avem 50% scrieri si 50% citiri. Si ca nu exista cache nicaieri.

Financiar vorbind, capacitatea e ieftina, IOPS-urile reprezinta cel mai mare cost.

Pentru a alevia o parte din probleme, toti producatorii de sisteme de stocare de tip SAN au memorie cache dedicata pentru controllere pentru a stoca datele cel mai de accesate si a mai lasa discurilor ceva “timp sa respire” intre scrieri si citiri.

Memoria cache e de obicei intre 1GB si 32/64GB, insa costa pe masura si nu poti pune 64GB cache in orice fel de sistem.

Mai nou (adica de vreo 1-2 ani asa), exista posibilitatea de a folosi discuri SSD ca si nivel de intermediar de cache.

Servere <-> memorie cache SAN <-> SSD <-> matrice RAID.

Asta inseamna ca poti avea unul sau mai multe SSD-uri de cativa zeci/sute GB care pot prelua valul de date si le pot tine pana cand discurile mai lente apuca sa le scrie. Un disc de tip SSD recent poate duce cam 50-80.000 IOPS fara probleme.

Si atunci intrebarea ar fi: de ce nu punem discuri SSD peste tot si nu mai batem capul cu IOPS-urile ? Pentru ca discurile SSD de tip Enterprise sunt inca foarte scumpe, de exemplu un disc de 400GB costa intre 4000 si 9000EUR in functie de producator si tehnologia folosita: SLC sau MLC. Si o sa devina interesant de explicat de ce vrei sa dai 100.000EUR pe 10TB de spatiu.

Ca si concluzie, in primul rand trebuie aflat care e necesarul de IOPS, in al doilea rand de ce capacitate e nevoie si in ultimul rand de ce tip de matrice RAID e necesara pentru protectia datelor (RAID nu inseamna backup, insa dormi mai linistit cu cat minimizezi sansele de a pierde date chiar daca pierzi un numar semnificativ de discuri).

M-am gandit sa scriu postul asta pentru ca am tot avut de a face cu oameni care se gandesc la capacitate si iau SAN-ul cu discuri S-ATA si dupa aia dau vina pe producator ca le merge de sta.

p lipsa

Azi la barfa, vorbeam cu sef’miu si cu un indian despre chestii culturale si de limba.

Si aflai ca in araba nu exista litera p. Si, partea interesanta, e ca egiptenii (care se pare ca vorbeasc oarecum araba) au zis no broblem, unde ar trebui sa fie p, punem b si rezolvam broblema.

Bai si m-am luminat de ce bancurile cu teroristii care vin in Romania si li se fura valiza sunt cu “sefu, broblem mare, nu mai avem bomba c’a fost furata”.

Bai si m-a apucat un ras, de numai numai. Si ma intreaba sef’miu ca ce e asa de ras. Si zic acu am inteles de ce toate bancurile cu arabi au multi b in ele. La care se da asa un pic in spate si cica “aveti bancuri cu noi ?”. Zic da :) Da n-am mai continuat sa-i zic ca’s majoritatea cu teroristi :))

somn la client

Azi a venit un gigel sa repare ceva la un sistem de CCTV.

A butonat el ceva pe acolo si dupa aia a dat controlul la un coleg sa-i arate ce chestii nu merg. Si in timp ce colegul butona la sistem, gigelul se lasa cu spatele pe scaun, inchide ochii si in vreo cateva secunde incepe sa sforaie linistit in lumea lui.

Se trezesete brusc la un “Seriously” zis tare de mine si pune un zambet tamp.

Dupa vreo cateva minute, il roaga colegul sa-i arate ceva, si gigelul, in timp ce misca mouse-ul pe acolo se lasa asa moale in scaun, cu mouse-ul in mana si se pune iar pe somn.

cu oameni

  • Acu vreo luna jumate asa, cand eram cu sef’miu pe hol am facut cunostinta cu un nene de pe acolo de la comercial. Ha-ha, hi-hi-hi pana cand ma intreaba de unde sunt: zic din Romania. Si atunci s-a terminat ha-ha si hi-hi. De ce ? Pentru ca tipul are un prieten care e innebunit de condus si acu multa vreme s-a dus el din desert cu masina pana in Germania si a trecut si prin Romania. Iar la noi a trebuit sa dea spaga la vama sa-l lase sa treaca. Si d’aia nu vorbeste acu cu mine.
  • Mai zilele trecute, tot cu sef’miu, eram la masa si a invitat niste localnici cu noi sa mai vorbeasca. Masa de sase persoane, trei pe o parte, trei pe ailalta. Sef’su lu sef’miu s-a pus langa el (noi stand fata in fata), un altu s-a pus la un loc distanta de mine si au mai ramas doi. Unu din ei s-a uitat repede la masa, a ginit locul din diagonala cu mine si s-a pus repede acolo iar alalalt statea cu tava in mana si avea o fata din aia de om care a tras paiu scurt si trebuia sa stea langa mine. Au vorbit numai araba, n-am aflat care e problema lor cu strainii.
  • Sef’miu are un var, care-l cheama fix ca pe el. Cu vreo 20 de ani mai batran si dat un pic prin clor. Asta chiar ma place. Nu stiu de ce. Parte misto e ca ma intalnesc cu el in 90% din cazuri doar la buda. De cateva ori pe zi. Incet, incet incepe sa creada ca e o conspiratie ca ma duc la pipi in acelasi timp cu el.

morcovi

Astia aci la cantina au mai in fiecare “baby carrots” fierti si mai in fiecare zi mananc.

Eu sper ca de la atatia morcovi sa pot sa vad prin pereti. Ailalta varianta e sa ma fac un pic portocaliu. Eu tot sper la prima varianta.

dst

Acu ca s-a schimbat ora, pe langa faptul ca trebuie sa tin minte ca Luni=Duminica, ajunsei azi la munca si ce zicea laptopul meu: 6:23 AM.

Parca e un test de sanatate mintala. Nu mi-era de ajuns ca trebuie sa ma duc duminica la munca, acu ajung si la 6.

Fuck.

olteanul, arabii si indienii (2)

Din motive ca diversi indieni se uita la tine ca la felu’ 14 cand le explici chestii simple, sunt pe cale sa-l conving pe sef’miu sa facem un setup de genul asta intr-o sala de sedinte pentru cand trebuie discutat chestii cu respectivii indieni:

professional bitchslapper

Azi s-a uitat minute bune la imagine si e curios daca putem s-o punem intr-un photo frame pe usa de la birou in loop.

mani & pedi

Inainte sa vin in vacanta de Craciun arabesc (Eid Al Adha) in Romania, m-am dus la un salon sa ma faca aia mumos, ca doar nu vin in fiecare weekend acasa.

Si cum nu-mi facusem niciodata manichiura am zis ca ‘hey, why not’ si am comandat o portie care a venit la pachet si cu pedichiura.

La inceput a fost un pic ciudat asa cum m-a luat unu sa ma traga de degete, sa-mi taie pielitele, sa ma pileasca cu nustiucate pile, sa ma dea cu uleiuri si vitamine, sa-mi dea luciu la unghii fara gel… Dupa primele 2-3 degete a inceput sa-mi placa, e asa… weee.

La pedi m-a facut un indian care zicea ca a mostenit meseria de la ta’su care a mostenit-o de la ta’su si tot asa, asta era meseria lor de familie. Stie meserie omu din ce m-am prins io asa.

Overall a fost o experienta misto pe cared cred ca o voi mai repeta sa ma fac si mai hipster :)