Tag Archives: computers

force multiplication

Ma screm la postul asta de vreo luna si ceva. Nu ca ar fi greu, da’ nu pleacau cuvintele din degete spre taste sa ajunga pe ecran.

La fizica e un capitol in care te invata de scripeti si parghii, gen cum sa depui mai putin efort ca sa obtii ceva. Un sistem destept de scripeti sau parghii iti dau posibilitatea sa obtii foarte mult depunand cat mai putin efort.

Cateodata e filosofica asa fizica asta. Si nu, nu baui nimic de scriu asta. M-am mai desteptat un pic pe masura ce am mai imbatranit.

Din comunism am ramas cu punga cu pungi si sertarul in care pui chestii pe principiul ca niciodata nu stii cand iti trebuie o tubulara e 13 sudata intr-o cheie de 16.

Eu am dat sertarul de tubulare pe sertarul cu cunostinte. Punga cu pungi inca e acolo, si la modul ala de “cum recunosti un roman in strainatate”, am punga cu pungi in hotelul unde stau de ceva vreme. Pe principiul ca poti sa scoti romanul din romania, da’ nu poti sa scoti romania din roman.

Dar sa revenim la sertar. Scriam pe la inceputul lui 2019 despre lucrurile de baza. Si nu s-a schimbat nimic de atunci, doar ca am realizat ca nu toate problemele le poti rezolva cu cheia de 13, cateodata trebuie s-o prinzi de aia de 22 sa poti aplica mai multa forta sa insurubezi cum trebuie ceva sau sa desurubezi ceva strans bine. La fel cum cum 2-3 scripeti si un pic de sfoara face anumite lucruri sa fie mai usoare de cat sunt.

Anyways, cu cat ai mai multe cunostinte din cat mai multe domenii sau subdomenii, cu atat poti sa faci mai repede inferinte si sa iti dai seama cum poti rezolva o problema complexa. Asa cum o forta poti s-o desparti in vectorii componenti, asa si o problema complexa o desparti in problemele mai mici si le rezolvi pe toate alea si cand o rezolvi pe ultima mica ai rezolvat si problema mare :) Gen ca atunci cand rezolvi un sistem de necunoscute multiple la algebra.

Cumva ce incerc sa zic e ca cu cat stii mai mult, cu atat poti sa-ti faci treaba mai bine si fara sa ai nevoie de prea mult ajutor din exterior. Problema e ca toata distractia asta nu scaleaza nici vertical si nici orizontal, adica nici nu pot tasta mai repde si nici nu ma pot clona.

Mi-a venit sa scriu asta cumva legat de un proiect in care m-a mancat in cur anul trecut sa ma bag unde toata lumea si-o arde foarte enterprise si corporatist, unde sunt echipe si echipe care stiu doar anumite lucruri si nu e treaba lor sa stie si altceva si gen sunt singurul care nu are nevoie de nimic – independent si autonom ca ungurii, si mai am timp sa le explic si la altii una alta, ca specializarile astea nasc monstri si monstrii cand se imperecheaza nasc nu neparat fotomodele… ca sa termin asa asa pe un ton filosofic subtil.

Pe scurt, cu cat stii mai multe, cu atat lucrurile devin mai usoare si mai simple si au mai multa logica ;)

sunburst

Niste unii, pe nume SolarWinds si-au furat-o intr-un mare fel: niste oameni si-au adaugat niste cod nu tocmai prietenos in directoarele cu surse si cand astia au dat build, au dat la clienti si niste malware sa aiba. Ca doar la cati bani costa produsele astora, merita lumea si un pic de bonus. Din toata distractia asta pot sa trag cateva concluzii super rapide:

  • pula proces de code review la aia, probbil scriu cod in notepad pe share-uri de windows sau ceva
  • pula merge request-uri si alte procese din astea minime de bun simt. oare or folosi vreun soft de version control sau e un share undeva si au directoare cu “final_final_version_1_really_final_2_final”?
  • daca se termina “build”-ul il impacheteaza si-l dau la clienti. Cam cum fac toti astia ultimii ani cu codul: if it builds, it ships.

Printre aia de si-au furat-o sunt si FireEye, cu ale caror produse m-am dat si eu si fac o treaba buna sa analizeze malware si sa zica ce si cum. Mi se pare ironica treaba asta, ca astia de la FireEye erau pe cai mari cum cautau ei chinezi cu binoclul pe google maps si scriau zeci si sute de pagini despre APT-uri si alte minuni si acu si-au luat-o intr-un mare fel. Din punctul meu de vedere meritau sa si-o ia si mai grav pentru simplu motiv ca au uitat regula numarul unu din interne: “oricat de jmecher te crezi, tot timpul o sa fie unul mai jmecher ca tine”. Asa e cand te apropii prea tare de soare, o sugi.

Microsoft a sarit de cur in sus ca vai, dar nu se face asa ceva, spionam, spionam, dar ceste este cu atat de mult “collateral damage” si alte abureli din astea. Microsoft care sunt aia cei mai vocali cand vine vorba de publicarea de vulnerabilitati, ca ei vor ca inainte sa le zici direct lor ca scriu cod prost si sa aiba timp sa puna niste scotch pe ici pe colo si abia dupa nustiucat luni in functie de cum au ei chef ca sa nu se faca de cacat, sa scoate un update de Windows sau de ce produse mai au ei, si abia dupa aia sa faci publica vulnerabilitatea, ca asa este “responsabil”. La fel si astia, si-o ard prost ca sa ascunda faptul ca scriu cod cu picioarele.

Mno, s-o suga toti astia de zic ca sunt cu security da’ ii pisa altii in freza de nu se vad.

uptime

Asta e ultima masina intr-un mediu care incet incet se muta in cloud si zisei sa-i fac o poza, ca sigur o sa uit sa-i mai fac una cand o sa-i dau “Shut down” pentru ultima oara.

Windows 7 uptime

Sa mai zica lumea ca nu a reusit MS sa faca un Windows care sa nu crape :))

Install & boot time

Folosit numai prin RDP pentru lucruri care n-au echivalent pe MacOS.

Ma uitam acu’ la System Boot Time si ma gandeam oare cu ce ocazie i-am dat atunci in Decembrie un reboot.

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…

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…

taxonomia programatorilor

Cand am scris postul cu enigmatique, mi s-a zis ca nu prea mi-am facut prieteni cu el ca se pare ca programtorii se obfuscheaza un pic cand le zici ca’s php-isti si am fost intrebat daca am un model complex de a pune lumea pe categorii ca se pare ca sunt foarte specific cu hatereleala.

Well…

Am un sistem sa zicem bazat pe puncte, ceva gen Fane Trotil dar la modul pozitiv:

  • Stie bine limbaje care te nu te iarta daca gresesti, gen C. +20 puncte
  • Stie sa depaneze cod scris in asemenea limbaje (yes, srsly): +15 puncte
  • Stie mai mult de un limbaj de programare la nivel mediu: +5 puncte
  • Stie mai mult de un limbaj de programare la un nivel avansat: +10 puncte
  • Stie sa scrie cod curat fara ajutorul unui framework: +10 puncte
  • Intelege cum functioneaza serverele pe care pe care le foloseste, si cum sa le foloseasca intr-un mod optim: +20 puncte
    • prin server inteleg: Redis, MySQL, PostgreSQL etc.
  • Intelege ce sunt alea cicluri de procesor si cum codul scris inseamna mai multe sau mai putine cicluri: +30 puncte
  • Nu are gandire fixa: +15 puncte
  • Reuseste sa nu ma enerveze: +20 puncte
  • “Thinking outside the box”: +10 puncte
  • Stie sa debugheze cod (yes, srsly): +10 puncte
  • Nu da vina pe biblioteci sau pe componente 3rd party cand nu merge ceva: +9 puncte
  • Nu se limiteaza la “merge si asa”: +10 puncte
  • Intelege protocoalele folosite de aplicatiile pe care le scrie: +15 puncte
  • Alti oameni in care am eu incredere au o parere buna despre ea/el: +15 puncte
  • Au empatie fata de utilizatorii aplicatiilor scrise de ei: +50 puncte
  • Stiu sa foloseasca si sa inteleaga un profiler: +30 puncte

Probabil mai sunt criterii care imi scapa acum, dar cam asa pun eu problema cu programatorii. Si pot sa am niveluri diferite de respect la un nivel foarte granular si ca si bonus pot sa fiu hater pe bucati :)) Gen e OK ca stie X, dar naspa ca nu stie Y si therefore: hate level 4 :)) Asa ca pot sa stau de vorba cu doi programatori in acelasi timp si sa-i urasc cu intensitati diferite :))

Cateva precizari la cele de mai sus:

  • Sunt de parere ca daca stii sa scrii cod in limbaje mai low level (gen C) intelegi mult mai bine cum functioneaza lucrurile. Daca mai stii sa si debughezi crapuri d’astea cu gdb sau sa le profilezi cu ebpf, deja sunt fanul tau (40% daca stii gdb si inca 60% daca stii si ebpf)
  • De foarte multe ori m-am intalnit cu programatori care nu intelegeau contextul in care faceau aplicatiile, un fel de “noi programam, nu gandim”. Nu prea pot sa inteleg pe aia de programeaza chestii si nu le folosesc sau macar sa le inteleaga.
  • Ii urasc cu pasiune pe aia de au idei fixe (am si eu idei fixe, da ale mele sunt cele mai bune) in materie de tehnologii si modalitati de implementare.
  • Imi displac aia care nu investigheaza de ce orice au scris nu merge si sa gaseasca solutii/workaround-uri la probleme. Adica mereu o sa apreciez pe cineva care face ca astia versus “nu stiu boss, eu am scris bine, problema e in alta parte, sa fixeze ailalti”.
  • Sunt un pic elitist ca mi se pare ca trebuie incurajate practicile bune si “killed with fire” alea proaste.

Cam asta e cu mine si programatorii :)) Ma aberai destul pentru ziua de azi.

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

enigmatique

Vineri ma plictisisem de prostituat pe la birou si m-am bagat si eu in seama intr-o discutie dintre niste programatori PHP-isti si Ops. In seama in sensul ca ascultam ca poate mai aflu chestii depsre una-alta.

La un moment dat s-au apucat sa vorbreasca despre scos metrice din aplicatii PHP si despre cum ar fi complicat ca alea ruleaza pe multe pod-uri in Kubernetes si ca php-fpm iti omoara procese si ai multe procese si alte cele.

In momentul ala mi-a scaparat o idee ca se pot scoate metrici super usor, trebuie doar sa le tii undeva :))

Eu sunt asa super fan Redis ca mi se pare ca e genul ala de software scris cum trebuie (adica in C) si cu grija (adica merge repede).

M-am gandit eu vineri ca pot scrie din PHP in Redis si dupa aia sa le iau de acolo si sa le pune undeva de unde le poata lua Prometheus.

Problema asta fiind rezolvata, am ajuns la cum fac sa nu trebuiasca sa populez inainte Redis-ul cu informatii si dupa aia sa scrie aplicatia chestii pe acolo. Am zis ca’s fan Redis? E, Redix are SETNX, prin care setezi o cheie la o anumita valoare doar daca cheia aia nu exista. Si asta inseamna ca poti sa spawnezi ‘jde aplicatii care prima oara fac SETNX si dupa aia incrementeaza pe acolo contoare. Mi-am dat un self-highfive si m-am apucat de scris.

M-am apucat de scris azi, ca peste weekend am avut altele de facut, da mi-a mers acolo ganditul in background si azi stiui ce sa scriu.

Cam asta e povestea lui Enigmatique. Ca e enigmatic asa sa nu stii cate metrici o sa ai si nici Prometheus cand face scrape n-o sa stie :))

Am scris asta din doua motive mari asa:

  • Stiu ca vocile nu’s reale, dar cateodata au idei bune. Asta fu’ unu’ din cazuri.
  • Sa mai fac ceva practica cu programatul, ca nu se stie cand mai au vocile idei.

Si ii facui si logo, ca nu se stie cand e nevoie de-un logo. Sa traiasca Shopify ca are aplicatie de facut logo-uri :))

python challenges

Mai acu vreo luna asa, cautam eu niste chestii de Python si dintr-una in alta am dat de un site care se cheama CodingBat si are niste probleme de Python acolo. Cum nu mai facusem de ceva vreme chestii in Python (si in programare in general) m-am apucat sa rezolv probleme de acolo. Primele au fost ok, dupa care au inceput din alea mai dubioase.

Initial am zis sa salvez solutiile la alea dubioase, dar pe ultimele le-am salvat pe toate ca erau toate dubioase la final.

A fost interesant asa ca mi-am mai descretit creierul si am mai invatat una alta.

Cu ocazia asta am mai comis si ceva in GitHub ca tot am acolo un mic repository pentru blog si am facut un mic director si pentru challenge-urile astea.

Postul asta e din capitolul: doar ma laud, nu vreau sa zic nimic :))

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…