Skip to main content

Miért A/B partícionálás?

Beágyazott rendszerekben a sikertelen frissítések tönkretehetik az eszközöket. Az A/B elrendezés ezt úgy oldja meg, hogy két gyökérfájlrendszert tart fenn:

  • Slot A - aktív rootfs
  • Slot B - készenléti rootfs a következő frissítéshez.

Ha egy frissítés sikeres, a bootloader átvált az új slotba. Ha a rendszerindítás sikertelen, visszaáll az utolsó ismert jó verzióra.

Ez a megközelítés feltételezi, hogy az A és a B slot azonos méretű partícióval rendelkezik, ami beágyazott rendszerekben, amikor az erőforrások korlátozottak, néha nehézségekbe ütközhet.

swupdate mentési rendszerrel

Egy másik megközelítés az, hogy partíciókat hozunk létre egy kis mentőrendszer számára, és egy nagyobb partíciót a normál futó rendszer számára.

Példa partíciós elrendezés

Egy tipikus Raspberry Pi Compute Module 5 (CM5) elrendezés így nézhet ki:
PartícióTípusCél
p1FAT32/boot_A (kernel, cmdline, bootloader)
p2ext4rootfs A
p3FAT32/boot_B (kernel, cmdline, bootloader a mentési rendszerhez)
p4ext4rootfs_B
p5ext4adatok / konfiguráció
A bootloader egy flag segítségével (például GPIO17=1 az rpi-eepromban) meghatározhatja, hogy a mentési partícióról bootoljon-e.

Gyakorlati példa

Ezt a beállítást két példán keresztül mutatjuk be rpi-image-genpéldaprojektekben:

Az első létrehozza a mentési rendszert, a második pedig egyesíti a mentési rendszert egy másik futó rendszerrel, a partíciócímkék beállításával a következő rendszerben cmdline.txt és fstab.

Kezelői frissítés

Az inaktív rendszerpartíciót manuálisan is csatlakoztathatja a konfigurációk, alkalmazások vagy rendszerkomponensek frissítéséhez.
Termelési rendszerek esetében a frissítéseket jellemzően a SWUpdate, amely biztonságosan automatizálja ezt a folyamatot.

Integráció a SWUpdate

SWUpdate natívan támogatja a kettős gyökérzetű (A/B) frissítési stratégiákat.
A partíciókat és a frissítési logikát közvetlenül a sw-description fájlban.

Ez a megközelítés atomi rendszerfrissítéseket biztosít beépített visszaállítási biztonsággal - ez alapvető fontosságú a fej nélküli vagy távoli eszközök esetében, ahol a kézi helyreállítás nem kivitelezhető.