Si otomaatig ah loogu beddelo saxanka oo leh macquul

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Salaamu calaykum Waxaan u shaqeeyaa sidii maamule nidaamka hogaamineed ee OK oo waxaan mas'uul ka ahay shaqada xasilloon ee marinka Waxaan rabaa inaan ka hadlo sida aan u dhisnay hab si toos ah loogu beddelo saxanadaha, ka dibna sidaan uga saarnay maamulaha habkan oo aan ugu beddelnay bot.

Maqaalkani waa nooc tarjumaad ah bandhigyada ee HighLoad+ 2018

Dhisida habka beddelka diskka

Marka hore tirooyinka qaar

OK waa adeeg weyn oo ay isticmaalaan malaayiin qof. Waxa u adeega ilaa 7 kun oo adeegayaal, kuwaas oo ku yaala 4 xarumood oo xogeed oo kala duwan. Adeegayaashu waxay ka kooban yihiin in ka badan 70 kun oo disk. Haddii aad isku dhejiso midba midka kale, waxaad helaysaa munaarad ka badan 1 km.

Hard Drive-yadu waa qaybta server-ka ee inta badan fashilma. Qiyaasahaas oo kale, waa inaan bedelnaa qiyaastii 30 saxan todobaadkii, nidaamkani wuxuu noqday mid aan caadi ahayn.

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Dhacdooyinka

Shirkadeena waxay soo bandhigtay maaraynta shilka oo dhamaystiran. Waxaan duubnaa dhacdo kasta oo ka dhacday Jira, ka dibna xalinno oo xalinno. Haddii shilku saameyn ku yeesho dadka isticmaala, markaa hubaal waannu isu nimid oo ka fikirnaa sida degdegga ah looga jawaabo xaaladahan oo kale, sida loo yareeyo saameynta iyo, dabcan, sida looga hortago soo noqoshada.

Qalabka kaydinta maaha mid ka reeban. Xaaladooda waxaa isha ku haya Zabbix. Waxaan la soconaa fariimaha ku jira Syslog si aan u qorno/akhrino khaladaadka, u falanqeeyo heerka weerarrada HW/SW, la soconno SMART, oo aan xisaabino xirashada SSDs.

Sida saxanadaha hore loo bedelay

Marka kiciye ka dhaco Zabbix, dhacdo ayaa lagu abuuraa Jira waxaana si toos ah loogu meeleeyaa injineerada ku habboon xarumaha xogta. Waxaan tan ku samaynaa dhammaan shilalka HW, taas oo ah, kuwa u baahan shaqo kasta oo jireed oo leh qalabka xarunta xogta.
Injineer xarun xogeed waa qof xaliya arrimaha la xiriira qalabka wuxuuna mas'uul ka yahay rakibidda, dayactirka, iyo kala furfurida server-yada. Markuu helay tigidhkii, injineerku wuu shaqo galay. Shelefyada diskooga wuxuu si madaxbanaan u beddelaa saxanadaha. Laakiin haddii uusan heli karin aaladda loo baahan yahay, injineerku wuxuu u jeestaa maamulayaasha nidaamka shaqada si ay u caawiyaan. Ugu horreyntii, waxaad u baahan tahay inaad ka saartid diskka wareegga. Si tan loo sameeyo, waxaad u baahan tahay inaad isbeddellada lagama maarmaanka ah ku sameyso server-ka, joojiso codsiyada, oo aad furto diskka.

Maamulaha nidaamka ee shaqada ayaa mas'uul ka ah hawlgalka dhammaan portal-ka inta lagu jiro xilliga shaqada. Wuxuu baaraa shilalka, dayactiro, wuxuuna ka caawiyaa horumariyeyaasha inay dhamaystiraan hawlaha yaryar. Isagu kama qaban karo oo keliya darawallada adag.

Markii hore, injineerada xarunta xogta ayaa kula xidhiidhay maamulaha nidaamka iyaga oo wada sheekaysanaya. Injineeradu waxay soo direen xiriiriyeyaal tigidhada Jira, maamuluhu wuu raacay, oo kayd shaqo ku hayaa qoraallada qaarkood. Laakiin sheekadu kuma habboona hawlahan oo kale: macluumaadka halkaas ka jira ma aha mid habaysan oo si dhakhso ah u lumaya. Maamuluhuna waxa uu si fudud uga fogaan karayey kombiyuutarka oo aanu in muddo ah ka jawaabin codsiyo, halka injineerku uu soo dul istaagay server-ka isaga oo saxanno badan wata oo uu sugay.

Laakiin waxa ugu xumaa waxay ahayd in maamulayaashu aysan arkin sawirka oo dhan: waa maxay dhacdooyinka diskooga jira, halkaas oo dhibaato ay suurtagal tahay inay soo baxdo. Tani waxay sabab u tahay xaqiiqda ah inaan dhammaan shilalka HW u wakiino injineerada. Haa, waxaa suurtogal ahayd in lagu soo bandhigo dhammaan shilalka dashboardka maamulka. Laakiin way badan yihiin, maamuluhuna wuxuu ku lug lahaa oo kaliya qaar iyaga ka mid ah.

Intaa waxaa dheer, injineerku si sax ah uma dejin karo mudnaanta, sababtoo ah waxba kama oga ujeedada server-yada gaarka ah ama qaybinta macluumaadka ee darawallada.

Habka beddelka cusub

Waxa ugu horreeya ee aan sameynay waxay ahayd in dhammaan shilalka diskooga loo raro nooc gaar ah "HW disk" waxaana ku darnay meelaha "block device name", "size" iyo "nooca diskka" si macluumaadkan loogu kaydiyo tigidhada oo aan uma baahnid in si joogto ah loo wada sheekeysto.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Waxa kale oo aanu ku heshiinay in hal dhacdo in aanu bedelno hal saxan oo kaliya. Tani waxay si weyn u fududaysay habka iswada, ururinta tirakoobka iyo shaqada mustaqbalka.

Intaa waxaa dheer, waxaan ku darnay goobta "maamulaha mas'uulka ah". Maamulaha nidaamka ee shaqada si toos ah ayaa halkaas loo geliyaa. Tani aad ayey ugu habboon tahay, sababtoo ah hadda injineerku mar walba wuu arkaa cidda mas'uulka ka ah. Looma baahna in la tago jadwalka oo raadiyo. Waxay ahayd goobtan tan suurtagelisay in tigidhada lagu soo bandhigo dashboardka maamulaha ee u baahan kara caawimadiisa.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Si loo hubiyo in dhammaan kaqeybgalayaashu ay heleen faa'iidooyinka ugu badan ee hal-abuurka, waxaan abuurnay filtarrada iyo dashboards waxaana u sheegnay ragga wax ku saabsan. Marka ay dadku fahmaan isbeddellada, kama fogeeyaan iyaga oo ah wax aan loo baahnayn. Waxaa muhiim ah in injineerku ogaado lambarka rackka ee uu ku yaal server-ka, xajmiga iyo nooca diskka. Maamuluhu wuxuu u baahan yahay, ugu horreyntii, inuu fahmo nooca kooxda server-yada tani waa iyo waxa saameyntu noqon karto marka la beddelayo diskka.

Joogitaanka beeraha iyo bandhiggoodu waa ku habboon yihiin, laakiin nagama badbaadin baahida loo qabo isticmaalka sheekaysiga. Si tan loo sameeyo, waxay ahayd inaan bedelno socodka shaqada.

Markii hore waxay ahayd sidan:

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Tani waa sida ay injineeradu u sii wataan shaqada maanta marka aysan u baahnayn caawimaad maamuleed.

Waxa ugu horreeya ee aan sameynay waxay ahayd inaan soo bandhigno xaalad cusub Baadhitaan. Tigidhku wuxuu ku jiraa heerkan marka injineerku uusan wali go'aansan inuu u baahan doono maamule iyo in kale. Iyadoo heerkan la marayo, injineerku wuxuu u wareejin karaa tigidhka maamulaha. Intaa waxaa dheer, waxaan u isticmaalnaa heerkan si aan u calaamadeyno tigidhada marka saxanka loo baahan yahay in la beddelo, laakiin saxanka laftiisa maaha goobta. Tani waxay ku dhacdaa kiisaska CDN-yada iyo goobaha fogfog.

Waxaan sidoo kale ku darnay xaalad Ready. Tigidhka waxaa lagu wareejiyaa ka dib marka la beddelo diskka. Taasi waa, wax walba waa la sameeyay, laakiin HW/SW RAID waa la isku dhejiyay server-ka. Tani waxay qaadan kartaa waqti dheer.

Haddii maamule uu ku lug yeesho shaqada, nidaamku wuxuu noqonayaa mid ka sii adag.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Laga soo bilaabo heerka Open Tigidhka waxaa tarjumi kara maamulaha nidaamka iyo injineerka labadaba. In status Socda maamuluhu wuxuu ka saarayaa saxanka wareegtada si uu injineerku si fudud uga soo bixin karo: shid nalka dambe, wuxuu ka saaraa diskka, joojiyo codsiyada, iyadoo ku xiran kooxda gaarka ah ee server-yada.

Ka dib tigidhka ayaa lagu wareejinayaa Diyaar u ah in la beddelo: Tani waxay calaamad u tahay injineerka in saxanka la soo saari karo. Dhammaan goobaha ku yaal Jira waa la buuxiyey, injineerku wuu yaqaanaa nooca iyo cabbirka saxanka. Xogtan waxaa si toos ah loo geliyaa xaaladdii hore ama maamulaha.

Ka dib markii la beddelo saxanka, heerka tigidhku waa la bedelayaa Bedelay. Waxay hubisaa in saxanka saxda ah la geliyey, qaybinta ayaa la sameeyay, codsiga waa la bilaabay iyo qaar ka mid ah hawlaha soo kabashada xogta la bilaabay. Tigidhka sidoo kale waxaa loo wareejin karaa heerka Ready, Xaaladdan oo kale maamuluhu wuxuu ahaan doonaa mas'uuliyadda, sababtoo ah wuxuu saaray diskka wareegtada. Jaantuska oo dhamaystiran wuxuu u eeg yahay sidan.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Ku darista goobo cusub ayaa nolosheenna aad u fududaysay. Raggu waxay bilaabeen inay ku shaqeeyaan macluumaad habaysan, waxay caddaatay waxa loo baahan yahay in la qabto iyo marxaladdee. Mudnaanta waxay noqdeen kuwo aad u khuseeya, maadaama ay hadda dejiyeen maamulaha.

Looma baahna sheeko. Dabcan, maamuluhu wuxuu u qori karaa injineerka "tani waxay u baahan tahay in si degdeg ah loo beddelo," ama "horay fiidkii, ma heli doontaa wakhti aad ku beddesho?" Laakiin hadda ka dib ma wada xidhiidhno maalin kasta marka la sheekaysto arrimahan.

Diskiyada ayaa bilaabay in loo beddelo dufcad. Haddii maamuluhu u yimid inuu shaqeeyo wakhti hore, wuxuu haystaa wakhti firaaqo ah, welina waxba ma dhicin, wuxuu diyaarin karaa tiro ka mid ah server-yada beddelka: buuxi beeraha, ka saar saxanka wareegga oo u wareeji hawsha injineer. Ingineerku waxa uu imanayaa xarunta xogta wax yar ka dib, waxa uu arkay hawsha, waxa uu ka qaadaa bakhaarka lagama maarmaanka u ah oo isla markiiba beddelo. Natiijo ahaan, heerka beddelka ayaa kordhay.

Casharradii la bartay markii la dhisayo Socodka Shaqada

  • Markaad dhiseyso habraaca, waxaad u baahan tahay inaad macluumaad ka ururiso ilo kala duwan.
    Qaar ka mid ah maamulayaasheena ma aysan ogeyn in injineerku uu bedelo saxanka laftiisa. Dadka qaar waxay u maleeyeen in isku-xidhka MD RAID ay maamuleen injineero, in kasta oo qaarkood xitaa aysan fursad u helin inay sidaas sameeyaan. Qaar ka mid ah injineerada hormuudka ah ayaa tan sameeyay, laakiin had iyo jeer maahan sababta oo ah habka looma qeexin meel kasta.
  • Nidaamku waa inuu noqdaa mid fudud oo la fahmi karo.
    Way ku adag tahay qofku inuu tallaabooyin badan maskaxda ku hayo. Heerarka deriska ugu muhiimsan ee Jira waa in lagu dhejiyaa shaashadda weyn. Waad beddeli kartaa magacooda, tusaale ahaan, waxaan ugu yeernaa Horumarka Diyaar u ah in la beddelo. Xaalado kale ayaa lagu qarin karaa liiska hoos-u-dhaca si aysan u noqon indho-dareen. Laakiin way fiicantahay in aan la xaddidin dadka, si loo siiyo fursad ay ku sameeyaan isbeddelka.
    Sharax qiimaha hal-abuurku leeyahay. Marka dadku fahmaan, waxay aad u aqbalaan nidaamka cusub. Aad bay muhiim noogu ahayd in dadku aysan ku dhufan habka oo dhan, laakiin raacaan. Kadibna waxan ku dhisnay automation.
  • Sug, taxliil, garwaaqso.
    Muddo bil ku dhow ayay nagu qaadatay inaan dhisno habraaca, hirgelinta farsamada, shirarka iyo doodaha. Waxayna fulintu qaadataa in ka badan saddex bilood. Waxaan arkay sida dadku si tartiib tartiib ah u bilaabayaan isticmaalka hal-abuurka. Waxaa jiray xumaan badan marxaladihii hore. Laakiin gabi ahaanba way ka madax bannaanayd nidaamka laftiisa iyo dhaqangelintiisa farsamo. Tusaale ahaan, hal maamule ma uusan isticmaalin Jira, laakiin Jira plugin in Confluence, iyo waxyaabaha qaar ma uusan isticmaalin isaga. Waxaanu tusnay Jira, wax-soo-saarka maamuluhuna wuu kordhay labadaba hawlaha guud iyo beddelka saxanadaha.

Automation ee beddelka diskka

Waxaan u dhawaanay iswada beddelka saxanka dhowr jeer. Waxaan horey u haysanay horumarin iyo qoraalo, laakiin dhamaantood waxay u shaqeeyeen si isdhexgal ah ama gacanta waxayna u baahdeen bilaabista. Kaliya ka dib markii aan soo bandhigno nidaamka cusub waxaan ogaanay in tani ay tahay waxa aan maqnayn.

Maaddaama hadda habka beddelkayagu uu u qaybsan yahay heerar, mid kasta oo ka mid ah wuxuu leeyahay waxqabad gaar ah iyo liiska ficillada, waxaan awood u siin karnaa automation marxaladaha, oo aan dhammaan hal mar. Tusaale ahaan, heerka ugu fudud - Diyaarsan (hubinta RAID / xogta isku xidhka) si fudud ayaa loogu wareejin karaa bot. Marka bot-ku uu wax yar bartay, waxaad siin kartaa hawl aad u muhiim ah - gelinta diskka wareegga, iwm.

Habaynta xayawaanka

Kahor inta aynaan ka hadlin bot-ka, aynu safar gaaban ku galno beertayada rakibaadda. Marka hore, waxaa sabab u ah baaxadda weyn ee kaabayaashayaga. Marka labaad, waxaan isku dayeynaa inaan doorano qaabeynta qalabka ugu fiican ee adeeg kasta. Waxaan haynaa ilaa 20 nooc oo RAID hardware ah, oo u badan LSI iyo Adaptec, laakiin waxa kale oo jira HP iyo DELL oo noocyo kala duwan ah. Xakameeyaha RAID kastaa wuxuu leeyahay adeeg maamul oo u gaar ah. Qaabka amarrada iyo soo saaristooduba way ku kala duwanaan karaan nooc ilaa nooc ee kantaroole kasta oo RAID ah. Meesha aan HW-RAID la isticmaalin, mdraid waa la isticmaali karaa.

Waxaan samaynaa ku dhawaad ​​dhammaan rakibaadda cusub iyada oo aan la hayn kaydinta diskka. Waxaan isku dayeynaa inaanan mar dambe isticmaalin qalabka iyo software RAID, maadaama aan ku taageerayno nidaamkeena heerka xarunta xogta, ee ma aha server-yada. Laakiin dabcan waxaa jira servero badan oo dhaxalgal ah oo u baahan in la taageero.

Meel saxannada ku jira kontaroolayaasha RAID waxaa lagu wareejiyaa aaladaha cayriin, meel JBOD-yada ayaa la isticmaalaa. Waxaa jira habab leh hal nidaam disk oo ku jira server-ka, iyo haddii loo baahan yahay in la beddelo, markaa waa inaad dib u soo celisaa server-ka oo leh rakibidda OS iyo codsiyada, oo isku mid ah, ka dibna ku dar faylasha qaabeynta, bilaw codsiyada. Waxa kale oo jira kooxo badan oo server ah halkaas oo kaydinta aan lagu fulin heerka nidaamka hoose ee diskka, laakiin si toos ah codsiyada laftooda.

Wadar ahaan, waxaanu haynaa in ka badan 400 oo kooxood oo adeegayaal ah oo wata ku dhawaad ​​100 codsi oo kala duwan. Si aan u daboosho tiro badan oo ikhtiyaari ah, waxaan u baahneyn qalab otomaatig ah oo badan. Way fiicantahay in la isticmaalo DSL fudud, si aysan u taageerin qofka qoray oo keliya.

Waxaan dooranay macquul sababtoo ah waa mid aan wakiil lahayn: looma baahna in la diyaariyo kaabayaasha, bilow degdeg ah. Intaa waxaa dheer, waxay ku qoran tahay Python, taas oo loo aqbalay heerka caadiga ah ee kooxda dhexdeeda.

Nidaamka guud

Aynu eegno nidaamka otomatiga guud anagoo hal dhacdo tusaale ahaan u isticmaalno. Zabbix waxay ogaataa in saxanka sdb uu fashilmay, kiciyahu shidan, iyo tigidh lagu sameeyay Jira. Maamulaha ayaa eegay, wuxuu ogaaday inaysan ahayn nuqul iyo been been ah, taas oo ah, disk-ga wuxuu u baahan yahay in la beddelo, oo loo wareejiyo tigidhka Horumarka.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Codsiga DiskoBot, oo ku qoran Python, wuxuu si xilliyo ah u codeeyaa Jira tigidhada cusub. Waxay ogaanaysaa in tigidh horusocod ah oo cusub uu soo baxay, dunta u dhiganta ayaa kicinaysa, kaas oo soo saaray buug-ciyaaraha oo ku qoran Ansible (tani waxa loo sameeyaa xaalad kasta oo Jira). Xaaladdan oo kale, Prepare2change ayaa la bilaabay.

Macquul ah ayaa loo diraa martigeliyaha, ka saara saxanka wareegga oo wuxuu ku wargeliyaa xaaladda codsiga iyada oo loo marayo Callbacks.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Iyada oo ku saleysan natiijooyinka, botku wuxuu si toos ah ugu wareejinayaa tigidhka Diyaar u ah inuu beddelo. Injineerku wuxuu helay ogeysiis wuxuuna tagaa inuu beddelo saxanka, ka dib wuxuu u wareejinayaa tigidhka Bedelay.

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Marka loo eego nidaamka kor lagu sharaxay, tigidhku wuxuu dib ugu noqdaa bot-ka, kaas oo soo saaray buug-ciyaareed kale, wuxuu tagayaa martigeliyaha wuxuuna dhigayaa diskka wareegtada. Botku wuxuu xiraa tigidhka. Hooray!

Si otomaatig ah loogu beddelo saxanka oo leh macquul
Hadda aan ka hadalno qaybo ka mid ah nidaamka.

Diskobot

Codsigan wuxuu ku qoran yahay Python. Waxay ka doorataa tigidhada Jira sida uu qabo JQL. Iyada oo ku xidhan heerka uu tigidhku joogo, kan dambe waxa uu aadayaa maamulaha u dhigma, kaas oo isna daah-furay buugga-ciyaaraha macquulka ah ee u dhigma heerka.

JQL iyo inta u dhaxaysa codbixinta ayaa lagu qeexay faylka qaabeynta codsiga.

jira_states:
  investigate:
    jql: '… status = Open and "Disk Size" is EMPTY'
    interval: 180

  inprogress:
    jql: '…  and "Disk Size" is not EMPTY and "Device Name" is not EMPTY'
 
  ready:
    jql: '… and (labels not in ("dbot_ignore") or labels is EMPTY)'
    interval: 7200

Tusaale ahaan, tigidhada ku jira heerka horumarka, kaliya kuwa leh cabbirka Disk-ga iyo meelaha magaca aaladda ee la buuxiyay ayaa la doortaa. Magaca aaladda waa magaca aaladda xannibaadda loo baahan yahay si loo fuliyo buugga-ciyaaraha. Cabbirka diskka ayaa loo baahan yahay si injineerku u ogaado cabbirka saxanka loo baahan yahay.

Iyo tigidhada leh heerka diyaarka ah, tigidhada leh summada dbot_ignore waa la sifeeyay. Jid ahaan, waxaan u isticmaalnaa summada Jira shaandhayntan iyo calaamadaynta tigidhada nuqulka ah iyo ururinta tirakoobka.

Haddii buug-ciyaareedku guul-darraysto, Jira waxay u xilsaartaa summada dbot_failed si hadhow loo xalliyo.

La shaqaynta macquulka ah

Codsigu waxa uu kula xidhiidhaa Aansible via Python API oo macquul ah. Playbook_executor waxaan u gudbinaa magaca faylka iyo doorsoomayaasha. Tani waxay kuu ogolaaneysaa inaad ku hayso mashruuca macquulka ah ee qaabka yml-ka caadiga ah, halkii aad ku qeexi lahayd code Python.

Sidoo kale gudaha macquulka ah, iyada oo loo marayo * extra_vars *, magaca aaladda xannibaadda, heerka tigidhada, iyo sidoo kale callback_url, oo ka kooban furaha arrinta - waxaa loo isticmaalaa dib u soo celinta HTTP.

Daah-fur kasta, alaab ku meel gaar ah ayaa la soo saarayaa, oo ka kooban hal martigeliyaha iyo kooxda uu martida u yahay, si group_vars loo isticmaalo.

Halkan waxaa ah tusaale hawl fulinaysa dib u yeedhista HTTP.

Waxaan helnaa natiijada fulinta buugaagta ciyaarta iyadoo la isticmaalayo callaback(yada). Waxay ka kooban yihiin laba nooc:

  • Plugin dib u soo yeerida macquulka ah, waxay ku siinaysaa xogta natiijooyinka fulinta buug-ciyaareedka. Waxay qeexaysaa hawlihii la bilaabay, si guul leh loo dhammeeyey ama aan lagu guulaysan. Dib-u-warcintan waxa la yidhaahdaa marka buugga-ciyaartu dhammeeyo ciyaarista.
  • Dib u soo waca HTTP si aad u hesho macluumaadka marka aad ciyaareyso buug-ciyaareedka Hawsha macquulka ah waxaanu ku fulinaa codsi POST/GET codsigayaga.

Kala duwanaanshiyaha waxaa loo sii maraa dib-u-soo-celinta HTTP ee la qeexay inta lagu guda jiro fulinta buug-ciyaareedka iyo inaan rabno inaan keydino oo isticmaalno orodyada xiga. Waxaan xogtan ku qornaa sqlite.

Waxaan sidoo kale ka tagnaa faallooyinka oo aan ku beddelnaa heerka tigidhada annaga oo adeegsanayna soo celinta HTTP.

HTTP soo celinta

# Make callback to Diskobot App
# Variables:
#    callback_post_body: # A dict with follow keys. All keys are optional
#       msg: If exist it would be posted to Jira as comment
#       data: If exist it would be saved in Incident.variables
#       desire_state: Set desire_state for incident
#       status: If exist Proceed issue to that status

  - name: Callback to Diskobot app (jira comment/status)
    uri:
      url: "{{ callback_url }}/{{ devname }}"
      user: "{{ diskobot_user }}"
      password: "{{ diskobot_pass }}"
      force_basic_auth: True
      method: POST
      body: "{{ callback_post_body | to_json }}"
      body_format: json
    delegate_to: 127.0.0.1

Sida hawlo badan oo isku mid ah, waxaan ku dhejineynaa fayl gaar ah oo caadi ah waxaana ku daraa haddii loo baahdo, si aan si joogto ah ugu soo celin buugaagta ciyaarta. Tan waxaa ku jira callback_ url, oo ka kooban furaha arrinta iyo magaca martida loo yahay. Marka Aansible uu fuliyo codsigan POST, botku wuxuu fahmayaa inay ku timid qayb ka mid ah dhacdadan oo kale.

Oo halkan waa tusaale ka mid ah buugga-ciyaaraha, kaas oo aan ka soo saarno saxanka qalabka MD:

  # Save mdadm configuration
  - include: common/callback.yml
    vars:
      callback_post_body:
        status: 'Ready to change'
        msg: "Removed disk from mdraid {{ mdadm_remove_disk.msg | comment_jira }}"
        data:
          mdadm_data: "{{ mdadm_remove_disk.removed }}"
          parted_info: "{{ parted_info | default() }}"
    when:
      - mdadm_remove_disk | changed
      - mdadm_remove_disk.removed

Hawshan waxay u wareejinaysaa tigidhka Jira heerka "Diyaar u ah in wax laga beddelo" waxayna ku daraysaa faallo. Sidoo kale, doorsoomaha mdam_data waxa uu kaydiyaa liiska qalabka md ee laga saaray saxanka, oo parted_info waxa uu kaydiyaa qayb ka mid ah qashinka qaybsan.

Marka injineerku geliyo saxan cusub, waxaan adeegsan karnaa doorsoomayaashan si aan u soo celinno qashinka qaybinta, sidoo kale waxaan gelinaa saxanka qalabkii md ee laga saaray.

Habka hubinta macquulka ah

Waxay ahayd cabsi in la shido otomaatiga Sidaa darteed, waxaan go'aansanay inaan ku socodsiino dhammaan buugaagta ciyaarta habka
orod qallalan, kaas oo Ansible uusan wax ficil ah ku samayn server-yada, laakiin kaliya uu ku daydo.

Daah-furka noocan oo kale ah waxa lagu socodsiiyaa qayb dib-u-waraysi gaar ah, natiijada fulinta buug-ciyaareedka waxa loo kaydiyay Jiira faallo ahaan.

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Marka hore, tani waxay suurtagelisay in la ansixiyo shaqada bot-ka iyo buugaagta ciyaarta. Marka labaad, waxay kordhisay kalsoonida maamulayaasha ee bot.

Markii aan ka gudubnay ansaxinta oo aan ogaanay in aad ku socon karto macquul ma aha oo kaliya habka orodka qalalan, waxaan sameynay Run Diskobot badhanka Jira si aan u bilowno buug-ciyaareed isku mid ah oo leh doorsoomayaal isku mid ah isla martigeliyaha, laakiin qaabka caadiga ah.

Intaa waxa dheer, badhanka waxa loo isticmaalaa in dib loo bilaabo buug-ciyaareedka haddii uu shil galo.

Qaab dhismeedka buugaagta ciyaarta

Waxaan horay u sheegay in iyadoo ku xiran heerka tigidhada Jira, bot-ku wuxuu soo bandhigayaa buug-ciyaareedyo kala duwan.

Marka hore, aad bay u fududahay in la habeeyo albaabka.
Marka labaad, xaaladaha qaarkood si fudud ayaa loo baahan yahay.

Tusaale ahaan, marka aad bedesho diskka nidaamka, marka hore waxaad u baahan tahay inaad tagto nidaamka dajinta, abuurto hawl, ka dib marka si sax ah loo diro, server-ku wuxuu noqonayaa mid la heli karo ssh, waxaadna ku soo rogi kartaa codsiga. Haddii aan waxaas oo dhan ku samaynay hal buug, markaas Ansible ma awoodi doono inuu dhammaystiro sababtoo ah martigeliyaha oo aan la heli karin.

Waxaan u isticmaalnaa doorarka macquulka ah koox kasta oo server ah. Halkan waxa aad ka arki kartaa sida buug-ciyaareedka(-yada) loogu habeeyey mid ka mid ah.

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Tani way ku habboon tahay sababtoo ah isla markiiba way caddahay meesha hawlaha yaalo. Main.yml, oo ah fikradda doorka macquulka ah, waxaan si fudud ugu dari karnaa heerka tigidhada ama hawlaha guud ee looga baahan yahay qof kasta, tusaale ahaan, gudbinta aqoonsiga ama helitaanka calaamad.

baaritaan.yml

U orda tigidhada baaritaanka iyo xaaladda furan. Waxa ugu muhiimsan buug-ciyaareedkan waa magaca aaladda block. Macluumaadkan mar walba lama heli karo.

Si aan u helno, waxaan falanqeyneynaa soo koobida Jira, qiimaha ugu dambeeya ee kiciya Zabbix. Waxaa ku jiri kara magaca aaladda xannibaadda - nasiib badan. Ama waxaa laga yaabaa inay ka kooban tahay barta buurta, ka dib waxaad u baahan tahay inaad tagto server-ka, oo aad xisaabiso diskka loo baahan yahay. Kiciyeyaasha ayaa sidoo kale gudbin kara ciwaanka scsi ama macluumaad kale. Laakiin sidoo kale waxay dhacdaa in aysan jirin wax calaamado ah, waana inaad falanqeyso.

Markaan ogaanay magaca aaladda block, waxaan ka aruurineynaa macluumaadka ku saabsan nooca iyo xajmiga diskka si aan u buuxinno meelaha Jira. Waxaan sidoo kale meesha ka saarnay macluumaadka ku saabsan iibiyaha, model, firmware, ID, SMART, oo waxan oo dhan gelinaa faallo tigidhka Jira. Maamulaha iyo injineerku uma baahna inay raadiyaan xogtan. πŸ™‚

Si otomaatig ah loogu beddelo saxanka oo leh macquul

diyaari2beddel.yml

Ka saarida saxanka wareegtada, diyaarinta beddelka. Marxaladda ugu adag uguna muhiimsan. Tani waa meesha aad ku joojin karto codsiga marka ay tahay in aan la joojin. Ama soo saar saxan aan haysan nuqulo ku filan, oo saameeyn ku yeelanaya isticmaalayaasha, luminta xogta qaar. Halkan waxaan ku haynaa hubinta iyo ogeysiisyada ugu badan ee sheekada.

Xaaladda ugu fudud, waxaan ka hadlaynaa ka saarida diskka HW/MD RAID.

Xaalado badan oo adag (nidaamyada kaydintayada), marka kaydinta lagu sameeyo heerka codsiga, waxaad u baahan tahay inaad u tagto codsiga adoo isticmaalaya API, ka warbixi wax soo saarka diskka, demi oo bilaw soo kabashada.

Hadda waxaan u haajireen si guud daruurtii, iyo haddii seerfarku uu ku salaysan yahay daruur, markaas Diskobot waxa ay wacdaa Cloud API, waxa ay sheegtay in ay la shaqaynayso minion-ka weelasha ku shaqeeya server-ka - oo uu waydiiyo "dhammaan weelasha ka haajiro minion." Isla mar ahaantaana, wuxuu shidayaa nalka dambe ee saxanka si uu injineerku isla markiiba u arko midka u baahan in la soo saaro.

bedelay.yml

Ka dib markii la beddelo saxan, waxaan marka hore hubinay in la heli karo.

Injineerada mar walba ma rakibaan darawalo cusub, markaa waxaan ku darnay jeeg qiimayaasha SMART ee nagu qanciya.

Sifooyinkee ayaan eegaynaa?Tirada Qaybaha la meeleeyay (5) <100
Tirada Qaybaha La Sugayo (107) == 0

Haddii darawalku ku guuldareysto imtixaanka, injineerka waxaa lagu wargelinayaa inuu beddelo mar kale. Haddii wax walba ay hagaagsan yihiin, iftiinka dambe wuu damayaa, calaamado ayaa la mariyaa oo saxanka ayaa la gelinayaa wareeg.

diyaarsan.yml

Kiiska ugu fudud: hubinta isku xidhka weerarka HW/SW ama dhamaystirida xogta isku xidhka codsiga.

Codsiga API

Waxaan dhowr jeer sheegay in botku inta badan galo API-yada codsiga. Dabcan, dhammaan codsiyada ma laha hababka lagama maarmaanka ah, markaa waa in wax laga beddelo. Waa kuwan hababka ugu muhiimsan ee aan isticmaalno:

  • Xaalada Xaaladda koox ama disk si loo fahmo in lagu shaqeyn karo;
  • Bilow/joojin Dejinta/dejinta diskka;
  • Tahriib/soo celin Socdaalka xogta iyo soo kabashada inta lagu jiro beddelka iyo ka dib.

Casharkii laga bartay Aansible

Runtii waan jeclahay Ansible. Laakiin inta badan, markaan eego mashruucyo kala duwan oo furan oo aan arko sida dadku u qoraan buugaag-ciyaaraha, waxaan helaa cabsi yar. Isku-xidhka macquulka ah ee isku dhafan ee goorta/loop, dabacsanaan la'aanta iyo arapotency sababtoo ah isticmaalka joogtada ah ee qolofka/amarka.

Waxaan go'aansanay inaan wax walba fududeyno sida ugu macquulsan, anagoo ka faa'iideysaneyno faa'iidada macquulka ah - modularity. Heerka ugu sarreeya waxaa jira buugaag-ciyaaraha; waxaa qori kara maamule kasta, horumariye dhinac saddexaad oo yaqaan wax yar oo macquul ah.

- name: Blink disk
  become: True
  register: locate_action
  disk_locate:
      locate: '{{ locate }}'
      devname: '{{ devname }}'
      ids: '{{ locate_ids | default(pd_id) | default(omit) }}'

Haddii caqli-galnimada qaar ay adag tahay in lagu hirgeliyo buugaagta ciyaarta, waxaan u guurineynaa module ama shaandheyn macquul ah. Qoraallada waxaa lagu qori karaa Python ama luqad kale.

Way fududahay oo degdeg bay wax u qoraan. Tusaale ahaan, moduleka dhabarka ee diskka, tusaale ahaan kor lagu muujiyey, wuxuu ka kooban yahay 265 xariiq.

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Heerka ugu hooseeya waa maktabadda. Mashruucan, waxaan u qornay codsi gaar ah, nooc ka mid ah soo saarista qalabka iyo software RAID-yada ee fuliya codsiyada u dhigma.

Si otomaatig ah loogu beddelo saxanka oo leh macquul

Awoodaha ugu weyn ee Aansible waa fududaantiisa iyo buugaagta ciyaarta ee cad. Waxaan aaminsanahay inaad u baahan tahay inaad tan isticmaasho oo aadan dhalin faylal yaml cabsi leh iyo shuruudo tiro badan, koodhka qolofka iyo wareegyada

Haddii aad rabto inaad ku soo celiso khibradeena API-ga macquulka ah, maskaxda ku hay laba shay:

  • Playbook_executor iyo buugaagta ciyaarta guud ahaan lama siin karo waqti go'an. Waxa jira wakhti ka bax ah kalfadhiga ssh, laakiin ma jiro wax wakhti ah oo ka baxay buugga ciyaarta. Haddii aan isku dayno inaan furno disk aan hadda ka jirin nidaamka, buuggu wuxuu socon doonaa si aan dhammaad lahayn, markaa waxay ahayd inaan ku duubno furitaankiisa duubo gaar ah oo aan dilno waqti gaaban.
  • Macquulku waxa uu ku shaqeeyaa geeddi-socod la fargeeto, sidaa awgeed API-keedu ma aha mid badbaado leh. Waxa aanu wadnaa dhamaan buugaagteena ciyaarta si siman.

Natiijo ahaan, waxaan awoodnay inaan si otomaatig ah u bedelno qiyaastii 80% saxanadaha. Guud ahaan, heerka beddelka ayaa labanlaabmay. Maanta, maamuluhu wuxuu eegayaa dhacdada oo wuxuu go'aaminayaa in saxanka loo baahan yahay in la beddelo iyo in kale, ka dibna hal gujis ayuu sameeyaa.

Laakiin hadda waxaan bilaabaynaa inaan galno dhibaato kale: maamulayaasha cusub qaarkood ma yaqaanaan sida loo beddelo darawallada. πŸ™‚

Source: www.habr.com

Add a comment