En Docker-volymåterställning kan återskapa varje filbyte men ändå utelämna utökade attribut när säkerhetskopieringsformatet, alternativen, behörigheterna eller destinationen inte kan bevara dem.
Utökade attribut är metadata i form av namn-värdepar som lagras utanför vanligt filinnehåll, ägarskap, rättighetsbitar och tidsstämplar. De kan innehålla ACL-data, SELinux-etiketter, Linux-funktioner, programmarkörer eller Samba-metadata. En enkel tar-baserad volymsäkerhetskopia kan återställa en katalog som ser komplett ut, medan program beter sig annorlunda eftersom arkivet inte registrerade utökade attribut eller återställningsprocessen inte kunde skriva till ett skyddat namnrymd.
Inventera källans attribut innan du upprepar återställningen
Välj representativa filer och registrera deras hashvärden, ägare, rättigheter, ACL:er samt namnet och värdet för varje utökat attribut. Ta med filer som inte fungerar i programmet efter återställningen.
Linux modell för utökade attribut separerar namnrymderna user, system, security och trusted, som alla har olika åtkomst- och behörighetskrav.
Om källan saknar utökade attribut har återställningen inte förlorat dem. Om bara en namnrymd försvinner bör du fokusera på behörigheter, säkerhetspolicy eller stöd på destinationen snarare än på arkivets filinnehållslager.
Kontrollera vad Docker-säkerhetskopieringskommandot faktiskt arkiverade
Spara den exakta avbildningen, kommandot, arbetskatalogen, arkivformatet, användaren, den monterade källan och den monterade säkerhetskopieringsdestinationen som användes av säkerhetskopieringscontainern.
Dockers exempel på volymsäkerhetskopiering använder tar i en hjälparcontainer, men bevarandet av metadata beror fortfarande på den valda tar-implementeringen och de valda alternativen.
En lyckad arkivfil visar att katalogposter och innehåll kunde läsas, men inte att alla namnrymder för utökade attribut inkluderades. Kontrollera arkivet med samma verktyg som användes för att skapa det.
Aktivera utökade attribut när arkivet skapas och packas upp
Jämför tar-alternativen som används vid säkerhetskopiering och återställning. Bekräfta att utökade attribut aktiverades i båda riktningarna och att inkluderings- eller exkluderingsmönster inte tog bort nödvändiga namnrymder.
GNU tar anger att --xattrs lagrar och återställer utökade attribut.
Om du bara lägger till alternativet vid extraheringen kan du inte återställa attribut som aldrig lagrades. Skapa ett nytt litet arkiv från en källfil med ett känt testattribut och kontrollera det innan du ändrar säkerhetskopieringarna i produktion.
Använd rätt Rsync-metadataalternativ för filbaserade säkerhetskopieringar
Om volymsäkerhetskopieringen använder Rsync granskar du alternativen för arkiv, ACL, utökade attribut, numeriska ID:n, fake-super och behörigheter på både sändare och mottagare.
Den officiella Rsync-handboken dokumenterar -X för bevarande av utökade attribut och beskriver fake-super-lagring när privilegierad metadata inte kan tillämpas direkt.
Det vanliga arkivalternativet -a omfattar inte automatiskt alla krav på ACL:er och utökade attribut. Testa det exakta kommandot mellan de faktiska käll- och destinationsfilsystemen.
Verifiera stöd för destinationsfilsystem och monteringar
Skapa en temporär fil direkt på den återställda volymen och försök att ange, lista och ta bort ett användarattribut. Upprepa testet via värden och via säkerhetskopieringscontainern.
Använd ett verktyg för att lista attribut i både värden och återställningscontainern för att bevisa att destinationen kan ta emot och returnera utökade attribut, oberoende av säkerhetskopieringsarkivet.
Om det inte går att skapa utökade attribut direkt granskar du filsystemtyp, monteringsalternativ, nätverksprotokoll, volymdrivrutin och lagringsutrustningens stöd. Inga arkivalternativ kan återställa metadata som destinationen inte kan representera.
Kontrollera behörigheter för security- och trusted-namnrymder
Registrera återställningscontainerns användare, funktioner, användarnamnrymd, rootless-läge, SELinux-policy och om volymsökvägen är bindmonterad från värden.
Red Hat dokumenterar att SELinux-etiketter kan behöva återställas enligt rätt policy efter att filer har kopierats eller återskapats.
Ge inte en säkerhetskopieringscontainer omfattande behörigheter till värden permanent. Använd en kontrollerad återställningsmiljö eller återställ vanliga data först och tillämpa sedan policyhanterade etiketter på nytt med verktyg som stöds.
Separera ACL:er, funktioner och programspecifika utökade attribut
Jämför POSIX-ACL-poster, Linux-filfunktioner, SELinux-etiketter, användarattribut samt Samba- eller macOS-metadata separat. De kan misslyckas av olika orsaker.
Sambas xattr_tdb-modul kan lagra utökade attribut separat från det underliggande filsystemet.
Ett filbaserat volymarkiv kan därför bevara det synliga filträdet men inte en separat Samba-metadatabas. Inkludera alla beroende metadatalager eller återskapa dem genom programmets process som stöds.
Återställ en testfil och validera programmet
Skapa en källfil med känt innehållshashvärde, ACL, användarattribut och eventuell nödvändig programmetadata. Säkerhetskopiera den och återställ den till en temporär volym.
ZimaSpace-artikeln om ändringar av NAS-behörigheter och metadata behandlar ett bredare migreringsbeteende; den här artikeln fokuserar på säkerhetskopiering och återställning av Docker-volymer.
Problemet är löst när innehållshashvärden, nödvändiga namn och värden för utökade attribut, ACL:er, säkerhetsetiketter och programmets beteende stämmer efter en andra kontrollerad säkerhetskopiering och återställning.
Vanliga frågor
Är utökade attribut samma sak som ACL:er?
Nej. ACL:er kan implementeras med systemutökade attribut på vissa filsystem, men utökade attribut lagrar också säkerhetsetiketter, funktioner, användarmetadata och programspecifika värden.
Bevarar tar utökade attribut som standard?
Utgå inte från det. GNU tar tillhandahåller uttryckliga alternativ för utökade attribut, och arkivet måste lagra attributen när det skapas innan extraheringen kan återställa dem.
Kan en återställning förlora utökade attribut även om den körs som root?
Ja. Arkivet kanske inte innehåller dem, destinationen kanske inte stöder dem, en säkerhetspolicy kan avvisa dem eller så kan metadatan finnas i en separat programdatabas.
Support och tips
Mer att läsa

Guide till lagring av live-tv-inspelningar för kapacitet, lagringstid och rensning
Mät verkliga inspelningar, reservera marginal, kombinera gränser för ålder och kapacitet och bevisa att det äldsta berättigade programmet tas bort innan lagringen blir full.

Arbetsflöde för återställning av metadata för hemmamedia efter en databasåterställning
Skydda det återställda tillståndet, verifiera medieidentitet och sökvägar och reparera sedan saknade omslagsbilder eller matchningar i ett pilotbibliotek innan omfattande metadataändringar görs.

Kompatibilitetschecklista för Jellyfin-klienter för ljud, video och undertexter
Testa representativa filer med en variabel i taget och notera Direct Play, remuxning, ljudkonvertering, videotranskodning eller fel för varje klient.

