Bästa migreringsstrategi: Betrakta CasaOS som tre lager – värdoperativsystemet, appdefinitionerna och beständiga data. Att installera om CasaOS är den enkla delen. Det viktiga arbetet är att bevara mapparna och konfigurationen som dina containrar faktiskt använder och sedan återskapa samma sökvägar på den nya maskinen.
Inventera före kopiering
- CasaOS- och Linux-basversioner;
- containeravbildningar, portar och miljövariabler;
- alla källsökvägar för bind-monteringar;
-
/DATA/AppDatasamt anpassade appmappar; - monteringspunkter för media- och datadiskar;
- UID/GID-ägarskap;
- statisk IP-adress, DNS, proxy, VPN och brandväggsregler.
CasaOS-butiksappar sparar vanligtvis data under /DATA/AppData/$AppID. CasaOS AppData-mönstret visar varför det inte räcker att bara kopiera en Docker-container för att genomföra en migrering.
Stoppa skrivintensiva appar före den slutliga kopieringen
Databaser och appstatus kan ändras medan du kopierar. Stoppa de berörda containrarna – eller Docker vid den slutliga synkroniseringen – innan du tar den sista säkerhetskopian.
sudo systemctl stop casaos-app-management
sudo systemctl stop docker
Kopiera sedan med ett verktyg som bevarar metadata, till exempel rsync -aHAX när dina filsystem stöder det.
Inventera även namngivna volymer
Vissa appar använder Docker-volymer i stället för bind-monteringar från värddatorn. Dockers beständiga Docker-volymer överlever containrar, men måste ändå migreras medvetet.
Återskapa lagringssökvägarna först
Montera diskarna på den nya värddatorn innan du startar apparna. Om Jellyfin tidigare använde /DATA/Media/MoviesOm samma sökväg återställs undviker du trasiga bibliotek. Om sökvägarna ändras redigerar du containermappningarna innan den första starten.
Bevara numeriskt ägarskap
Containrar använder numeriska UID/GID. Jämför viktiga kataloger på det gamla och nya systemet:
stat -c '%u:%g %a %n' /DATA/AppData/*
Återställ tjänsterna stegvis
- Installera en kompatibel Linux-bas.
- Installera CasaOS.
- Montera alla datadiskar.
- Återställ beständiga data.
- Återskapa/importera appdefinitioner.
- Starta tillståndsbevarande appar en i taget.
- Verifiera databaser, media, behörigheter och scheman.
- Byt endast IP/DNS när testerna har godkänts.
CasaOS Docker-strukturen förklarar varför appdata och containrar är separata frågor. Den självhostade appplattformen är relevant om du migrerar till ZimaOS i stället för att bygga om CasaOS.
För en kompakt x86-ersättare kan ZimaBoard 2 passa mindre installationer.
Klassificera varje app efter tillståndstyp
Alla containrar migreras inte på samma sätt:
- State-lösa: konfigurationen kan återskapas från compose/miljövariabler.
- Filbaserade: kopiera bind-monterade mappar.
- SQLite: stoppa appen innan du kopierar databasfilen.
- PostgreSQL/MySQL: använd om möjligt en säkerhetskopia från appen eller databasen i stället för att enbart förlita dig på en kopia av ett aktivt filsystem.
- Appar med namngivna volymer: exportera eller kopiera Docker-volymen på ett avsiktligt sätt.
Dokumentera den aktuella Docker-konfigurationen
Spara följande för varje viktig container:
docker inspect <container> > container-inspect.json
Det här är inte en färdig compose-fil för import, men den dokumenterar monteringar, portar, miljövariabler, nätverk och enheter så att du kan verifiera att den ombyggda tjänsten motsvarar den gamla.
Planera byte av IP-adress och värdnamn
Om klienterna använder ett servervärdnamn blir migreringen enklare: peka DNS till den nya IP-adressen efter valideringen. Om varje app är hårdkodad till den gamla IP-adressen kan du i stället föredra att tilldela den gamla statiska adressen till den nya värden när den gamla är offline.
Låt den gamla servern vara orörd tills återställning inte längre behövs
Radera inte källan direkt efter den första lyckade inloggningen. Låt den vara avstängd men intakt genom minst en säkerhetskopieringscykel och en period med normal användning. Då har du en känd fungerande återställningspunkt om ett schemalagt jobb, en databas eller en fjärrklient har missats.
Validera data, inte bara containrar
En grön Docker-status bevisar bara att processen körs. Validera:
- Jellyfin-bibliotek och visningsstatus;
- Syncthing-mappens hälsa;
- säkerhetskopieringsjobb och återställningstester;
- databasapplikationer;
- sökvägar till externa enheter;
- certifikat för omvänd proxy;
- fjärråtkomst via VPN eller tunnel.
Vanliga frågor
Kan jag klona startdisken?
Ibland, men en klon innehåller nätverks-, start- och monteringsantaganden som är specifika för maskinvaran. En ren värd med återställda data är ofta enklare att validera.
När kan jag pensionera den gamla servern?
Först när appinloggningar, databaser, mediesökvägar, behörigheter, schemalagda jobb, säkerhetskopior och fjärråtkomst fungerar på den nya värden.
