Hoppa till innehållet
Stackship-dokumentation English

Stackship-plattformenAnvändareMaskinöversatt

Fel vid ögonblicksbilder

Varför plattformen vägrar ta eller återställa en ögonblicksbild av ett PostgreSQL-kluster, en SQL Server-instans eller en containerinstans, och vad du gör åt varje avvisning.

PostgreSQL-kluster, SQL Server-instanser och containerinstanser kan få ögonblicksbilder tagna och återställda via de här rutterna under /boundaries/{boundaryId}/resourcegroups/{resourceGroupName}/resources/{type}, där {type} är postgresclusters, sqlserverclusters eller containerinstances:

Rutt Vad den gör
POST /{name}/snapshots Tar en ögonblicksbild
POST /{name}/snapshots/{snapshotId}/restore Återställer en ögonblicksbild, om du vill till en tidpunkt med {"targetTime": "…"}
PUT /{name}/backup-policy Ställer in schemat för ögonblicksbilder — bara containerinstanser

Hur du gör samma sak i portalen och med CLI:t beskrivs för PostgreSQL, SQL Server och containerinstanser.

Avvisningen

När resursen inte kan få en ögonblicksbild tagen eller återställd som den ser ut nu svarar rutten 422 i problemformatet, och ingenting startas:

json
{
  "type": "…",
  "title": "nothing-to-back-up",
  "status": 422,
  "detail": "Container instance 'web' declares no persistent volume, so there is nothing to snapshot.",
  "code": "nothing-to-back-up",
  "remediation": "Add a persistent volume to a component to make the instance backupable.",
  "module": "containerinstances",
  "correlationId": "3f2b9c1e-6d4a-4e0b-9a51-2c7d8e0f4b6a"
}

Både title och code innehåller koden, detail säger vad som är fel med den här resursen, och remediation säger vad du gör. module är db-postgres, db-sqlserver eller containerinstances, beroende på vilken modul som betjänar rutten; koderna dokumenteras här, under plattformens kärna, eftersom resurstyperna delar dem. Ett id för en ögonblicksbild som inte finns svarar i stället 404 med NOT_FOUND.

backups-not-configured

Status 422. Bara PostgreSQL-kluster, på rutterna för att ta och återställa.

Säkerhetskopiering är avslagen på klustret, så det har inget arkiv att ta en ögonblicksbild till eller att återställa från.

Vad du gör: slå på säkerhetskopiering för klustret — se Slå på säkerhetskopiering — vänta på det första arkivet och försök igen.

archiving-failing

Status 422. Bara PostgreSQL-kluster, på rutterna för att ta och återställa.

Säkerhetskopiering är på, men klustret rapporterar att det inte kan skriva sitt arkiv; detail innehåller klustrets orsak. Så länge arkivet inte fungerar skulle en ögonblicksbild aldrig bli klar. Innan ett kluster har rapporterat något om sitt arkiv tas en ögonblicksbild emot och blir kvar som pågående.

Vad du gör: oftast är det säkerhetskopieringslagret som är orsaken, och det är plattformens operatörer som åtgärdar det — se När arkiveringen misslyckas. Försök igen när arkiveringen fungerar.

bootstrap-pending

Status 422. Bara SQL Server-instanser, på rutten för att ta en ögonblicksbild.

Instansen har inte skapat klart sin första databas, så en ögonblicksbild skulle inte innehålla den. En instans som skapats utan första databas, vilket API:t och CLI:t tillåter, fortsätter att svara med den här koden — se Ta en ögonblicksbild.

Vad du gör: vänta tills instansen rapporterar Running med sin databas skapad, och försök igen.

nothing-to-back-up

Status 422. Bara containerinstanser, på rutterna för att ta en ögonblicksbild och ställa in säkerhetskopieringspolicyn.

Instansen har ingen beständig volym, så det finns inget att ta en ögonblicksbild av eller att schemalägga.

Vad du gör: lägg till en beständig volym på någon av instansens komponenter om dess data ska säkerhetskopieras.

snapshot-not-usable

Status 422, på rutten för att återställa, för alla tre resurstyperna.

Återställningen kan inte göras från den här ögonblicksbilden, eller till den begärda tidpunkten. detail och remediation säger vilket:

Resurstyp Orsak remediation
SQL Server, containerinstanser Ögonblicksbilden är inte klar än "Wait for the snapshot to complete."
SQL Server, containerinstanser Ögonblicksbilden misslyckades eller lyckades bara delvis "Take a new snapshot."
SQL Server, containerinstanser targetTime skickades; de här typerna kan inte återställas till en tidpunkt "Restore from a snapshot instead."
PostgreSQL Ögonblicksbilden är inte klar "Wait for the snapshot to complete, or take a new one."
PostgreSQL targetTime ligger före klustrets arkiv, eller i framtiden "Pick a time inside the recovery window."

Vad du gör: följ remediation. En ögonblicksbild vars status inte går vidare till Klar blir inte användbar; ta en ny. För ett PostgreSQL-kluster anger GET /{name}/snapshots/pitr-window vilka tidpunkter du kan återställa till — se Återställ till en tidpunkt.