Utgåva av CRIU 4.3, ett system för att spara och återställa tillståndet för processer i Linux

Efter 11 månaders utveckling har CRIU 4.3 (Checkpoint and Restore in Userspace), en verktygslåda utformad för att spara och återställa processer i användarutrymme, släppts. Verktygslådan gör det möjligt att spara tillståndet för en eller en grupp av processer och sedan återuppta körningen från den sparade positionen, inklusive efter en systemomstart eller på en annan server utan att störa befintliga nätverksanslutningar. Projektets kod är skriven i C och distribueras under GPLv2-licensen. CRIU används i containerhanteringssystem som OpenVZ, LXC/LXD och Docker. De ändringar som krävs för att CRIU ska fungera har införlivats i kärnan. Linux.

Tillämpningsområdena för CRIU-teknik inkluderar att säkerställa omstart av operativsystemet utan att störa kontinuiteten i långa processer, Live-migrering av isolerade behållare, påskynda lanseringen av långsamma processer (du kan börja arbeta från tillståndet som sparats efter initialisering), utföra kärnuppdateringar utan att starta om tjänsterna, periodiskt spara tillståndet för långvariga beräkningsuppgifter för att återuppta, vid onormal laddning, överföra processer till en annan maskin (gaffel till ett fjärrsystem), skapa ögonblicksbilder av användarapplikationer under drift för deras analys på ett annat system eller om det är nödvändigt att avbryta ytterligare åtgärder i programmet.

I den nya utgåvan:

  • Möjligheten att komprimera minnesblock och sidor med hjälp av LZ4-algoritmen och flertrådad dekomprimering har implementerats.
  • Prestandan förbättras genom att använda asynkron I/O (AIO) vid återställning av VMA-sidor (Virtual Memory Area), en ny metod för att stoppa uppgifter utan att använda hårdvarubrytpunkter, och parallellisering av memfd- och anonyma återställningar av delat minne.
  • Lade till stöd för ARM64 GCS-tillägget (Guarded Control Stack), vilket ger hårdvaruskydd för funktionsreturadresser. Efter att kontrollen överförts till en funktion lagrar processorn returadresser inte bara på den vanliga stacken utan även på en separat skuggstack, som inte kan ändras direkt. Innan funktionen avslutas tas returadressen ut från skuggstacken och jämförs med returadressen på huvudstacken.
  • Lade till ett backend för att spara tillståndet för NVIDIA CUDA-drivrutins-API:et.
  • Återställning av GPU-mappning har säkerställts.
  • För amdgpu-drivrutinen har det implementerats möjlighet att spara och återställa tillståndet för DRM-undersystemets (Direct Rendering Manager) buffertar och DMA-BUF-filbeskrivningar.
  • Lade till kommandon för att komprimera och dekomprimera minnesbilder i offline-läge.
  • Lade till stöd för att spara och återställa information om UID-bindningar till nätverkssockets.
  • Lade till alternativet "--image-io-mode" för att skriva och läsa minnessidor i O_DIRECT-läge (och kringgå sidcachen).

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster