Google ontwikkelt een systeem voor het herstarten van de kernel zonder de werking van apparaten te onderbreken

Ingenieurs van Google hebben een set patches gepresenteerd voor discussie onder ontwikkelaars van de Linux-kernel, met de implementatie van het Live Update Orchestrator (LUO) subsysteem, dat bedoeld is voor het bijwerken van de kernel in een live-modus. In tegenstelling tot mechanismen zoals livepatch, Ksplice, kpatch en kGraft, beperkt het nieuwe systeem zich niet tot het toepassen van afzonderlijke correcties op een draaiende Linux-kernel, maar maakt het een volledige herstart en update van de kernel mogelijk zonder dat afzonderlijke apparaten moeten stoppen. Het project is gebaseerd op een set patches KHO (Kexec HandOver) voor het mechanisme kexec, dat wordt gebruikt voor het laden van een nieuwe kernel uit een al draaiende Linux-kernel zonder een fysieke herstart.

Als belangrijkste toepassingsgebied voor LUO worden cloudomgevingen genoemd, waar het mogelijk zal zijn om de KVM-hypervisor bij te werken zonder de werking van draaiende machines te verstoren. virtuele machinesIn het bijzonder kan het mogelijk zijn om virtuele machines de tijd van de herstart van de kernel met de hypervisor te pauzeren, terwijl alle aan virtuele machines gekoppelde apparaten operationeel blijven.

Om deze mogelijkheid te implementeren, biedt LUO mogelijkheden voor het opslaan van de status van apparaten vóór de overschakeling naar de nieuwe kernel en het herstellen van die status onmiddellijk na de activering van de nieuwe kernel, zodat continue systeem- en applicatieoperaties in de gebruikersruimte met de apparaten niet worden onderbroken. Tijdens de herstart van de kernel wordt ook de continuïteit van de uitgevoerde DMA-operaties en de activiteit in verband met interruptverwerking gegarandeerd.

Voor de coƶrdinatie van het opslaan van de status en de overschakeling naar de nieuwe kernel biedt LUO een API waarmee andere subsystemen van de kernel handelaars kunnen aansluiten voor het volgen en deelnemen aan het proces van live-herstart. Onder de subsystemen die zich kunnen integreren met LUO bevinden zich de KVM-hypervisor, iommu, het interruptsysteem en stuurprogramma's. Voor het overdragen van de geheugenstatus van de oude kernel naar de nieuwe wordt KHO (Kexec HandOver) gebruikt. De controle gebeurt via sysfs-bestanden '/sys/kernel/liveupdate/{state, prepare, finish}'.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster