Uitgave van CRIU 4.0, een systeem voor het opslaan en herstellen van de toestand van processen in Linux

De release van de CRIU 4.0-toolkit (Checkpoint and Restore In Userspace) is gepubliceerd, die is ontworpen voor het opslaan en herstellen van processen in de gebruikersruimte. De toolkit maakt het mogelijk om de toestand van een enkel proces of een groep processen op te slaan, en vervolgens te hervatten vanaf de opgeslagen positie, zelfs na een herstart van het systeem of op een andere server zonder bestaande netwerkverbindingen te verbreken. De code van het project is geschreven in C en wordt verspreid onder de GPLv2-licentie. CRIU wordt toegepast in containerbeheersystemen zoals OpenVZ, LXC/LXD en Docker. De noodzakelijke aanpassingen voor de werking van CRIU zijn opgenomen in de hoofdversie van de Linux-kernel.

Toepassingsgebieden van de CRIU-technologie omvatten het mogelijk maken van een OS-herstart zonder de continuïteit van langdurig draaiende processen te verstoren, live migratie van geïsoleerde containers, het versnellen van de opstart van langzame processen (de werking kan worden gestart vanuit de toestand die is opgeslagen na de initiatie), het uitvoeren van kernel-upgrades zonder diensten opnieuw te starten, periodiek opslaan van de staat van langdurige rekenprocessen voor hervatting in geval van een crash, load balancing op knooppunten in clusters, dupliceren van processen naar een andere machine (fork naar een extern systeem), en het maken van snapshots van gebruikersapplicaties tijdens hun werking voor analyse op een ander systeem of voor het geval verdere acties in het programma moeten worden teruggedraaid.

In de nieuwe release:

  • Een CUDA-plugin is toegevoegd, die het mogelijk maakt om de staat van applicaties op basis van NVIDIA CUDA-technologie op te slaan en te herstellen.
  • Ondersteuning voor de Shadow Stack-mechanisme is toegevoegd, dat vanaf kernelversie 6.6 wordt ondersteund en dat de werking van veel exploits kan blokkeren door gebruik te maken van de hardwarecapaciteiten van Intel-processors (na het overdragen van controle aan een functie, worden de retouradressen niet alleen in de normale stack, maar ook in een aparte 'schaduwvak'-stack opgeslagen die niet rechtstreeks kan worden gewijzigd en vóór het verlaten van de functie wordt het retouradres uit de shadoustack gehaald en vergeleken met het retouradres uit de hoofdstack).
  • Ondersteuning toegevoegd voor de ioctl-opdracht PAGEMAP_SCAN voor het verkrijgen van informatie over de inhoud van pagina-vertalingen, wat onder andere, in combinatie met userfaultfd(), het mogelijk maakt om schrijfactiviteiten in een bepaald geheugenbereik te identificeren.
  • Mogelijkheid geïmplementeerd om een stroom in de correcte cgroup v1 te herstellen.

    Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster