Tag Archives: nervi

muie ing

Din categoria ca nu mai haterisem de ceva vreme: azi le urez imbecililor de la ING toata muia din lume. Sa vina toata la ei.

La fiecare update de OS sau de aplicatie, muia lor de aplicatie de ING Business ma intampina cu “bine ai venit utilizatorule nou, hai sa te inregistrezi”. Si pe langa faptul ca trebuie sa-mi aduc aminte parola de la site-ul lor basit, face MFA cu SMS, de parca suntem in 2010. Si cu mail. Imi da mail sa-mi trimita cod. Doua coduri. Toate codurile.

Si suge maxim cand ma trezesc sa nu fiu in Romania. Ca scoate SIM, pune SIM de .ro, uita-te la cer sa fie planetele aliniate cum trebuie, sa vina SMS-ul pulii, ca nici cu aia de la VF nu mi-e rusine. Ca vin SMS-urile precum castigurile la loz in plic.

Si ma intrebam asa schimband SIM-uri si injurand: oare cat mortii lor de greu le e sa faca o aplicație care sa nu suga mai tare ca o thailandeza de la un blowjob bar? Ca iti trebuie un talent deosebit sa ajungi la nivelul asta de supt.

juniper ex & vmx

VMX

In lumea asta a virtualizarii, si producatorii de routere s-au apucat sa vand variantele virtuale ale produselor lor. Si cea mai simpla treaba e sa vinzi un router, ca acum in zilele noastre cu un procesor multicore poti plimba multe multe pachete dintr-o parte in alta si pana la cativa zeci de gigabiti nu ai neaparat nevoie de un ASIC dedicat pentru asta.

Din varii motive, imi place JUNOS si pe la ce clienti am mai instalat una alta, daca era si Juniper pe lista de producatori acceptati, le propuneam o solutie cu produsele lor. Din categoria oricum toata lumea pune Cisco, hai sa folosim si altceva similar.

Mno, acum cativa ani, a scos Juniper si varianta virtuala a routerelor MX pe care a botezat-o in mod foarte creativ VMX…

E. Toate bune si frumoase. Ideea la Juniper, dar cum e si la restul de producatori, presupune ca ai un “control card” si una sau mai multe “forwarding cards” si alea au ASIC-uri si ce trebuie, si control card-urile doar se ocupa de programare. Easy-peasy.

Ce-a zis Juniper: pai facem la fel, un routing engine si un line card pe care punem cate porturi o fi nevoie. Treaba cu Juniper e ca RE-ul ruleaza un FreeBSD modificat. Pentru line-card au zis ca pot folosi Linux + ceva modificari de la ei sa “mearga repede”.

Si daca vrei un router din asta virtual de la Juniper, tre sa pui doua masini virtuale: una cu FreeBSD si una cu Linux. Nu suna rau in teorie, insa in practica necesita destul de multe resurse. Da sa zicem ca iau un server dedicat pentru asta si aia e.

Din motive care insa imi scapa, Juniper s-a apucat sa foloseasca Windriver Linux, siii…. au inventat un soft care ruleaza intr-un super tight-loop care se ocupa de forwarding-ul de pachete. Si ai un sistem care e totul tipul cu CPU-urile in 100% fara absolut nici un motiv. Zici ca aia care au facut modulul vietii nu stiu ca Linux stie sa proceseze singur pachetele cat mai eficient posibil, nu trebuie sa ti-o arzi prostu cu “sunt pachete? sunt pachete? sunt pachete?” pe queue-urile de primire din kernel.

Si tot in inteligenta lor nemasurata, n-au inteles cum sa-si faca singuri update la JUNOS si daca vrei sa faci upgrade la o versiune noua procesul este interesant de simplu: faci backup la configuratie si la licente (ca logic ca e cu licenta, mai ales ca explica acolo ca e spre binele meu, cum sa nu…), reinstalezi masinile virtuale si re-aplici configuratia si licentele pe versiunea noua.

Da cred ca asta e pretul pe care-l platesti cand ai nevoie doar de 10-20Gbps de routare si nu vrei sa dai 50-60K EUR pe un router “hardware” cand poti scoate totul in 15K cu un server.

Da sa moara bibi, sa nu fii capabil sa faci doua OS-uri sa se updateze singure cu ceva gen snapshot-uri si alte nebuneli…

EX

Tot acum ceva ani, s-a apucat Juniper de facut si switch-uri, ca au auzit ei ca se saturase lumea de Cisco si vor niste switch-uri si mai scumpe. Asa s-a inventat linia de produse EX.

Anii au trecut si au evoluat si switch-urile. Si acum ai un switch care are pentru partea de control are un Linux de ruleaza niste VM-uri care contin softul care vorbeste cu ASIC-urile de pe porturile de switching. Inception modern. Teoria fiind ca atunci cand faci update de OS poti s-o faci online, doar cu o intrerupere minora de trafic. In practica nu prea merge ISSU/TISSU deloc. Dar banuiesc ca vroia si Juniper momentul lor de faima pe care l-a avut Cisco acum 20 de ani cand au inventat Online Insertion & Removal pe 7500, care invariabila rebuta routerul cand cand bagai un card nou. Si asa OIR s-a transformat in Online Insertion & Reboot. Asa si astia, 20 de ani mai tarziu nu poti face online upgrade…

In 2023 Linuxul pe care l-au pus astia pe post de OS este CentOS 6.2. Da, fix ala cu kernel 2.6.32. De nici internetul nu mai stie de el. Si astia se mai lauda ca au si divizii care fac produse de securitate…

De cretinatatea asta cu EX nu vroiam sa scriu, dar m-au scos din minti ca am incercat sa instalez versiunea de OS recomandata de ei pe site, si dupa reboot s-a pisat cu bolta pe mine qemu de pe host ca nus’ce segmente nu ajung nu stiu unde si a durat o vesnicie sa copiez versiunea anterioara de software la 10kB/s prin SCP ca stateau procesoarele in 100% ca au muit virtualizarea. Si sa copiezi aproape 700MB cu 10kB… dureaza ceva.

Cam asa mi-am petrecut un weekend din Ianuarie intr-un datacenter. Macar era mai cald acolo decat afara si am facut un pic de economie la gaze ca am oprit centrala cat am fost plecat :))

Morala povestii e ca nu trebuie avut nici un fel de increde in firme din astea care’s obisnuite sa vanda cutii sa se prieapa la lucruri un pic mai complicate gen virtualizare sau similar.

linkedin app

Din motive profesionale mi-o mai ard si pe LinkedIn, ca mai aflu una alta. Trecand peste faptul ca toata lumea de pe LinkedIn traieste intr-un univers paralalel[1][2][3], informatiile prezentate acolo sunt okish. Si mai apuc si sa trollez pe unul sau pe altul.

Anyway, articolele acolo sunt de doua feluri: posturi de LinkedIn sau link-uri la articole pe care le vezi in browserul din aplicatie. Care cred ca tot un Safari e, da mai ascuns asa.

E, inteligentii aia de PO si programatori de la Microsoft au venit cu cea mai retardata idee: daca cumva inchizii aplicatia ca esti intr-un apel telefonic si termini peste 5-10 minute apelul, cand te intorci in aplicatie iti face refresh la tot feed-ul. Inclusiv daca ramasesei citind un articol si erai pe la jumate. Pula sa ramana de unde ai lasat-i si sa-i dai tu refresh.

Nu boss, n-ai citit la timp, soarta. Ca uite, a mai scris gigel ce darnic a fost el azi cu un caine pe strada si ce fluffy l-a facut asta sa se simta pe interior. Si Ionela care si-a invins emotiile si a avut o discutie cinstita cu un subordonat si l-a indrumat cum sa evolueze in corporatie.

Srsly, ce pula calului? E asa greu sa faci o aplicatie care sa nu-si dea refresh la cinci minute ca vrei sau nu vrei? Ce sloboz de woke shit e asta?

[1] https://every.to/cybernaut/linkedins-alternate-universe-21780381-7883

[2] https://imirzadeh.me/post/linkedin/

[3] https://news.ycombinator.com/item?id=25320536

ing si parolele

Astia de la ING inca sunt convinsi ca schimbatul parolelor des ajuta la securitate. Da sa zicem ca poate lache a[l|i]a/ de la compliance n-a mai pus pana pe o carte de securitate in ultimii zece ani si a ramas fixat ca trebuie parola schimbata la 6 luni.

Anyway, imi apare promp sa schimb parola, zice browseru “Sefule nu vrei tu o parola d’aia smechera facuta pe comanda doar pentru site-ul asta?” – pai cum sa nu, dau acolo OK imi pune in campurile alea parola si ce ce zice site-ul de la ING?

Baa, pai cum sa zici ma ca nu e cea mai tare parola pana la capat? Ce se asteptau? Sa pun ca parola ]vlBJ~Se{7,ek;0) si sa-mi zica dupa ca nu e suficient de lunga? Sau se asteptau s-o tin minte?

Ba, mai puneti si voi mana pe o carte d’asta de cybersecurity cum se cheama acu domeniul asta si mai vorbiti si cu altii din domeniu, nu mai vorbiti doar voi astia de la banci intre voi, ca e mai rau ca intr-un echo chamber.

jocul d’a securitatea in IT

De cand mi-o ard prin IT-ul asta, mare parte din timp mi-am petrecut-o si mi-o petrec in ceea ce lumea numeste cybersecurity, sau cum au tradus prostii aia de la academia rromana sau ceva: securitatea cibernetica.

Distractia asta e cam asa: tu ca si firma pui pe internet niste jucarii si niste baieti si/sau fete incearca sa-ti strice jucariile. Si pentru asta iti pui firewall-uri, antivirusi (antimalware acu), WAF-uri, IPS-uri, anti-zloboz etc. Si dupa aia te lauzi peste tot ce ce sigur esti :))

Din cand in cand mai apare prin presa ca o mai suge pana la cotor cate o firma din asta de e tare in gura pe security. Gen Microsoft, Solarwinds, Okta etc. Si multe alte firme mai mici.

Pe langa astia, sunt tot felul de alti omuleti care ar vrea ca aia de le-au dat-o astora sa infunde puscaria, ca nu e frumos ce-au facut, ca nu este legal, ca e furt, ca morti si raniti.

Opinia mea e ca in toata distractia cu cybersecurity, aia de reusesc sa sparga una alta si sa obtina informatii ar trebui premiati din oficiu. Ca sunt mai destepti decat aia de au programat sau configurat prost sisteme. Necesita mai multa inteligenta sa dai in cap la un sistem fara nici un fel de cunosinte despre el decat e sa-l configurezi prost cu toate informatiile despre el.

Si niste carnati isi doresc ca astia sa intre la parnaie. Ca si cum daca pierzi un joc de StarCraft online sa vina militia sa-l aresteze pe ala de te-a facut din butoane.

Asta e primul of cu starea industriei, ca de fapt toata lumea cumpara si sper sa fie bine, da nimeni nu vrea sa depuna efortul ala sa faci lucrurile ca la carte. Cum era acum multi ani, cand au zis aia de la BNR ca poti avea internet banking, o cerinta era ca fie dai bani la o firma sa faca “code audit” pe aplicatie sau sa-ti pui un WAF, ca sa asiguri cumva securitatea datelor. Cre’ca toate bancile si-au pus WAF, au bifat cerinta si si-au vazut in continuare de aplicatiile lor de cacat de internet banking – pentru cine e suficient de batran sa-si aminteasca ce oribile erau site-urile alea. Si exemplele pot continua.

Al doilea of pe care-l am, e cu “initiativa” diverselor companii de software cu notiunea de “responsible disclosure”. Adica gasesti o vulnerabilitate, o raportezi doar lor, si astepti cuminte s-o fixeze cand au ei chef si dupa faceti un fel de “press release” comun in care tu cercetator iti asumi creditul ca ai gasit problema si aia ca uite, au rezolvat-o ca’s baieti buni.

Eu cred ca daca erau baieti buni nu scriau cod prost. Si ca imediat cum gasesti o vulnerabilitate s-o dai la liber sa foloseasca fiecare cum doreste informatia respectiva. Si atunci sa vedem daca firmele astea sunt bune si scot imediat un fix sau ii doare la banana si doar plang ca li s-a stricat planning-ul ca uite, acum trebuie sa fixeze ceva ce au facut prost de la inceput. Si ca din cauza cercetatorilor pot sa sufere clientii – alt text care-mi place maxim cand e folosit de lenesi.

google cloud support

Una din corporatiile pe unde ma mai duc la produs are chestii in GCP. Si pe acolo am facut si eu un proiect sa tin cateva VM-uri, nimic complicat. VM-urile alea trebuie sa vorbeasca cu niste componente care sunt intr-una din locatiile clientului. Pentru asta am facut un tunel IPSec intre GCP si locatie.

Asta se intampla la inceputul lui August. Acu vreo saptamana, intr-o luni, ma suna omenii din locatia respectiva ca “nu mai merge ping-ul din google la ei in locatie”. Ma uit si eu, si chiar nu mai exista conectivitate. Ma uit pe acolo prin dashboard-ul de la GCP, toate verzi. Ma uit la mine, toate verzi.

Au astia la GCP un “Connectivity tester” si alea zicea ca poa sa dea ping. Nu chiar pana la capat, da a dedus el ca ar trebui sa mearga. Nu vroia ping-ul ala sa mearga neam. Am sapat pe acolo prin loguri pana mi-au sarit mucii, nimic util. Zic bine, hai sa pun tcpdump sa vad ce si cum.

Dau ping din locatie intr-un VM din GCP, ajung pachetele la ala, raspunde la ele, la mine in locatia ajungea fix o pula. M-am scremut un pic sa fac o captura de pachete la mine, ca firewall-urile astea enterprise sunt la fel de utile ca igrasia cand ai de debugat, ca abia poti vedea una alta. Nimic util, nici un pachet.

Zic trec la planul B, imi fac un Linux cu Strongswan si vad pe ala ce se intampla, ca macar pot sa-l debughez calumea. Mai fac repede un tunel cu GCP, se ridica imediat, dau ping, la fel, ajungeau cum trebuie pana acolo, cand sa se intoarca… se intorceau prin gura.

Ma zic, nu e de la mine, hai sa vad daca e de la astia. Ca na, se mai strica si cloud-ul din cand in cand si zic poate pot sa-mi zica si mie daca din “Google Cloud VPN” ies pachetele cum trebuie, ca era pe traseu singura necunoscuta.

Dau acolo $100 sa pot sa deschid caz, fac cazul cu toate astea si in vreo doua-trei ore asa imi raspunde un baiat ca s-a uitat el prin loguri si problema e ca e de la mine, ca nu stie VPN-ul de la mine sa faca tunele ESP, ca zice clar in loguri ca “ESP_TFC_PADDING_NOT_SUPPORTED” si ca sa il configurez sa faca tunele cum trebuie. Si ii zic, bosulache, ia fii atent aici schema: pleaca pachetele de la mine, ajung la voi, VM-ul meu raspunde la ele, dar de la voi ciuciu, deci nu ca nu fac eu tunelul cum trebuie. Si i-am explicat si ce cacat e TFC, sa nu mai aibe idei pe langa daca mai vede asta vreodata. Asa mult imi displac oamenii astia de la suport pe care-i doare in pula de problema ta si cauta repede “error” in loguri ca poate, poate e de la tine ceva si nu trebuie ei sa faca nimic.

Aproape o zi liniste, gen vreo 21-22h de liniste de puteai sa auzi pachetele pe cablu. Mai bag o fisa si upgradez la $250 sa pot sa apas pe butonul de escalate, in ideea ca o sa ma bage cineva in seama. Intr-o ora-doua asa imi raspunde iar baiatul asta si zice ca da, interesant, dar poate e din cauza ca am firewall pus si de aia nu merge. Ii trimit screenshot cu “n-am nimic pus”, si dupa mai raspunde tot asa un pic cu intarziere ca este posibil sa necesite investigatii amanuntite treaba asta si sa completez un template de sloturi disponibile sa facem un call cu screen sharing sa se uite si aia sa vada ce si cum.

Ne intelegem la un slot orar pe la 10 noaptea la mine si ma paseaza la o alta echipa. Se face ora, intra doi in call si le arat exact ce si cum, fix cat puteam sa vad eu loguri in GCP acolo. O ora jumate si dupa ce am trecut cred ca de 4-5 ori prin fix aceleasi meniuri, loguri, pasi. M-au intrebat si astia daca n-am firewall, le-am aratat ca nici macar iptables nu aveam pe una din masini. Astia foarte “thorough” asa, au vrut sa vada de cel putin vreo 2-3 ori daca chiar n-am firewall pe masini. Si intr-un final mi-au zis ca ei n-au acces asa sa vada ce se intampla cu VPN gateway-ul lor si daca scoate pachete cum trebuie.

Dimineata imi dau mail ca “fii antena, tre sa dezactivezi VPC mode auto, ca de aia nu-ti merge ca ai facut VPN-ul gresit”. Zic babaieti, mergea de vreo luna jumate pana cand brusc n-a mai mers. Si a doua la mana, mai am un VPN facut tot asa, fix in proiectul asta care ala n-a sughitat deloc. Nu mai bine reparati voi ce-ati stricat si sa faceti sa mearga lucrurile asa cum erau inainte?

Si ce sa vezi, alt mesaj cu “Nu, la noi e ok, daca schimbi cum ti-am zis o sa mearga, ca asa cum e acum nu are cum sa mearga”. Le mai dau o data screenshot-ul ala cu alt VPN mergand, l-au ignorat cu succes si au tinut-o pe a lor.

Pentru ca statea productia, am facut ce vroiau ei si a luat-o. Doar, doar sa nu se uite la ei sa vada ce sloboz au stricat si sa repare.

Din tot ce am investigat si asa, parea destul de clar ca era o problema de rutare pe undeva prin burta lu’ GCP, ca pachetele ajungeau teoretic unde trebuie, doar ca nu erau criptate mai departe si trimise la mine.

Am trecut in 3 zile prin 4 oameni, unu’ cu cea mai mare durere posibila in pula, altii doi un fel de Lolek si Bolek, ei nu stiau, da erau convinsi ca nu poa’ sa fie de la ei, si un al treilea la care am tipat ca si asta era “noi nu gresim”. Doar, doar sa nu dea un tcpdump la ei sa vada daca ies pachetele cum trebuie sau daca nu ies, sa vada de ce nu ies.

M-au umplut de spume, ca in primul rand i-a durut fix in cur de problema, probabil daca nu dadeam mai multi bani sa pot apasa butonul de escalate raspundea baiatul ala cand ii mai venea lui cheful, probabil peste cateva zile dupa ce-si facea siesta. In al doilea rand au facut tot posibilul sa nu investigheze ceva pe partea lor. In al treilea rand ca mi-au dat un workaround pe post de solutie, desi nu cred ca a fost vreun mesaj in care sa nu le amintesc ca “a mers si brusc n-a mai mers”. Si in al patrulea rand pentru “stonewalling” si faptul ca desi le aratam ca merge ce ziceau ei ca nu merge, insistatau ca nu are cum – ba cu poza in fata gen, ei erau cu “nu merge, ti se pare”.

Ca si cu multe altele, e bine sa n-ai probleme cu cloud-ul, ca daca ai, o sugi cu gratie ca nu-i pasa nimanui de la suport sa-ti rezolve problema.

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…

netu’

De vreo aproape doua saptamani asa, tot mergea conexiunea la internet de acasa din ce in ce mai prost. Si aseara mi s-a luat si am sunat la suport la RDS sa investigheze problema.

Dadusem restart la router si AP si nimic. Am pus cablu direct in laptop si aceeasi viteza: 5.5Mbps maxim. Un fel de dial-up modern ca acu sa moara ma-sa orice site are 1MB…

Ma suna de dimineata unu’ de la suport, mai bagam un test de viteza, la fel. 5.5Mbps. Zice ca bine, trimite pe cineva.

Vine un baiat cu “laptop”-ul (ca asa s-au exprimat aia de la suport, ca daca nu merge cu restart de router o sa trimita pe cineva cu “laptop”-ul :))

Vine, baga cablu in laptop, user/pass de la mine si ce sa vezi, 87Mbps. Mi se aprinde si mie un beculet si incerc testul ala de viteza de pe telefon: 70Mbps. Daca ma ducea capul aseara si in zilele de dinainte nu mai trebuia sa fac azi pe prostul.

Ajunge baiatul cu laptopul la concluzia ca poate am virusi pe calculator si de aia merge asa greu, imi zice c-o sa ma coste 10RON interventia si aia e.

Ma mai gandii eu un pic si dadui un restart la laptopul meu, ca na… poate o fi ceva. Si ce sa vezi, 90Mbps.

Ii tot injuram pe aia de la suport cu “ati dat restart”… da uite ca aveau dreptate. Bagami-as.

Ocazie cu care sa le urez si astora de la Apple multa muie, ca ultimele drivere sunt de cacat si daca tii laptopul in sleep, dupa cateva saptamani se duce per penis treaba cu reteaua. Si cred ca problema e undeva la stack-ul lor de networking, ca la fel facea si pe WiFi si pe un adaptor pe USB.

O vreme o sa tac si-o sa merg pe burta cu chestiile de retea :))

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.