Hoppa till innehållet
Stackship-dokumentation English

ContainerinstanserAnvändareMaskinöversatt

Säkerhetskopiera och återställ

Ta ögonblicksbilder av en containerinstans beständiga volymer, schemalägg dem med en säkerhetskopieringspolicy och konsistenskrokar, och återställ en på plats.

Kräver: containerinstance/createSnapshot

En ögonblicksbild är en kopia av instansens alla beständiga volymer, tagen medan den kör. Bara en instans med minst en beständig volym kan ha ögonblicksbilder: dess sida har då fliken Ögonblicksbilder, och kortet Säkerhetskopior i Översikt visar Senaste ögonblicksbild. För en instans utan beständig volym visar kortet Ingen beständig volym, och plattformen vägrar ta en ögonblicksbild.

Uppgift Kräver Inbyggda roller
Se ögonblicksbilder och schemat containerinstance/read alla roller som ser instansen
Ta en ögonblicksbild containerinstance/createSnapshot Owner, Contributor
Schemalägga ögonblicksbilder containerinstance/write Owner, Contributor, Apps Operator, Blueprints Operator
Återställa eller ta bort en ögonblicksbild containerinstance/restoreSnapshot, containerinstance/deleteSnapshot Owner

Ta en ögonblicksbild

  1. Välj Ta ögonblicksbild på fliken Ögonblicksbilder.
  2. Ge den en Beskrivning om du vill, och välj hur länge den ska sparas under Behåll i: 7, 30, 90 eller 365 dagar. Standard är 30 dagar.
  3. Välj Ta ögonblicksbild. Instansen fortsätter köra; ögonblicksbilden blir klar i bakgrunden och visas i listan, där den löper ut av sig själv när tiden är slut.

Utöver volymerna kopierar en ögonblicksbild instansens Kubernetes-hemligheter och konfigurationsobjekt — innehållet i känsliga filer bland dem — till plattformens säkerhetskopieringslager. En återställning lägger bara tillbaka volymerna.

Med CLI:t (--ttl i dagar, 1 till 365):

bash
stsh ci snapshot create web -g my-resource-group --description "before the upgrade" --ttl 30
stsh ci snapshot list web -g my-resource-group

Schemalägg ögonblicksbilder

  1. Välj Schemalägg ögonblicksbilder i kortet Schemalagda ögonblicksbilder på fliken Ögonblicksbilder.
  2. Under Körs väljer du Dagligen eller Varje vecka vid en tid i UTC, eller ett Eget cron-uttryck med fem fält, i UTC. Bara antalet fält kontrolleras när du sparar; ett uttryck som schemaläggaren inte kan läsa sätter schemat i ett misslyckat läge.
  3. Välj Behåll varje ögonblicksbild i: 7 dagar, 30 dagar, 90 dagar eller 12 månader. En månad räknas som 30 dagar, så 12 månader behåller en ögonblicksbild i 360 dagar.
  4. Välj Spara.

Kortet visar sedan om schemat är Aktivt, när det körs, Nästa körning och Senaste schemalagda ögonblicksbild. Pausa schemalagda ögonblicksbilder stoppar det utan att ta bort det, och Redigera ändrar det. Ta bort — klickat två gånger — tar bort schemat och dess krokar; redan tagna ögonblicksbilder finns kvar tills de löper ut. En ändrad lagringstid gäller ögonblicksbilder som tas från och med då.

Med CLI:t:

bash
stsh ci backup-policy set web -g my-resource-group --schedule "0 2 * * *" --retention 14d
stsh ci backup-policy set web -g my-resource-group --paused true
stsh ci backup-policy get web -g my-resource-group
stsh ci backup-policy remove web -g my-resource-group

--retention är ett tal följt av d, w eller m, som 30d, 4w eller 6m. Utan eget schema körs en policy dagligen kl. 03:00 UTC och behåller varje ögonblicksbild i 30 dagar.

Konsistenskrokar

En ögonblicksbild kopierar disken som den är i just det ögonblicket. För programvara som håller data i minnet eller i filer som inte får kopieras halvskrivna — en databas, en cache — kan en krok få den att skriva en konsistent kopia först:

  • Före ögonblicksbilden — ett kommando som körs i en container precis före varje ögonblicksbild, både de du tar och de schemalagda. Bara en container deltar: den första containern i listan som har en krok av något slag. Dess kommando körs; de andra containrarnas gör det inte. När den första containern bara har en krok Efter en återställning körs inget kommando Före ögonblicksbilden alls.
  • Efter en återställning — ett kommando som körs i en container efter en återställning, när instansen är uppe igen. Varje containers kommando körs, i varje körande podd som har den containern.

En återställning använder krokarna som schemat har dem när återställningen görs, inte som de var när ögonblicksbilden togs. Init-containrar visas i dialogen men kör aldrig någon krok.

I portalen finns krokarna under Konsistenskrokar i schemadialogen, en rad per container; varje kommando körs via /bin/sh. Med CLI:t anges de som par <container>=<command>:

bash
stsh ci backup-policy set web -g my-resource-group \
  --hook-backup db='pg_dump -U postgres -Fc postgres > /var/lib/postgresql/data/backup.dump' \
  --hook-restore db='pg_restore -U postgres -d postgres --clean /var/lib/postgresql/data/backup.dump'

Skriv kopian till en beständig volym, så att den ingår i ögonblicksbilden, och behåll en krok Efter en återställning så länge du kan komma att återställa ögonblicksbilder som togs med en krok Före ögonblicksbilden. Utan en sådan rapporteras en återställning av en sådan ögonblicksbild som misslyckad — men först efter att volymerna har ersatts och instansen startats igen, så de återställda volymerna blir kvar, utan att kopian lagts tillbaka. När instansen var stoppad före återställningen körs ingen krok och återställningen rapporteras som klar.

Återställ en ögonblicksbild

  1. Välj Återställ på ögonblicksbilden på fliken Ögonblicksbilder.
  2. Skriv instansens namn för att bekräfta och välj Återställ.

Återställningen sker på plats och behåller instansens namn, slutpunkter och inställningar:

  • varje komponent stoppas;
  • varje beständig volym ersätts med sin kopia från ögonblicksbilden;
  • komponenterna startar igen, och krokar Efter en återställning körs.

De tidigare volymerna behålls i sju dagar och tas sedan bort. Följ återställningen på instansens flik Operations; en återställning som inte är klar efter 45 minuter misslyckas. En instans som var stoppad före återställningen förblir stoppad.

Om återställningen misslyckas startar plattformen instansen igen och operationen säger varför. När kopieringen från ögonblicksbilden misslyckas eller inte blir klar i tid läggs de tidigare volymerna tillbaka först.

Se upp

Ett fel av något annat slag medan volymerna byts ut — ett fel från klustret, till exempel — startar instansen igen utan att lägga tillbaka de tidigare volymerna, så den kan komma upp med tomma volymer. De tidigare volymerna behålls fortfarande i sju dagar, men plattformen har inget sätt att koppla in dem igen; kontakta din plattformsadministratör direkt.

Med CLI:t, som frågar innan det börjar:

bash
stsh ci snapshot restore web -g my-resource-group <snapshot-id>

Ta bort en ögonblicksbild

Välj papperskorgsikonen på ögonblicksbilden och bekräfta med Ta bort, eller:

bash
stsh ci snapshot delete web -g my-resource-group <snapshot-id>