Piedāvāts kmorph ātrai atjaunoÅ”anai pēc avārijas vai Linux kodola atjaunināŔanas

Multikernel projekta izstrādātāji, kas ļauj vienā fiziskajā datorā darbināt vairākus neatkarÄ«gus kodola instancus bez hipervizora un virtualizācijas, ir piedāvājuÅ”i kmorph rÄ«ku, kas nodroÅ”ina lÄ«dzekļus ātrai atjaunoÅ”anai pēc Linux kodola avārijas apstāŔanās vai kodola nomaiņai Live-režīmā bez pilnas restartēŔanas. Projekta attÄ«stīŔana notiek Konga Vanga (Cong Wang) vadÄ«bā, kurÅ” uztur satiksmes vadÄ«bas (TC, Traffic Control) apakÅ”sistēmu kodolā. Ātras restartēŔanas metode balstās uz rezerves kodola iepriekŔēju ielādēŔanu atmiņā, kas aizvieto galveno darba kodolu avārijas gadÄ«jumā vai nepiecieÅ”amÄ«bas gadÄ«jumā pārejai uz jauno versiju.

Ieteiktais pieejas veids ļauj iztikt bez pilnas restartēŔanas un gandrÄ«z nekavējoties atsākt darbu, samazinot dÄ«kstāves laiku lÄ«dz minimumam. Å obrÄ«d, ja kodols avārijā apstājas, liela mēroga pilna restartēŔana serveriem aizņem vairākas minÅ«tes dēļ ilgstoŔām aparatÅ«ras inicializēŔanas, sistēmas vides ielādes un kodola atmiņas izgāŔanās saglabāŔanas procesiem, izmantojot kdump mehānismu. PatiesÄ«bā, izmantojot kdump, tiek veiktas divas kodola restartēŔanas - vispirms caur kexec tiek ielādēts atseviŔķs kodola instants datu izguvei, pēc tam tiek ielādēts darba kodols un uzsākti sistēmas pakalpojumi.

Ja tiek izmantots kmorph attiecÄ«bā uz atseviŔķu CPU kodolu, atmiņā iepriekÅ” tiek ielādēts rezerves Linux kodols un minimāla sistēmas vide, kas uzrauga galvenā kodola stāvokli. Ja galvenais kodols iesprÅ«st vai nonāk panikas stāvoklÄ«, rezerves vide pārņem kontroli, saglabā bojātā kodola atmiņas notikumu un pārslēdz uz sevi procesoru kodolus, atmiņu, ierÄ«ces, tÄ«kla konfigurāciju un FSh.

PārslēgÅ”anu koordinē divas programmas: kmorph — tiek palaista aktÄ«vā vidē, veido rezerves vides saturu un sinhronizē tajā tÄ«kla stāvokli; kmorphd — tiek palaista rezerves vidē un seko aktÄ«vās vides stāvoklim. Papildus pārslēgÅ”anai avārijas gadÄ«jumā, ir iespēja izmantot kmorph, lai atjauninātu kodolu bez tradicionālās restartēŔanas. Lai paātrinātu atjaunoÅ”anos rezerves vidē, papildus kodolam un minimālajam sistēmas komponentu komplektam, gaidīŔanas režīmā var tikt palaisti tipveida pakalpojumi, piemēram, nginx. Å ajā gadÄ«jumā brÄ«dÄ«, kad tiek aktivizēta rezerves vide, nginx pakalpojums jau bÅ«s ielādēts atmiņā un nekavējoties sāks apstrādāt pieprasÄ«jumus pēc pārslēgÅ”anās uz jauno tÄ«kla kartes vidi, tÄ«kla konfigurācijas aktivizēŔanas un saknes FSl maiņas.

Veiktajos testos serveris ar nginx, izmantojot kmorph, atsāk darbu aptuveni divu sekunžu laikā pēc kodola kļūmes, taču nākotnē plānots panākt tÅ«lÄ«tēju pārslēgÅ”anos, kas bÅ«tu nemanāma savienotajiem klientiem. PaÅ”laik kmorph atbalsta x86_64 un ARM64 arhitektÅ«ras, un tiek strādāts pie RISC-V atbalsta. Kmorph integrācija Linux izplatÄ«jumos tiek veikta analogi kdump atbalstam, izmantojot standarta rÄ«kus dracut, initramfs-tools, kernel-install un systemd pakalpojumu.

Kodolā jau ir iekļauti mehānismi Kexec HandOver (KHO) un Live Update Orchestrator (LUO), kas ļauj palaist jaunu kodolu no vecā bez sistēmas stāvokļa zuduma un bez ierīču darbÄ«bas apturēŔanas. Taču tie nevar tikt izmantoti kodola kļūmes gadÄ«jumā, jo prasa, lai bÅ«tu saglabāts strādājoÅ”a kodola stāvoklis. KHO un LUO arÄ« atpaliek no kmorph ātruma ziņā, jo kmorph jaunais kodols jau ir atmiņā, bet KHO un LUO prasa kodola restartēŔanu, izmantojot kexec.

Avots: opennet.lv

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster