Kmorph er lansert for rask gjenoppretting etter systemfeil eller oppgradering av Linux-kjernen

Utviklerne av Multikernel-prosjektet, som muliggjør kjøring av flere uavhengige kjernemoduler på én fysisk datamaskin uten hypervisor eller virtualisering, har presentert verktøyet kmorph, som tilbyr midler for rask gjenoppretting etter en krasj av Linux-kjernen eller for å bytte ut kjernen i live-modus uten full omstart. Prosjektet ledes av Cong Wang, som vedlikeholder trafikkontrollsystemet (TC, Traffic Control) i kjernen. Den raske omstartmetoden er basert på forhåndsinnlasting av en backup-kjerne i minnet, som erstatter hovedkjernen ved en feil eller når det er nødvendig å oppgradere kjernen til en ny versjon.

Den foreslåtte tilnærmingen gjør det mulig å unngå full omstart og gjenoppta arbeidet nesten umiddelbart, noe som minimerer nedetid. I dag, ved en krasj av kjernen, tar den fullstendige omstarten av store servere flere minutter på grunn av langvarige prosesser med maskinvareinitiering, lasting av systemmiljøet og lagring av minnedumpet fra kjernen via kdump-mekanismen. I hovedsak utføres to omstarter av kjernen ved bruk av kdump - først lastes en egen kjerne inn via kexec for å lagre minnedumpet, deretter lastes den operative kjernen og systemtjenester startes.

Når kmorph brukes i tilknytning til en bestemt CPU-kjerne, lastes en reserve-Linux-kjerne og et minimalt systemmiljø inn i minnet på forhånd, som overvåker tilstanden til hovedkjernen. Hvis hovedkjernen henger eller går inn i en panikktilstand, tar det reserverte miljøet over kontroll, lagrer minnedumpet fra den feilaktige kjernen, omstiller prosessor kjerner, minne, enheter, nettverkskonfigurasjon og filsystem.

Bytte av kobling styres av to programmer: kmorph — kjøres i aktivt miljø, danner innholdet i backupmiljøet og synkroniserer nettverksstatus; kmorphd — kjøres i backupmiljøet og følger med på statusen til det aktive miljøet. I tillegg til bytte ved feil, tilbys muligheten til å bruke kmorph for å oppdatere kjernen uten en tradisjonell omstart. For å raskt gjenopprette i backupmiljøet kan typiske tjenester som nginx startes i ventemodus, sammen med kjernen og et minimum av systemkomponenter. I dette tilfellet vil nginx-tjenesten allerede være lastet inn i minnet ved aktivering av backupmiljøet og vil straks begynne å behandle forespørslene etter bytte til det nye nettverksmiljøet, aktivering av nettverkskonfigurasjonen og skifting av rot FS.

I testene gjenoppretter serveren med nginx takket være kmorph driften omtrent 2 sekunder etter kjernens krasj, men man ønsker i fremtiden å oppnå øyeblikkelig bytte uten at det merkes av tilkoblede kunder. For tiden støtter kmorph x86_64 og ARM64-arkitekturer, og man jobber med å legge til støtte for RISC-V. Integrasjonen av kmorph i Linux-distribusjoner skjer på samme måte som støtten for kdump, ved hjelp av standardverktøyene dracut, initramfs-tools, kernel-install og systemtjenesten systemd.

Kjernen inneholder allerede mekanismer for Kexec HandOver (KHO) og Live Update Orchestrator (LUO), som tillater oppstart av en ny kjerne fra den gamle uten tap av systemstatus og uten at enhetene stopper opp. Men de kan ikke brukes i tilfelle kjernekrasj, da de krever at tilstanden til den kjørende kjernen lagres. KHO og LUO ligger også etter kmorph når det gjelder hastighet på bytte, fordi i kmorph er den nye kjernen allerede i minnet, mens KHO og LUO krever omstart av kjernen via kexec.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster