Partition A/B et Persistence
24 April 2026
Partition A/B et Persistence
Le systeme Magic Stick utilise un partitionnement A/B avec une partition de persistance dediee. Ce mecanisme permet les mises a jour atomiques sans risque pour les donnees utilisateur.
Architecture des partitions
| Partition | Taille | Role |
|---|---|---|
System A (lecture seule) |
~8 Go |
Systeme live Xubuntu actif (boote par defaut) |
System B (lecture seule) |
~8 Go |
Systeme live Xubuntu de secours (inactif) |
Persistence (lecture/ecriture) |
Reste de la cle (~48 Go sur 64 Go) |
Donnees utilisateur + configuration logiciels |
Principe de fonctionnement
Le principe A/B est inspire des mises a jour OTA des smartphones :
-
Une seule partition systeme est active a un instant T (A ou B)
-
L’autre partition est inactive et disponible pour une mise a jour
-
La partition de persistance est toujours montee et n’est jamais touchee par les mises a jour
Flux de mise a jour
-
update-system.shdetecte la partition active (A ou B) -
Il ecrit la nouvelle ISO sur la partition inactive
-
Il inverse le flag de boot dans GRUB/syslinux
-
Au prochain demarrage : la nouvelle version est sur l’ancienne partition inactive
-
Si la nouvelle version plante : reboot sur l’ancienne partition (rollback immediat)
Rollback
Si le nouveau systeme ne demarre pas correctement :
-
Au demarrage, selectionner l’autre entree dans le menu GRUB
-
Le systeme boote sur l’ancienne partition (encore intacte)
-
Les donnees de persistence sont intactes — aucun risque de perte
|
Important
|
Le rollback est immediat et sans intervention technique. Il suffit de choisir l’autre partition dans le menu de boot. |
Partitionnement recommande (cle 64 Go)
| Numero | Taille | Type | Flag |
|---|---|---|---|
1 |
8 Go |
ext4/squashfs |
boot |
2 |
8 Go |
ext4/squashfs |
- |
3 |
reste (~48 Go) |
ext4 |
- |
Configuration de la persistence
La partition Persistence contient :
-
Donnees utilisateur : documents, projets, configuration personnelle
-
Configuration logiciels : parametres Docker, modeles Ollama, SDKMAN
-
Cles SSH : jamais dans l’ISO, toujours dans Persistence
Le fichier persistence.conf a la racine de la partition indique quels chemins sont persistes :
/unicorn/home
/unicorn/usr
/unicorn/var
Avantages du systeme A/B
-
Mise a jour zero-downtime : pas de periode ou la cle est inutilisable
-
Rollback automatique : si le nouveau systeme ne boot pas, on revient a l’ancien
-
Donnees sauvees : la partition Persistence n’est jamais reformatee
-
Reproductibilite : meme ISO = meme resultat sur N cles
Commandes utiles
# Voir les partitions d'une cle
lsblk /dev/sdX
# Detecter la partition active
mount | grep -E "sdX[12]"
# Mettre a jour le systeme (A vers B ou B vers A)
sudo scripts/update-system.sh /dev/sdX
# Mettre a jour avec un ISO specifique
sudo scripts/update-system.sh /dev/sdX chemin/vers/magic-stick_0.1.8.iso