Tag Archives: ma-sa

pandemia in romania

Cineva in China a mancat un liliac nefiert si ce se intampla daca faci asta a ajuns sa stie fiecare om de pe planeta asta.

Pe la inceputul lui Ianuarie, chinezii inca mai arestau doctori care ziceau c-o sa fie nasol ca speriau lumea si nu se face asa ceva. Pe la sfarsitul lui Ianuarie, Winnie the Pooh a pus lacatul pe un oras intreg cand s-a lamurit ca situatia e maro inchis.

O luna mai tarziu, pe la sfarsitul lui Februarie iese in presa seful de la Institutul de Boli Infectioase, care teoretic studiaza si isi da cu parerea despre virusi si alte chestii mai putin placute corpului uman, sa spuna la lume ca ce se intampla in China e de 10 ori mai slab ca gripa si sa ne spalam pe maini cu apa si sapun si-o sa fie bine. Ultima partea imi inchipui ca a zis-o special pentru aia de le e frica de sapun.

Toate firmele private au inceput sa ia masuri de protectie, cumparat dezinfectant de maini, masti in caz ca situatia degenereaza etc. Prin restaurante si cafenele s-au lasat locuri libere de cate o masa sa nu intre lumea in contact etc. Responsabilitate, chiar am ramas uimit de cat de repede s-a miscat lumea.

Sa mai zic o data, asta in timp ce guvernul prin vocea unuia sau altuia spunea ca n-o sa fie nasol deloc si ca sa nu se sperie nimeni. In timp ce un oras de 11 milioane de locuitori era inchis cu cheia si Italia isi inchidea nordul tarii asa ca avusese un super sezon de iarna si cu ocazia asta se puteau odihni oamenii dupa atata munca.

Pe plan politic, Ludovicc Orban si cu PNL-ul incercau marea cu degetul sa forteze alegeri anticipate, ca abia ajunsesera la putere dupa ce a plecat Veorica de la guvernare si n-a mai vazut PNL ceva guvernare de cand cu USL, adica de prin 2012 asa. Adica au astia costele lipite de sira spinarii de atata foame de bani si de putere. Sa nu mai pui mana pe ciolan din 2012…

Doua saptamani mai tarziu si un guvern demis, robotul de la Cotroceni declara stare de urgenta, ca e nasol cu virusul asta, ca mor oamenii, ca vine apocalipsa si alte chestii care cu o saptaman mai devreme nici nu existau si evident ca nu aveau cum sa se intample in Romania. I-a luat pe nepregatite, cum s-ar zice. Intre timp era cat pe aci sa nu mai fie Orban prim-ministru, si il pune pe subalternul sau desemnat sa formeze un guvern sa-si depuna demisia si asa ajunge Orban iar prim-ministru. Curat cinstit manevra ce-au facut.

Parlamentul, pentru probabil prima oara in viata lui, voteaza in unanimitate treaba asta. Ca asa se scapa de virus, cu parnaiala generala in toata tara. Si cu armata pe strazi. Ca probabil s-au gandit ca daca la virus nu-i e frica de politie si de carnetul de amenzi, poate se sperie de Kalashnikov-urile mai vechi decat soldatii de le poarta in spate si fuge inapoi in China.

No, starea asta de urgenta permite guvernului sa nu mai stea dupa Parlament dupa legi, dupa facut licitatii si asteptat dupa contestatii si alte cele.

Cum greaua mostenire a lasat spitalele fara echipamente, PNL s-a apucat sa-si sune prietenii sa faca si ei niste smenuri cu achizitii directe, ca daca nu acum, cand? Ca sansele sa mai vada ciolanul scad pe zi ce trece.

Intre timp, s-a apucat politia sa munceasca si au furat confiscat echipamente de protectie de la diversi oameni pe care le-au dat prompt spitalelor, dupa ce si-au oprit (ma gandesc) si ei asa partea. Ce tu sechestru, procese, asteptat sentinte definitive si alte chestii din astea democratice. Burghejii dracu le tineau pentru ei cand poporul avea nevoie, asa ca militia a actionat prompt si eliminat elementele dusmanoase care complotau impotriva poporului.

Intre timp, prim-ministrul Mandolina a facut o conferinta de presa prin care a anuntat ca un cumatru de-al lui din partid are coronavirus si ca e bine sa nu stea lumea pe langa el si ca o sa se izoleze pe malul unui lac. Probabil sa contempleze niste combinatii din alea strategice, de pandemie asa, nu gainariile obisnuite.

Apoi au infiintat Ministerul Adevarului. Sub forma Grupului de Comunicare Strategica. Strategica da? Cre’a lacrimeaza in mormant aia de scriau la Scanteia. Ca nu poti comunica altfel decat strategic sa spui trei vorbe la oameni. Si ce se apuca sa faca noul minister? Pai sa cenzureze site-uri care nu spuneau adevarul, evident. Care bagau panica in oameni. Inca nu se stie care erau oamenii aia panicosi, dar partidul i-a salvat de la panica.

Teoretic acum tara e condusa de ministrul de interne. Care probabil la vreun sfat al unui expert din asta in comunicare, i-au dat o geaca de piele s-o poarte la conferintele de presa tinute pe Facebook unde nu trebuie sa raspunda la intrebari. Pe langa el e mereu Arafat, cunoscut publicului larg ca omul de si-a lipit curul cu super glue de scaunul de la DSU si nu vrea sa plece neam de acolo, si seful militiei. Zic militie pentru ca e genul ala de politist care abia stie sa citeasca de pe foi cand are ceva de zis, si cand citeste se vede cum i se umfla o vena la cap, probabil de la prea multa concentrare. Cam cum erau militienii pe vremuri. Cred ca fac conferintele astea fara public ca poate era nevoie sa-si ia notite omul si mai trebuia sa scrie, si era in pus in situatia in care trebuiau sa-l scoata la inaintare pe alalalt sef de militie, ala care stie sa scrie.

Dupa ce a aratat robotul cine e noul sef al tarii, s-a pus omul pe treaba si a inchis toate afacerile ne-esentiale: baruri, restaurante, frizerii, mall-uri si ce-a mai prins. Si puf, peste noapte au aparut un milion de someri. Ca vorba aia, cine i-a pus sa lucreze in mall sau intr-o cafenea? Nu puteau sa fie si astia angajati la stat unde nu ai probleme din astea existentiale, gen sa fii dat afara daca nu-ti faci treaba sau sa intri in somaj daca se inchide sandramaua.

La putin timp, dupa un zvon despre o vizita din asta de noapte a nu spunem cui, ministrul numit si Manivela s-a sucit si in mall-uri o sa fie deschise si magazinele de electrocasnice care au si optiune de livrare la domiciliu. Poate isi schimba lumea electrocasnicele fix acum si n-are de unde cumpara. Te duci frumos la mall, iti alegi frigiderul si dupa stai cuminte acasa in carantine si veni zanul frigiderelor, da de doua ori din bagheta si poof, ai frigider nou.

Dupa, gigelul care e ministru de finante, a zis stati asa, nu disperati, ca va platim noi somaj tehnic 75%. Da’ stati, ca intai trebuie sa veniti cu dosar cu sina sa aratati ca a scazut business-ul cu cel putin 25%, ca aveti sapca de culoarea potrivita si alte cele. Si 75% din salariu raportat la salariul mediu, nu la cat aveati inainte, ca nu se face asa ceva.

Dupa aia tot ala de la finante, care are mecla unuia de se uita cu tcpdump la trafic si nu intelege nimic, a zis ca ajuta oamenii care au rate la banci cu o mica amanare. A fost asa un pic de bucurie pe aia care ramasesera fara serviciu. Am zis mai sus ca nu toti au noroc sa fie angajati la stat. Pana a dat-o la intors si a zis ca se amana doar principalul, dobanda se calculeaza in continuare, si cand s-or apuca de platit iar rate, o sa plateasca mai mult, ca asa-i in tenis si nu e vina bancii ca l-a lasat statul fortat fara loc de munca. Cine l-a pus sa-si aleaga cariera intr-un domeniu din asta ne-esential?

Intre timp, s-a dat interzis la iesit din casa decat daca dai cu subsemnatul pe o foaie de hartie pe care sa o ai la tine sa o arati organului in caz ca te opreste. Treaba asta au facut-o un pic grabit si au scos de la sertar modelul de pe vremea lui Ceausescu cand pe cereri trebuia sa treci si numele parintilor, sa stie organul si partidul daca ai origini sanatoase sau nu. Ca nu toata lumea merita portocale si ciocolata. Dupa, au mai scos cateva modele de declaratii, unde diferenta dintre doua era ca una avea casutele rotunde si alta le avea patrate. Sunt convins ca cineva si-a luat bonus pentru treaba asta. Si militia s-a apucat sarguincios de facut ce stie sa faca mai bine: sa dea amenzi la oameni ca n-au sapca. Ca de prins hoti sau alte chestii din astea un pic mai complexe, evident ca nu s-au sinchisit sa faca ceva, ca aia presupune munca. Mai si anuntau mandri ca au scazut infractiunile cu 20 si ceva la suta. Sa mai zic o data, intr-o tara inchisa si cu lumea stand in case, infractiunile au scazut doar cu 20 si ceva la suta.

Prin spitale, evident, a inceput circul. Doctori care si-au dat demisia, doctori care au fost infectati de prieteni ai partidului care au mintit pe unde au fost. A patit cineva ceva? Evident ca nu, ca nu se face sa-ti bagi prietenii in belea pentru atata treaba.

A trecut aproape o luna de stare de urgenta si robotul a zis c-o mai prelungeste o luna, ca inca n-am scapat. Probabil a vrut sa zica ca n-a terminat partidul lui de furat si ca ii mai trebuie o luna sa termine ce a inceput. In caz ca avea cineva dubii ca astia de la PNL sunt suficient de prosti incat nu sunt capabili nici sa fure eficient, intr-o luna in care furatul pe bani public era legal, gen puteai da contracte cu doua maini si nu te intreba nimeni de sanatate.

De data asta a scris robotul in declaratia de prelungire a starii de urgenta ca nimeni nu mai poate sa-si dea demisia. De ce sa-ti dai demisia din spital cand poti muri patriot acolo? Sa repet: in 2020, robotul prezidential a declarat sclavia legala. Asta cumva a fost apogeul incompetentei si nesimtirii unui presedinte. Democratie doar in vorbe, ca in fapte nu prea.

Asa, tot robotul prezidential, acu ceva vreme a inaugurat un spital la Suceava cu care s-au laudat si el si partidul lui, vai cel mai modern spital. Fix acel spital a devenit “ground zero” pentru un focar de infectie pentru ca pe toti de acolo i-a durat la banana si din cauza alora de acolo, moldovenii (care nu recunosc ca sunt moldoveni) din Suceava au fost trecuti la urmatorul nivel de parnaiala. Cireasa de pe tort cu toata distractia asta a fost ca robotul pizdii a retras decoratia data spitalului. Am ramas un pic mirat de asta, ca aveam asa impresia ca dai decoratii la persoane pentru ca au facut ceva util, dar acum se confirma asa fara nici un dubiu, ca robotul dupa ce a dat decoratii la tot ce-a prins, s-a apucat sa dea si la ce-a mai prins. Noaptea mintii.

Intre timp, baiatul de la Institutul de Boli Infectioase a debitat o treaba numita “Vacanta Mare” sau ceva de genul prin care a zis ca aia peste 65 de ani sa mai stea in case sau sa fie trimisi undeva sa nu aiba contact cu lumea. Ca poate daca nu mor acasa, mor undeva frumos in grija statului. In replica, prim-ministrul Mandolina l-a lasat fara job in comisia de pandemie. Fix asa, nu o sa se mai poata lauda ca a facut ceva de pandemie. E bine-mersi sef in continuare la institutul de pareri infectioase.

La un moment dat a venit Pastele. Prima oara la catolici. Toti in casa, ca sunt catolici. Peste o saptamana a venit si pentru ortodocsi. Pentru astia, s-a gandit guvernul sa faca cumva sa primeasca lumina, ca merita sau ceva de genul. Si noul sef al tarii, ministrul Manivela, a venit cu ideea nastrusnica sa trimita politia din casa in casa si apartament in apartament sa dea lumina la oameni. Nu prea a fost clar daca era obligatoriu s-o primesti sau nu. Pentru ca lumea s-a suparat un pic pe treaba asta, a venit cu o alta idee: fiecare bloc sa aiba aiba un reprezentant si “voluntari” sa vina cu lumina pana la fiecare bloc, sa o dea la reprezentantul stabilit de bloc si ala sa dea lumina la toti. Asta a fost cre’ca cel mai josnic mod de pana acu’ de l-a gandit vreun partid sa faca cumva sa castige voturi. A fost apogeul shitshow-ului cu pandemia asta.

Ministrul finantelor a zis ca a gasit solutia cu toate firmele de s-au dus pe pula ca au fost inchise de stat: le da imprumuturi sa le ajute sa-si reia activitatea. Dar nu imprumut la toata lumea dat de la stat, dat de banci in functie de cat de bancabil esti si poti ii demonstrezi unui gigel de la banca. Pentru cine nu stia ce inseamna expresia “si futut, si cu banii luati”… acum stie. Ajutor, nu gluma. Le-a dat la antreprenori de i-a julit.

Cu vreo doua saptamani inainte sa se termine starea de urgenta, a zis CCR ca amenzile date pana acu sunt neconstitutionale si ca nu poti da amenzi prin ordonante militare (sau ceva de genul), insa ideea de baza e ca dupa ce au zis asta, numarul de amenzi a scazut maxim, semn ca nici inainte nu s-au date pe bune. In loc sa admita ca au gresit si sa dea banii inapoi la toti de la care i-au furat prin amenzi, astia de la PNL au tras inainte ca ei au avut dreptate, da’ i-a sapat avocatul poporului, care de fapt vrea raul oamenilor

Un pic de pe repede-inainte, s-a facut 15 mai si s-a terminat starea de urgenta si s-a intrat in starea de alerta. De fapt s-a terminat starea de urgenta, au urmat 3 zile de distractie si abia dupa aia s-a intrat in starea de alerta. Ca PNL-ul si-a mai dovedit inca o data incompetenta, si n-au fost in stare sa scrie o mica lege care sa poata fi aprobata de parlament in timp util. Si legea aia s-a vota marti, joi a fost trimisa la robot pentru semnat, si dupa s-a asteptat regulamentar trei zile sa intre in vigoare. Dar asta nu e totul, robotul si-a aratat fata de profesor provincial ratat si intr-o conferinta de presa a declarat printre dinti ca “daca nu sta populatia cuminte, el o sa bage din nou starea de urgenta”. Ca asa e cand esti incompetent, ameninti lumea. The oldest trick in the book – threaten people into submission. Cre’ca ultimul dictator a lacrimat un pic in mormant, de bucurie ca vechile metehne inca exista bine-mersi.

Nu mai stiu care ministru a zis ca nu ratifica acordul de liber tranzit cu Grecia si alte tari pentru atunci cand s-or duce oamenii in vacanta pe motiv ca “anul asta credem ca romanii vor prefera Romania”. Imi inchipui ca asa i-a zis vreun consilier, ca visul romanilor in vacanta e sa dea 1000-2000EUR pe 7 nopti de cazare la Mamaia.

Singurul lucru care nu m-a dezamagit din tot shitshow-ul asta a fost incompetenta PNL-ului. Pe alocuri am avut impresia ca au tinut mortis sa arate pot fi mai retardati ca PSD-ul.

Initial intentionam sa vad cum decurge si starea de urgenta pana la capat, insa nu cred ca are rost. In cazul cel mai bun ramane asa cum e acum si pe 15 Iunie se termina cu balamucul asta si o sa vedem cum o sa ne descurcam post-pandemie cu distantarea si masurile de precautie.

elasticsearch fun

Elasticsearch asta e misto sa pui chestii in el si dupa aia sa le cauti si sa le analizezi.

Mai putin distractiv e cand de la o versiune la alta nu merg lucruri si in documentatia aia a lor care e scrisa de autisti nu gasesti nimic util.

Pe undeva pe la 6.8 sau 7.0, au renuntat la ideea de a face un index pe zi. Cazul cel mai comun e cand scrie Logstash in el si indecsii se chemau logstash-2019.04.01, logstash-2019.04.02 si asa mai departe.

E, au zis ei ca nu mai e modern sa folosesti curator sa stergi indecsii vechi si l-au invatat pe Elasticsearch sa faca asta. Si nu mai e chiar ok sa ai indecsi dupa data, ci sa ii ai dupa logstash-0001, logstash-0002 si tot asa. Si Logstash sa scrie in indexul numit logstash care e de fapt un alias la logstash-xxxx, care se roteste dupa “rollover policy” – policy care poate fi setat la numar de documente, secunde (gen cat de batran e indexul) sau marime.

Pana aici, nici o problema. Problema apare cand vrei sa pui niste setari mai aparte pe index, cum ar fi numarul maxim de campuri ce pot fi mapate intr-un index. Implicit vine cu 1000 de campuri, care de fapt sunt 1002, da’ nu e important ca nici eu nu ma pricep la matematica.

“Inainte”, dupa ce faceai primul index, ii ziceai asa:

~$ curl -XPUT 'localhost:9200/logstash/_settings' -H 'Content-Type: application/json' -d'{"index":{"mapping":{"total_fields":{"limit":"2000"}}}}'

Si acum poti sa-i zici la fel, da ce sa vezi, uita de treaba asta cand roteste indexul si aplica setarile implicite. Si cum ziceam, documenatie scrisa de autisti, ca nu zice nicaeri cum sloboz sa-l faci sa fie ca inainte.

Azi, dupa ce mi-am futut intermitent creierii cu asta am gasit cum se rezolva: trebuie modificate setarile de pe template la index cam asa:

~$ curl -XPUT localhost:9200/_template/logstash -H 'Content-Type: application/json' -d '{"index_patterns":["logstash-*"],"settings":{"index":{"mapping.total_fields.limit":"2000"}}}'

Care mapping.total.fields.limit “inainte” era un parametru prin elasticsearch.yml, dar daca il pui acum, crapa ca zice ca nu mai e OK parametrul.

Distractia asta a durat super mult timp pana acum gasit termenii pe care sa-i caut pe internet sa ma duca intr-o directie cat de cat ok, si dupa a durat mai putin pana am nascut un JSON care sa fie acceptat de Elasticsearch.

Long story short:

~$ curl -X GET "localhost:9200/_template/logstash?pretty"
 {
   "logstash" : {
     "order" : 0,
     "index_patterns" : [
       "logstash-*"
     ],
     "settings" : {
       "index" : {
         "mapping" : {
           "total_fields" : {
             "limit" : "2000"
           }
         }
       }
     },
     "mappings" : { },
     "aliases" : { }
   }
 }

Da, cand n-ai de lucru, iti dau upgrade-urile de lucru…

la incendiu

Din categoria “cand e sa ai ghinion gasesti cuie si-in pizda”, joi noapte m-am trezit brusc pe la vreo 03:30 asa ca a sunat cineva la sonerie. Bine, n-am stiut atunci cat e ceasul ca asteptam pe cineva dimineata si mi s-a parut dubios sa nu vad pe nimeni pe vizor cand m-am dus la usa.

Si daca tot ma trezisem, m-am dus in bucatarie (n-am idee de ce, da cre’ca e vreun automatism din asta, gen daca tot eram pe hol sa vad si ce e in bucatarie) si acolo m-am uitat pe geam. Afara vreo doua masini de pompieri si miros de fum si cativa oameni pe afara.

M-am gandit ca OK, arde un apartament in bloc si cine a sunat la usa a fost vreun pompier sa scoata lumea din casa. Super, incendiu n-avusesem pana acum. Opresc centrala, ca na – gaze si chestii, inchid geamurile la bucatarie si alalalt dormitor in ideea ca daca se propaga flacarile in sus sa nu intre in casa si sa strice zugraveala.

Dupa aia m-am imbracat, inclusiv mi-am dat cu deodorant, ca poate aveam de stat mai mult p’afara si caldura si chestii sa nu put :))

Impachetat go-bag, care la mine inseamna un rucsac cu laptop, autentificator de la banca, pasaport, portofel cu buletin si permis si m-am dus jos, pregatit de ce ar putea urma.

Well, jos era doar miros de fum si-o masina arsa fix langa a mea care s-a topit pe partea din spate si era asa scursa un pic. E genul ala de moment in care nici draci nu poti sa ai ca esti pus in fata faptului implinit. O mut un pic mai fata dupa ce se uita pompierii in portbagaj sa nu arda ceva mocnit, ii mai face poze un tip de la criminalistica ca nu stiau de ce la ce a fost provocat incendiul. Dau acte si talon la pompieri/politie si dupa ce s-au lamurit pompierii ca nu mai au ce stinge la masina aia, au inceput sa se impacheteze.

Dupa m-am dus cu un politist la sectie sa depun plangere, ca sa afle ce se s-a intamplat.

La politie e super, prima oara scrii de mana o plangere tipizata in sesul de frazeologie, pe care o semnezi si dupa aia politistul mai scrie una in Word care contine fix ce-ai scris de mana, o tipareste si o semnezi. Cine a inventat jmecheria asta nu prea doreste ca lumea sa scrie plangeri. A trebuit sa scriu in plangerea aia ca (literlamente) “Mentionez ca nu am relatii de dusmanie cu nimeni”. Mai ca incepusem sa fredonez in cap treaba aia cu “dusmanii imi poarta pica ca n-au valorea mea”.

Ziceam la inceputul postului de ghinion ca acu vreo doua luni mi s-a spart blocul motor la o alta masina fix dupa ce plecasem de la semafor. Si acu am o masina arsa. Interesant anul asta din punct de vedere al masinilor.

Acu urmeaza partea aia fascinanta de inlocuire a placutei de inmatriculare pe spate, ca e arsa mai rau ca tigaia si cautat piese si gasit service care sa vopseasca masina. Fix genul ala de distractie de care nu aveam nevoie. Si evident ca nu te poti duce la inmatriculari cu aia stricata si sa-ti dea una noua, trebuie sa faci cerere si sa vii cu acte in original si copie.

In retrospect, m-a bucut ca am luat-o logic cu analiza situatiei si a actiunilor de dupa, fara vreo panica sau in graba. M-a dresat bine oncall-ul cand trebuia sa fiu coerent indiferent de ora la care venea alerta si trebuia sa ma apuc de treaba.

unele zile…

Saptamana asta dupa ce am terminat de instalat si configurat un ESXi offline si am pus pe el un server de DHCP a venit vremea sa-l dau in productie sa inlocuiasca actualul server de DHCP. Easy peasy. Scoti cablul de la ala vechi din switch si il pui pe ala nou si gata.

Well… ieri m-am invartit ca un coi intr-o caldare toata ziua pentru ca dupa ce puneam serverul nou in switch, nu mergea DHCP-ul. Cu laptop si cablu direct infipt in el, mergea cum trebuie. Prin switch pula.

Am avut o zi din aia in care am avut un mica criza existentiala despre cunostintele mele de retelistica si Layer2 in special. M-am uitat in vSwitch-ul de pe ESXI mai atent decat m-am uitat vreodata la un switch virtual. La fel si pe portul de pe switch-ul fizic. N-a avut portul ala parte de atata atentie in viata lui.

Cablu direct merge, prin switch nu. Serverul de DHCP zicea ca oferea adrese IP clientilor, da aia nu faceau ACK. Si nu intelegeam de ce. De ce n-ar da? Le placea la clienti asa mult de serverul vechi ca protestau?

Pe la opt seara am cedat si m-am dus acasa deja aveam idei de schimbat cariera.

Am ajuns acasa, am desfacut o bere, am re-vazut jumate de Avengers si inainte sa ma culc am zis sa mai iau o data meniurile de pe switch la rand, chiar si optiunile alea care nu ar avea de ce sa se se aplice.

Si-am gasit ca pe switch exista un meniu de DHCP care are o optiune sa blocheze raspunsurile de DHCP de la adrese MAC necunoscute si doar sa accepte adrese permise. Adica scris MAC-ul acolo cu liniuta.

Primul MAC era pus acolo, pe al doilea l-am pus eu dupa alta criza de draci.

Unele zile…

mssql replication & log shipping

Acu ceva vreme am instalat la niste oameni niste multe servere de MSSQL pentru niste chestii de logistica.

Anul asta au zis oamenii ca bai, e important sa nu pierdem datele pe care le avem pe servere si hai sa facem un backup offsite.

Backup-ul offsite n-a fost sa fie ca latenta si TCP e picky cu latenta cand vrei sa transferi single-connection fisiere mari si eram intr-o situatie din aia in care dura mai mult de-o zi sa transfer un fisier de backup (mind you, gigabit in ambele parti, da TCP…). “Stiintific” treaba asta se cheama “long fat pipe problem” si necesita un pic de inginerie sa mearga cum trebuie, da’ in cazul de fata n’aveam ce inginerie sa fac ca tehnologia era la impuse.

Long story short, zic hai ca am solutia: facem replicare intre servere de MSSQL si o sa fie aproape realtime datele, eventual o sa se mai piarda cateva tranzactii, da’ nu e un capat de lume.

Si ma apuc eu si instalez un SQL server in alta parte si da-i sa fac replicare. Ma gandeam eu ca e la MySQL undeva faci un master/slave, restaurezi un backup pe ala remote si dupa aia trimiti binlog-urile pe al doilea sa le face replay si aia e. Simplu.

Well… not really, ca Microsoft fiind Microsoft au zis ca de ce sa fie simplu cand poate sa fie complicat si nu poti face replicare asa simplu. Ca de exemplu daca ai tabele fara primary key nu le poti include in replicare. Procedurile stocate nu se replica, because reasons…

Multa muie lor pe tema asta ca mi-au scos peri albi.

Zic bine, facem transaction log shipping care “replica” tot. O sa fie baza de date remote un pic in urma, da’ a zis lumea ca poate trai si daca se pierd 30min de date.

Acum, astia cu logistica sunt mai speciali… cam ca niste autisti de speciali, si ei nu cred in versiuni prea noi de software si asa am ajuns eu sa am si MSSQL 2014 si 2016, ca fiecare producator are versiunea lui de baza de date “suportata”.

Mno, acu aveam servere din astea diferite, zic hai ca pun MSSQL 2017 in locatia remote si stochez acolo toate bazele de date ca fiecare baza de date un Compatibility Level care e in functie de versiunea de SQL Server, gen 2014, 2016 si 2017.

Instalez eu serverul vietii, dau sa setez transcation log shipping: nu se poate prietene ca trebuie upgradata versiunea de baza de date pe serverul remote si ghinion ca tu ai o versiune mai veche. Morti si raniti si muie alora de-au programat mizeria asta.

Se pare ca desi poti bifa acolo Compatibility Level, intern MSSQL mai modifica un pic baza de date ca sa fie compatibila cu noul engine de SQL, da’ la suprafata se comporta ca ala vechi…

Alte ore pierdute aiurea, da-le-as muie la imbecilii pulii. Pai orice esti backward compatible ori nu esti.

Zic bine, hai ca pun un 2014 remote sa se impace cu 2014 local. Pun serverul pulii, setez acolo replicarea, face primul backup mare de pe sursa, il copiaza super repede pe destinatie si imi da prin gura: n-ai destul loc pe C:\ ca sa restaurez baza de date pe destinatie. Mi-au scapat instant multe mui inspre Microsoft pe tema asta…

Asta desi din setup era configurat sa tina bazele de date pe alt disk cu suficient de mult spatiu. Dar nu, el vrea musai pe C:\ pentru ca ma gandesc eu ca acolo are setat “Instance Root Directory” si simte nevoia s-o puna acolo desi ar trebui s-o puna in alta parte.

Varianta complicata a fost sa fac eu un backup full la o baza de date, s-o copiez in 3 ore in partea ailata si s-o restaurez unde trebuie si abia dupa aia sa setez transaction log shipping pe sursa si sa-i zic la sursa ca deja exista baza de date in partea ailalta.

Asta era azinoapte. Dupa un pic de investigatii descoperii ca de fapt nu merge log shipping.

Banuiesc ca e din cauza ca pana s-a copiat baza de date si s-a restaurat a trecut prea mult timp pe sursa si logurile pe care le genereaza nu au logica pe destinatie ca’s la prea mare distanta in timp.

Back to the drawing board. Sa moara in chinuri aia de la MS care in loc sa faca un setup simplu, l-au complicat pana i-au scos mucii pe cur. Unfuckingbelieveable…

(Cateva zile mai tarziu…)

Dupa un pic de desenat am descoperit cum pot sa-l fac sa restaureze baza de date unde trebuie. La Restore are niste optiuni semi-ascunse in care ii zici unde sa restaureze baza de date si unde sa restaureze logurile. La asta cu restauratul evident ca nu e simplu: baza da date pe sursa se cheama ABC si are doua fisiere mari si late: ABC.MDF si ABC_LOG.LDF (baza de date propriuzisa si logurile). Eh, cand le faci restore in alta parte, poti sa schimbi numele bazei de date – asa cum am facut eu, ca poate vrei s-o prefixezi cu ceva. Catch-ul e ca numele de pe disk al fisierelor nu se schimba in noul prefix, gen baza sa fie LS-ABC si fisierele sa se cheme LS-ABC.MDF si LS-ABC_LOG.LDF… Pai ce erau prosti sa-l schimbe? Nu, pe disc ramane la fel. Si daca ai doua servere din medii diferite de productie si cu acelasi nume de baza de date si vrei sa faci log shipping de pe ambele pe un singur server… ghici ce… la a doua restuare o sa-ti dea eroare ca deja exista baza de date si ca bla bla e folosita. Si trebuie sa faci alte directoare pentru baza si pentru loguri ca sa poti face log shipping si pentru al doilea server…

Problema de dinainte era din cauza ca aveam alte job-uri de log backup si MSSQL asta nu e asa inteligent sa nu amestece oalele, si se facea backup la loguri din 2 in 5 si evident ca unele loguri era salvate undeva si alte altundeva si pula continuitate in loguri si n-avea ala la ce sa faca restore.

Fixat asta, dat backup/restore si log shipping si pare sa mearga. Trebuie sa stau cu geana pe el sa vad ca nu sughita, sa dau un reboot pe ici pe colo sa vad cum face cand se mai pierde sursa sau destinatia un pic.

Sa-i chis in freza pe astia de la Microsoft si mai ales pe aia de scriu la MSSQL ca au gandit diverse chestii din puta gandirii…

zeii vacantelor

Anul trecut cred ca am facut ceva, am injurat sau m-am uitat urat la zeii vacantelor.

Am plecat cu aventura din .ro, si azi in timp ce ma pregateam sa ajung in Phnom Penh, am ramas blocat in SGN in tranzit ca pasaportul meu are valabilitate sub 6 luni si nu ma primesc aia de la imigrari din Cambodia.

Pasaportul expira la inceputul lui Iulie si mi-am facut eu socoteala ca pot sa ma plimb toata luna Ianuarie si dupa aia sa ma intorc la frigul de pe plaiurile mioritice.

Eh, se pare ca 6 luni nu sunt asa calendaristice dupa nume cum am numarat eu pe degete, ci 180 de zile. Si cam peste tot in lume nu te primeste nimeni daca pasaportul are valabilitate sub 6 luni (in afara de tara de rezidenta, bineinteles).

Zborul HKG-PNH l-am luat cu Vietnam Airlines cu escala in SGN. Pe site mi-au cerut date de pasaport si a fost OK, imbarcarea de azi a fost OK, security check in zona de tranzit din SGN a fost OK si aia. In timp ce ma pisam inainte sa ma duc la imbarcare inainte de zborul spre PNH, imi aud numele strigat. Zic ba n-are cum sa fie c’am intarziat ca erau oameni la coada cand m-am dus la buda.

Ma duc la aia si avem o discutie despre pasaport si cum ca soarta, dar nu ma pot imbarca ca alea 180 de zile s-au facut acu 2 zile si ca nu pot sa trec de imigrari in PNH.

Zic bine, bine, si acum ce facem? Colegii de vacanta ajunsesera deja in PNH cu alt zbor si zic sa sune la ambasada .ro in Vietnam sa vedem daca pot aia sa mi-l prelungeasca cumva si sa-mi continui drumul. Numarul ala din SMS-ul de la MAE pe care-l primesti cand ajungi intr-o tara straina nu era bun. La numarul de urgente MAE din .ro n-a raspuns nimeni.

Se pare ca e foarte important sa nu ai urgente cand esti in afara tarii ca o sa sugi pula cu doua maini ca veverita.

Astia de la Vietnam Airlines m-au adus frumos in zona de sosiri si am inceput sa ma simt ca in The Terminal. De imigrari in SGN nu puteam sa trec ca n-aveam viza, si in al doilea rand pasaportul avea validitate sub 180 de zile.

Vad un transfer counter de Emirates si ca aveau un zbor la 23:55 spre DXB de unde aveam mai departe un zbor FlyDubai spre OTP. Pe site pretul sa zicem ca era decent pentru last minute booking, dar i-am intrebat inainte daca au locuri & stuff. Dupa vreo 45 de minute de asteptat dupa confirmari: full flight, inclusiv la Business.

Cum ala era ultimul zbor pe ziua de azi, am cautat zboruri maine. Evident ca daca faci escala in Europa te pisa la pret pentru one way, ca se stie ca europenii au bani.

Cine si-a cumparat un bilet scump one-way spre .ro ca un sef? De banii aia o sa fiu seful la calculat date. O sa devin calendarul uman, dupa calculat sa convertesc si intre calendare: vrei Gregorian la Iudaic? Da la baiatu’ ca iti zice din cap. Vrei Gregorian la Islam? Cum sa nu, pot sa prevestesc cand incepe Ramadanul pe urmatorii o mie de ani.

Dupa ce-am luat biletul m-am dus la aia de la biroul de transfer sa le arat numarul de la e-ticket sa-mi dea boarding pass sa ma duc in pizdia la frig. Dar ce sa vezi, zborul e operat de AirFrance si aia trebuie sa-mi dea boarding pass si aia incep programul la 20:00 si sa stau sa mai fac niste pasi.

Intr-un final pe la opt si-un sfert asa dau de o tipa care pana la urma a inteles dilema mea, m-a crezut pe cuvant ca in CDG nu-mi trebuie viza de tranzit si ca chiar pot sa ma duc cu pasaportul pana la destinatia finala, mi-a dat si locuri la culoar pe ambele zboruri si cand sa tipareasca boarding pass-ul s-a stricat imprimanta aia de bilete.

Long story short, 20 de minute mai tarziu s-a reparat imprimanta si am boarding pass. Srsly, nu stiu ce-am facut, da am facut fix opusul calcatului in cacat. Asta, s-au m-a cobit careva maxim.

13h:25min din SGN in CDG. Fara numar. Macar zbor la vest si n-o sa fiu pisat de oboseala cand ajung in OTP. Sper si sa prind un pic de motaiala pe zborul ala.

Acu stau in lounge-ul de la astia, ca intr-un final mi-au dat aia punctele si am mai castigat un an de intrat in lounge-uri, si scriu despre cat te costa ca nu stii sa socotesti. Asa e cand nu belesti ochii, belesti cardul si ramai ca boul blocat in aeroport. Pot sa ma laud cu cea mai scurta si scumpa vacanta de pana acum. FMM.

certificari

În lumea asta a tehnologiei s-a inventat acu mulți ani ideea de certificare pe abilitatea de a implementa, configura și/sau a depana un produs software. Că vorbim de un sistem de operare, sau de un software de să zicem securitate sau WiFi sau orice altceva. Teoria asta cu certificarea s-a născut ca să poți dovedi la un potențial angajator sau client că știi despre ce vorbești. În practică te ajută un pic să intri pe ușă în fața altora sau să te lauzi în diverse cercuri ce diplome ai si cât de dăștept ejti.

Pe vremea mea ™ când apărea o versiune majoră de software, după 6-12 luni apăreau și examenele: începător, mediu, avansat. Sau în anumite cazuri doar unul singur. Și era frumos, că nu scoate nimeni versiuni majore de software în fiecare an și cel puțin la sisteme de operare iese unul nou la 4-5 ani. Iar la diverse alte aplicații software ies cam la 3-4 ani.

Dădeai examen și era valid cât timp exista versiunea majoră de software. Apărea alta nouă, iți făceai mâna pe ea, așteptai să iasă noul sau noile examene și mai băgai o fisă și tot așa.

La un moment dat cineva s-a prins că hei, dar se pot face bani din ideea asta de certificări. Și uite așa s-au inventat certificăarile care sunt valide doar un număr de ani, în general doi.

Tot pe vremea mea ™, dacă luai examenul, așteptai cam o lună și îți venea prin curier o diplomă frumoasă, embosată și semnată de cineva șmecher de la compania respectivă. Tot ăia care s-au gândit ei că pot să facă bani cu cettificările astea au zis că ce-ar fi să scadă costurile și să nu mai trimită diplome daca iei examenul. “For your convenience and to protect the environment you ca download your certificate from our website in PDF format”. Un fel de du-te și suge-o, ia d’aci un PDF obosit generat automat și vezi-ți de treabă că noi suntem ocupați să numărăm banii.

Și treaba asta e să zicem OK daca ești din ăla focusat pe un produs. Că ai de dat unul sau două examene la fiecare doi ani și aia e. Oricum dacă toată ziua doar apeși butoane într-un singur produs, ajungi să-l știi pe de rost cum se zice. Dai $100 la doi ani și gata, poți să te lauzi în continuare cu cât de deștep ești.

Pe lângă certificările cu focus pe un produs anume, mai sunt alea care sunt agnostice din punct de vedere al produselor și se bazeaza pe lucrurile fundamentele sau pe tehnologii. Un exemplu bun e CISSP, care te trece prin multe domenii. Ăștia sunt ailaltă categorie specială, în care plătești taxă anuală de mentenanță și trebuie să dovedești că te ții la curent cu domeniile respective de tehnologie.

Problema e că eu nu sunt d’ăla de știe doar sa umble cu cheia de 10, și pe ce-am putut să pun mâna să învăț și să mă certific, am făcut-o. Și am acu un teanc de certificări care costă ceva bani să le mențin. Că azi implementez ceva pe Microsoft, mâine pun un firewall, poimâine fac o rețea WiFi și tot așa. Pentru varietate.

Așa am ajuns în situația în care pe an plătesc câteva sute de dolari la unii și la alții ca să pot să îmi mențin certificările și să nu expire. Anul și examenele. Că nu le-am luat pe toate în același an și sunt așa împărțite pe an. Vara dau examene de securitate, iarna infrastructură și între mai strâng puncte pentru chestii agnostice.

Ce mă seacă cel mai tare și mai tare e ca deși certificările astea au valabilitate doi ani, e riscant să dai examenul în ultima zi, că poate îți dă cu virgulă și trebuie să-l mai dai o dată. Și asa ca îl dai cu o lună înainte să expire, să ai timp de stat pe tușă 2-3 săptămâni înainte să mai poți să-l dai o dată. Și ce să vezi, dacă îl iei din prima, perioada de valabilitate nu începe după ce expiră certificarea existentă. Începe fix din ziua în care ai luat examenul. Și uite așa de fapt nu e pe doi ani, e pe un an și 11 luni. Că parcă vine apocalipsa dacă pun și restul de zile la certificarea nouă.

Pe de altă parte, aș zice ca e “the cost of doing business”… da’ parcă prea s-au lăcomit toți și nu știu cât o să mai meargă până o să ajung să dau examene anual. “For my convenience”, evident.


hatereala de duminica seara

Din categoria “noi dam reboot, nu gandim”.

Asta e ultima chestie care m-a secat asa un pic, ca am asa impresia ca toti inginerii au murit intr-un canal ceva si-au ramas aia care dau reboot daca ceva nu merge.

In ultima vreme am avut asa niste experiente sa zicem interesante in care vad oameni care invata produse (software/hardware) aproape pe de rost, stiu mai mult sau mai putin unde sa dea click, da’ nu pricep ce se intampla in spate si ce inseamna click-urile alea, si cand nu merge ceva, mai dau un reboot… si inca unul… da’ e bine ca stiu sa trimita emoticoane in SMS-uri.

10/08/2018

Pe la 19:45-20:00 am ajuns in Piata Victoriei cu metroul. Relativ goala piata fata de protestele de anul trecut din iarna, semn ca la ora aia nu se stransesera prea multi oameni.

Cand am iesit, piata era plina in sensul ca erau multi oameni, dar nu foarte compacti. Lascar Catargiu era plin de oameni, la fel din ce am vazut si Aviatorilor si Kisselef.

In mare parte se scanda Muie PSD, ca doar asta era tema protestului :) Plus restul de “PSD Ciuma Rosie”, “Jandarmeria apara hotia” (lucru mai adevarat ca niciodata dupa ce-a urmat) si altele.

N-am apucat sa ajung prea in fata ca pe la 20:30 sau cam pe acolo au inceput sa bubuie lacrimogenele si vantul batea dinspre Stefan cel Mare spre Titulescu, lucru nasol ca se imprastiau gazele alea inspre demonstranti. Asta a fost prima data cand Jandarmeria a inceput sa gazeze oamenii din Piata.

Cred ca pe la 21:00 au inceput sa dea iar cu gaze undeva in zona dinspre Victoriei – Lascar Catargiu si cred ca vreo 10 minute mai tarziu fix in oamenii din piata. Le dadeau balistic asa, pentru ca eu eram in zona parcarii din Piata Victoriei unde oamenii de acolo nu aveau cum fizic sa fie vreun pericol pentru jandarmi si chiar nu era nimeni violent.

Asta a fost a doua oara cand mi-au luat gaze direct in mecla, ca au dat cu niste chestii ca niste artificii, da’ cand cadeau aproape de sol te omorau. Si e foarte neplacuta (sa ma exprim englezeste) senzatia de usturime in plamani si in ochi.

Am incercat sa dau cu niste apa ca imi luasem doua sticle, si in timp ce ma spalam a venit cineva si mi-a dat niste lapte pentru ochi care a ajutat destul de repede si am ramas doar cu rezolvat treaba cu respiratul. Tricoul n-a ajutat ca filtru si trebuia sa astept sa sufle vantul gazele sa vina iar aer curat.

Am incercat sa-mi pun tricoul peste ochi sa merg, dar acolo in parcare sunt borduri si riscam sa ma impiedic de vreo una si sa-mi rup dintii. Asa ca am mers ca piratul, ba cu mana pe un ochi, ba pe celalalt, ca sa se odihneasca unul din ei si sa nu-si mai ia gaz.

Dupa treaba asta m-am dus la Mega Image sa-mi iau o sticla de lapte, ca la cum aratau lucrurile, situatia n-avea nicicum sa se imbunatateasca.

Sporadic intre 10 si 11 asa s-a tot dat cu gaze in multime. Cu astea am avut oarecum noroc ca eram la buda la Antipa ca ma pisam pe mine si o parte din gaze nu m-au prins ca eram inauntru, da m-au luat pe final cand am iesit.

In jur de 22:50 asa, au inceput sa bubuie grenadele cu lacrimogene una dupa alta si toata piata s-a umplut de fum.

Din ce citeam azi, cica s-au dat semnale luminoase ca se da cu gaze. O MARE MINCIUNA, s-a dat direct cu gaze.

Au tras animalele alea in toate directiile, ajungeau tirurile pana la cladirea BRD, care e in partea opusa a guvernului.

Pe mine m-au prins fix pe colt la Antipa unde situatia era un pic nasoala ca n-aveam pe unde sa fugim ca erau gaze in fata si in spate si se tot dadea pe Mihalache.

Problema e ca riscul de busculada era foarte mare si eram langa garduri de sarma si copaci. Initial am incercat s-o iau spre Kisselef in ideea de a ajunge cumva prin parc, dar au inceput sa cada resturile de la proiectilele alora prin copaci si fumul a devenit prea dens sa poti respira sau sa vezi ceva cand ai ochii cat cepele de umflati.

Cumva singura varianta a fost spre Mihalache si dupa aia spre Titulescu, ca acolo nu prea ajungeau gazele. Am luat-o prin parculetul de la Antipa pana in Mihalache. Gardurile de acolo erau din plasa super subtire si nici foarte bine prinse de stalpisori, si au fost rapid puse la pamant.

Am ramas acolo in zona deasupra pasajului pana mi-am mai calmat ochii cu niste spalaturi cu lapte (Napolact FTW) si sa vad care e situatia.

Tot veneau grupuri de oameni care erau atacati si batuti de jandarmi in timp ce erau gazati.

Toata gazarea a fost foarte sustinuta pana pe la 00:00 asa, s-a dat in continuu cu gaze.

M-am oprit sa mai ajut pe unul si altul care nu mai puteau merge din cauza ca nu mai puteau deschide ochii de la gaze.

Peste drum, masinile de politie incercau sa calce oamenii care erau in Pasajul Victoriei. Cumva in ultimul moment au iesit unii cu butelii cu gaze sa disperseze lumea si au plecat mega rapid de acolo ca deja incepuse lumea sa arunce cu ce se nimerea in ei.

Dupa ce n-am mai putut sa stau acolo in piata am luat pe langa America House pana la intrarea in pasajul Victoriei unde am dat de masinile de la SMURD care ajutau oamenii cu dificulati.

I-am intrebat pe aia daca apa sau lapte (ca vorba aia, sa intrebi pe unu care in principiu stie) si mi-a zis ca mult lapte peste ochi. Acu pot sa zic ca e oficiala asta cu laptele impotriva gazelor lacrimogene.

Am stat in zona pana cand ajunsesra animalele alea de jandarmi pana pe la Mihalache/Buzesti si am luat-o pe niste stradute sa ajung la McDonalds-ul de la Buzesti.

Am fost oarecum inspirat sa plec atunci ca dupa aia am vazut la stiri ca jandarmii au atacat si batut oamenii care se retrageau si eu erau pe diverse stradute.

Pe la Hala Matache era calma treaba, circulau si ceva masini si-am putut sa-mi comand un Uber sa ma duca acasa.

So ca si rezumat:

  • Jandarmeria a atacat pe toti oamenii care se aflau in piata
  • Au dat cu gaze in mijlocul oamenilor care erau la foarte mare departare fata de ei

  • In poza de mai sus se vede unde erau jandarmii si unde au ajuns gazele aruncate de ei (am furat poza de pe FB). P’acolo asa m-a prins cre’ca a doua oara.
  • Politia incerca sa calce oamenii pe strada la intrarea in Pasajul Victoriei dinspre Titulescu.
  • Am o julitura la cot care nu stiu de unde e.

Bun venit in Romania 2018!

lio fun stuff

Acu multi ani, cand voiai sa faci un target de ISCSI pe Linux, existau tgtd si tgtadm. Pen’ca tgtd rula in userspace, avea ceva penalitati de performanta, ca luai chestii de pe disk si le trimiteai peste retea. Niste oameni, adica Datera prin http://linux-iscsi.org/wiki/LIO au scris toata partea de target si initiator in kernel ca sa nu mai faci context-switching aiurea fara motiv.

Partea misto e ca pe langa ISCSI “normal” au implemenant si primitivele VAAI ale lui VMware si accelereaza diverse operatiuni pe care le face ESXi: gen zero-ing, copiere si scriere de date de pe acelasi LUN etc.

Intr-un proiect de acu aveam nevoie de shared storage pentru niste ESXi-uri si m-am apucat sa fac niste target-uri pe un CentOS7. Initial din toate discurile de aveam sa le export, am exportat unul singur mi-am facut treaba si restul sa le export cand aveam nevoie de ele.

Intr-o zi cu soare am ajuns si la exportat restul de discuri ca aveam nevoie de loc unde sa fac backup, sa mut niste masini pe niste discuri mai rapide etc.

Am adaugat si restul de discuri ca LUN-uri, le-am mapat in ESXi-uri si m-am luat cu alta treaba. A doua zi incepe lumea sa se agite ca bai nu mai merge “serverul”, unde “serverul” era un VM pe care lucrau oamenii. Pana a ajuns la mine asta, pana am terminat ce aveam de facut, a inceput sa mearga “serverul”. Am zis ca cine stie, o fi sughitat reteaua sau ceva (ca lumea era pe Wi-Fi si na… nu e obligatoriu sa mearga mereu ca te mai pui cu laptop-ul aiurea si poate nu ai cel mai bun semnal) si d’aia n-a mers, ca nici nu a stiu lumea sa-mi spuna exact ce inseamna “nu merge”.

A doua zi dupa incident, eram eu pe langa rack-uri si trageam de niste cabluri pe acolo, cand aud un bipait din ala de cand buteaza un server. M-am apucat sa ascult sa vad de unde e, da pana am gasit un monitor, pana l-am montat, pana am luat-o din server in server, totul era iar OK. Dupa aia am luat-o cu verificat de uptime-uri, pana dau de asta cu storage care avea uptime de cateva minute.

Evident, dictai WTF-ul pe fata mea, ca n-atinsesem nimic care sa-l afecteze. Noroc ca mai eram cu cineva acolo pe post de martor, ca zicea lumea ca-i sabotez. E, cat incercam io sa ma uit in loguri sa vad ce-ar fi putut sa aiba (bine, sperand sa gasesc loguri), vad cum incepe un kdump sa ruleze si buf, reboot iar.

Cat am apucat io sa vad ce scria pe ecran, baga ceva cu “BIOS corrupted by…”. Zic sa vezi acu distractie, ca daca e ceva de BIOS si nu exista update la producator, o sa se lase cu sugeri maxime, ca aia n-o sa fixeze peste noapte si o sa dureze pana se prind ce ma-sa are.

Cat ma gandeam eu la posibilitati si ce-ar putea sa aiba, s-a rebutat, a pornit fain frumos, a mai mers vreo 10-15 minute si iar kdump si biiip restart.

Eram asa un pic cu morcovul in cur ca 1) lumea chiar avea nevoie de storage pentru VM-uri 2) eu propusesem solutia. Mai mult 2) ma ardea maxim. Ca ma gandeam c-am pizdit-o grav. Desi era prima oara cand se intampla asta, am auzit de atatea ori scuza asta la diversi cu “pana acu nu mi s-a intamplat” ca ma gandeam ca sigur o sa ma creada din parti clientul daca zic si io asta. Ca eu sigur nu l-as fi crezut pe unul cand zice asta.

Si m-am apucat sa ma gandesc ca ma-sa s-a schimbat intre timp, ce-am facut, unde, de ce. Si nu imi venea nimic in cap sa fi facut acolo, care sa prezinte un risc. Pana cand dupa vreo ora asa, si vreo 2 reboot-uri, m-a palit ca poate e de la ISCSI ca adaugasem alea 2 LUN-uri in portal.

Le-am demonat de pe ESXi-uri, le-am sters din portal si am asteptat sa vad daca mai crapa.

Si n-a mai crapat.

Dupa ce mi-a trecut sperietura cu asta, am inceput sa ma gandesc ca “ba bine, nu mai crapa, da acu ce cacat fac cu restul de discuri, ca nu pot sa nu le mai prezint la ESXi-uri, ca am nevoie de ele”. Cat timp ma gandeam eu la asta, mi-am adus aminte de kdump. Si m-am apucat sa ma uit prin ele, ca se salvasera toate de cand a inceput sa moara kernelul.

Si mi-a trecut panica, ca absolut de fiecare data crapa in acelasi loc:

[ 5241.534120] BUG: unable to handle kernel NULL pointer dereference at 000000000000001c
[ 5241.534194] IP: [<ffffffff816abb5c>] _raw_spin_lock+0xc/0x30
[ 5241.534245] PGD 0 
[ 5241.534264] Oops: 0002 [#1] SMP 
[ 5241.536014] Call Trace:
[ 5241.536048] [<ffffffffc05d1c90>] ? target_complete_ok_work+0x180/0x330 [target_core_mod]
[ 5241.536109] [<ffffffff810a881a>] process_one_work+0x17a/0x440
[ 5241.536153] [<ffffffff810a94e6>] worker_thread+0x126/0x3c0
[ 5241.536196] [<ffffffff810a93c0>] ? manage_workers.isra.24+0x2a0/0x2a0
[ 5241.536244] [<ffffffff810b098f>] kthread+0xcf/0xe0
[ 5241.536281] [<ffffffff810b08c0>] ? insert_kthread_work+0x40/0x40
[ 5241.536327] [<ffffffff816b4f58>] ret_from_fork+0x58/0x90
[ 5241.536367] [<ffffffff810b08c0>] ? insert_kthread_work+0x40/0x40
[ 5241.536410] Code: 5d c3 0f 1f 44 00 00 85 d2 74 e4 0f 1f 40 00 eb ed 66 0f 1f 44 00 00 b8 01 00 00 00 5d c3 90 0f 1f 44 00 00 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 01 c3 55 89 c6 48 89 e5 e8 a4 2a ff ff 5d 
[ 5241.536649] RIP [<ffffffff816abb5c>] _raw_spin_lock+0xc/0x30
[ 5241.536694] RSP <ffff88085de0fdf8>
[ 5241.536720] CR2: 000000000000001c

Bine, mi-a trecut panica ca m-am gandit eu ca ba, sa vezi ca se confuzeaza in vreo chestie de concurrency ca mai multe host-uri vor chestii relativ similare de pe mai multe discuri in acelasi timp si poate se dezaloca ceva aiurea si d’aia ajunge ala in NULL pointer dereference. Sau poate cand aloca nu si incrementeaza numarul de alocari si prima dezalocare merge da restul nu mai au cum… Sau ceva de SerDes aiurea la scrieri/citiri.

Da’ fiind in _raw_spin_lock cand crapa… slabe sanse sa pot debuga ceva, ca asta e treaba de lucruri low level in kernel.

Long-story short: mai multe LUN-uri intr-un portal exportate la mai multe host-uri != love.

Acum stiam de ce crapa, da nu-mi rezolva problema, si anume sa pot folosi toate discurile din sistem.

Si mi-am adus aminte ca atunci cand am mai avut probleme din astea cand nu mergeau mai multe lucruri in acelasi timp in kernel am folosit VM-uri se separ pe caprarii componentele.

Asa am ajuns ca pentru fiecare disc pe care trebuie sa-l export sa fac cate o masina cu KVM la care sa-i atasez discul din host, sa fac cate o configuratie simpla de ISCSI target si s-o prezint mai departe la ESXi-uri. E o solutie scarpinata pe dupa ureche, da’ merge si pentru ca virtualizare si discuri din host in VM direct, nu se observa nici un overhead.

Nu e cea mai eleganta solutie, dar merge fara prea mult efort de administrare.