Werkwijze Voor: beheerders, ontwikkelaars

Een virtuele machine back-uppen

Maak een back-up van een virtuele machine op het tabblad Back-up, op verzoek of volgens schema, stel de repository in of gebruik eigen software.

Een back-up maakt een consistent tijdstip van elke schijf van een virtuele machine met wijzigingsregistratie. De eerste back-up is volledig, de volgende zijn incrementeel. Kyvernon kan de back-up zelf maken: de controller leest elke schijf en schrijft die naar een repository, op verzoek of volgens een schema. Back-upsoftware kan de stappen ook zelf uitvoeren via de sessie-API; dat staat aan het einde van deze pagina. Achter elke back-up zit één sessie van de back-up-API; de concepten staan in Back-upconcepten.

Als wijzigingsregistratie uit staat, toont het tabblad Wijzigingsregistratie staat uit voor de schijven van deze virtuele machine. De eerste back-up schakelt ze in en kopieert de volledige schijven; latere back-ups kopiëren alleen de wijzigingen. Een back-up door de controller schakelt ze eerst in, dus de eerste back-up is volledig. U hebt de bovenstaande bevoegdheden op de virtuele machine nodig, en de bevoegdheid Global.Settings om schema's te maken of te verwijderen.

In de console

De repository instellen

De controller schrijft de back-uppunten naar een repository, een map waarin hij kan schrijven. Stel die in vóór de eerste back-up.

  1. Selecteer op de pagina Start de optie Back-up en open het tabblad Instellingen.

    Back-upinstellingen (Groter weergeven)
  2. Vul Back-uprepository in. Met meerdere controllers moet het gedeelde opslag zijn die op hetzelfde pad is gekoppeld.
  3. Kies Standaard quiesce, de quiescering die een back-up gebruikt wanneer het verzoek er geen opgeeft.
  4. Selecteer Opslaan. Elke controller past de wijziging binnen ongeveer 10 seconden toe.

Een virtuele machine back-uppen

  1. Selecteer de virtuele machine in de inventaris en open het tabblad Back-up. De tabel Back-uppunten toont de back-uppunten met Gemaakt, Type, Consistentie, Grootte, Schijven en Geverifieerd.

    Tabblad Back-up van een virtuele machine met back-uppunten (Groter weergeven)
  2. Selecteer Nu back-uppen.
  3. Kies Quiesce. Bij voorkeur vraagt de gastagent de bestandssystemen te bevriezen wanneer die draait en maakt anders een crashconsistent punt. Vereist mislukt wanneer het bevriezen mislukt. Geen (crash-consistent) maakt een crashconsistent punt.
  4. Selecteer Een volledige back-up maken om elk toegewezen blok opnieuw te kopiëren terwijl een incrementele back-up mogelijk is. Een wijzigings-id wordt verouderd na het vergroten van de schijf, het terugzetten naar een snapshot of een herstel op de schijf; de volgende back-up van die schijf moet dan volledig zijn.
  5. Selecteer Nu back-uppen in het dialoogvenster. De taak staat in Taken. Het nieuwe punt verschijnt in de tabel, met het type Volledig of Incrementeel en de consistentie Crash-consistent of Bestandssysteem-consistent.

Een back-up is incrementeel wanneer het nieuwste punt van de virtuele machine wijzigings-id's voor de schijven heeft. De controller kopieert dan het vorige image en schrijft de gewijzigde gebieden op de kopie. Elk punt bevat dus hele images en kan afzonderlijk worden hersteld of verwijderd.

Selecteer Verwijderen op de rij van een punt en bevestig om het te verwijderen. Het punt kan dan niet meer worden hersteld.

Een cluster of map volgens een schema back-uppen

Een schema maakt op een tijdstip van de dag in UTC een back-up van elke virtuele machine van een cluster of map die wijzigingsregistratie heeft. De leader-controller controleert de schema's elke 20 seconden.

  1. Selecteer op de pagina Start de optie Back-up en open het tabblad Schema's.

    Back-upplanningen (Groter weergeven)
  2. Selecteer Nieuw schema.
  3. Vul Naam in en kies Dekt, een cluster of een map. Het bereik kan na het maken van het schema niet meer worden gewijzigd.
  4. Kies Quiesce zoals hierboven.
  5. Kies Herhaalt: Elke dag of Op gekozen weekdagen. Vul Tijdstip van de dag (UTC) in als uren en minuten in UTC, bijvoorbeeld 01:30. Vink voor een wekelijks schema de Weekdagen aan.
  6. Vul Volledige back-up elke in: elke zoveel punten een volledige back-up, waarbij 1 elk punt volledig maakt. Vul Bewaarde punten in: oudere punten van elke virtuele machine worden verwijderd.
  7. Laat Ingeschakeld aan staan en selecteer Opslaan.

    Venster Nieuwe back-upplanning (Groter weergeven)

De tabel toont Wanneer, Volgende uitvoering en de status Ingeschakeld of Uitgeschakeld. Selecteer Bewerken om een schema te wijzigen of Verwijderen om het te stoppen: bestaande punten blijven. Een schema dat u wijzigt, telt zijn volgende uitvoering vanaf het moment van de wijziging.

De sessies volgen

  1. Open op de pagina Back-up het tabblad Sessies.

    Back-up- en herstelsessies (Groter weergeven)
  2. Lees Virtuele machine, Gemaakt, Status, Quiesce, Grootte en Gestart door. Een sessie is één uitvoering van de back-up-API, gestart door de console, een schema of back-upsoftware.
StatusBetekenis
AangevraagdDe controller heeft het verzoek geaccepteerd.
Snapshot gemaaktDe host heeft het tijdstip van de schijven vastgelegd.
KopiërenDe schijven worden aangeboden om te kopiëren.
VoltooidDe back-up is klaar en de wijzigings-id's zijn geldig.
AfgebrokenDe client meldde een fout of de host faalde. De vorige wijzigings-id's blijven geldig en de volgende incrementele back-up bevat ook de wijzigingen van de mislukte uitvoering.
VerlopenDe sessie is niet binnen haar levensduur levend gehouden, standaard 6 uur en ten hoogste 48 uur.

Een virtuele machine heeft ten hoogste één actieve sessie. De controller houdt de laatste 1.024 beëindigde sessies leesbaar. Het tabblad Back-up van een virtuele machine toont de sessies van die machine.

De back-upservice controleren

Op het tabblad Overzicht toont de kaart Back-upservice de API-versie, de Functies, de Granulariteit van tracking (64 KiB), de Langste sessie en de status van Exports naar andere machines. Exports naar andere machines staan uit totdat de operator ze inschakelt in de controllerconfiguratie en de controller herstart; zie Configuratie. Een controller op een andere machine dan de host van de virtuele machine heeft ze nodig om zelf back-ups te maken: hij leest de schijven dan over TCP en TLS 1.3 en pint het certificaat met de vingerafdruk die de host meldt. Zonder exports is de export een Unix-socket op de host. Back-upsoftware die schijven vanaf een andere machine leest, heeft ze ook nodig.

Staat wijzigingsregistratie voor de virtuele machine uit, dan zet een back-up die de controller maakt haar eerst aan, als herconfiguratietaak.

Resultaat

De tabel Back-uppunten van de virtuele machine bevat het nieuwe punt en de sessie is Voltooid. De repository bevat het punt als <repository>/<instance-UUID van de virtuele machine>/<punt-id>/disk-<deviceKey>.raw, één bestand per schijf, met manifest.json ernaast. De controller schrijft manifest.json als laatste, nadat de sessie haar wijzigings-id's heeft vastgelegd. Wanneer back-upsoftware in plaats daarvan de back-up-API gebruikt, bewaart Kyvernon geen kopie van de gegevens: de software leest de schijven via de exports en bewaart ze in een eigen opslagplaats.

Weigeringen en fouten

Bericht-idBetekenis en oplossing
backup.vm.no_tracked_disksDe virtuele machine heeft geen schijf met wijzigingsregistratie. Schakel Wijzigingen bijhouden in bij de hardware-instellingen.
backup.disk.cbt_disabledWijzigingsregistratie staat uit voor de schijf. Schakel die in bij de hardware-instellingen.
backup.change_id.staleDe wijzigings-id is niet meer geldig. Maak een volledige back-up.
backup.session.vm_busyVoor de virtuele machine loopt al een andere sessie. Probeer het later opnieuw.
backup.session.limitEr zijn te veel actieve sessies. Probeer het later opnieuw.
backup.checkpoint.bitmap_missingDe registratiegegevens ontbreken. Beëindig de sessie als mislukt en maak een volledige back-up.
backup.agent.timeoutDe host antwoordde niet en de sessie is afgebroken. Probeer het opnieuw.

Automatisering

De CLI en de API doen wat de console doet, en met de sessie-API kan back-upsoftware de back-up zelf maken. Gebruik een account met de bovenstaande bevoegdheden op de virtuele machine, bij voorkeur een API-token van een serviceaccount.

Het herstellen van één schijf naar een bestaande virtuele machine, vanuit de opslagplaats van back-upsoftware, gebeurt alleen via de API; zie Een virtuele machine herstellen.

Met de CLI

Maak een back-uppunt van een virtuele machine, toon de punten en verwijder er een, zoals de console:

Shell
kyvernon vm backup vm-42
kyvernon backup points
kyvernon backup delete-point <point-id>

Start een back-up en wacht tot de taak klaar is:

Shell
kyvernon vm backup <vm> --wait
kyvernon vm backup <vm> --quiesce REQUIRED --wait
kyvernon vm backup <vm> --full --wait

--quiesce is NONE, PREFERRED of REQUIRED; zonder die optie geldt de standaardquiescering van de back-upinstellingen. --full dwingt een volledige overdracht af.

Toon de back-uppunten van één virtuele machine:

Shell
kyvernon backup points --vm <vm>

Met de API

POST /v1/backup/points met {"vmId": "...", "quiesce": "PREFERRED", "full": false} start de taak VirtualMachine.backupToRepository. quiesce en full zijn optioneel. Het verzoek vraagt VirtualMachine.Provisioning.DiskRandomRead en VirtualMachine.State.CreateSnapshot op de virtuele machine. De controller begint een back-upsessie, leest elke schijf via haar NBD-export naar de repository en schrijft manifest.json als laatste. full: true dwingt een volledige overdracht af.

GET /v1/backup/points toont de punten. Elk punt heeft kind (full of incremental), consistency (CRASH_CONSISTENT of FILESYSTEM_CONSISTENT) en verified, het resultaat van de laatste verificatie van dat punt. DELETE /v1/backup/points/{id} verwijdert een punt.

Back-upschema's

Een schema back-upt op vaste tijden elke virtuele machine onder een inventarisobject. Een schema verwijderen laat zijn punten staan.

VeldBetekenis
nameNaam van het schema.
enabledOf het schema draait.
scopeInventaris-id van een map, datacenter, cluster, resourcepool, host of virtuele machine. Elke virtuele machine eronder wordt geback-upt.
frequencydaily of weekly.
hour, minuteTijdstip van de dag in UTC.
weekdaysAlleen wekelijks, minstens één: 0 is zondag.
quiesceNONE, PREFERRED of REQUIRED.
fullEveryEen volledige overdracht om de n punten. 1 maakt elk punt volledig. Standaard 7.
retentionBewaarde punten per virtuele machine. 0 bewaart alles. Standaard 14.

De weergaven voegen scopeName, lastRunAt, nextRunAt en lastResult (success of failure) toe; die laatste wordt geschreven wanneer alle back-ups van de uitvoering zijn afgelopen.

Met de CLI

Shell
kyvernon backup schedules list
kyvernon backup schedules create nightly --scope <id> --hour 1 --minute 30 --retention 14
kyvernon backup schedules create weekend --scope <id> --hour 3 --frequency weekly \
  --weekday 6 --weekday 0 --full-every 2
kyvernon backup schedules update <id> --name nightly-db --hour 2
kyvernon backup schedules run <id>
kyvernon backup schedules delete <id>

create accepteert ook --quiesce Q en --disabled. update accepteert dezelfde opties als create. get <id> toont één schema en run <id> start het nu.

Met de API

GET en POST /v1/backup/schedules, GET, PUT en DELETE /v1/backup/schedules/{id}, en POST /v1/backup/schedules/{id}/run. Een schema wijzigen vraagt Global.Settings; lezen vraagt System.Read.

Back-upinstellingen

De instellingen zeggen waar de punten staan en hoe ze worden geverifieerd. Elke controller past een wijziging binnen ongeveer 10 seconden toe.

VeldBetekenis
repositoryAbsolute map die de controller kan aanmaken. Met meerdere controllers moet het gedeelde opslag zijn die op hetzelfde pad is gekoppeld.
defaultQuiesceQuiescering die geldt wanneer een verzoek er geen opgeeft.
remoteExportsAlleen lezen. Stel remote_exports in controller.toml in.
verifyScheduleTijdstip van de dag in UTC (02:30) of een interval (6h). Leeg: uit.
verifyNetworkHet quarantainenetwerk voor de verificatie.
verifyTimeoutSeconds30 tot 3600.
verifyDestroyDe verificatie-VM na haar oordeel verwijderen.
verifyPoolNaam van de datastore voor de verificatieschijven. Leeg: de eerste bruikbare.

De instellingen staan in de gerepliceerde store. Een veld dat nooit in de console is gewijzigd, toont de waarde uit de sectie [backup] van controller.toml (verify_repository, verify_schedule, verify_network, verify_timeout, verify_destroy, verify_pool). Een controller op een andere machine dan de host van de virtuele machine vraagt remote_exports = true in die sectie. Zie Een virtuele machine herstellen voor de verificatie.

Met de CLI

Shell
kyvernon backup settings get
kyvernon backup settings set --repository /srv/backup-repo --default-quiesce PREFERRED
kyvernon backup settings set --verify-schedule 02:30 --verify-network restore-quarantine \
  --verify-timeout 300 --verify-destroy true --verify-pool ds-local-01

Opties die u niet opgeeft, behouden hun waarde.

Met de API

GET /v1/backup/settings vraagt System.Read. PUT /v1/backup/settings vraagt Global.Settings en wordt geauditeerd.

Met eigen back-upsoftware

Back-upsoftware kan de stappen van een back-up zelf uitvoeren via de sessie-API. De sessie geeft een consistent tijdstip, de lijst van te kopiëren gebieden en een alleen-lezen export van elke schijf. De software kopieert de gegevens naar haar eigen repository. De virtuele machine wordt geïdentificeerd met haar instance-UUID, niet met haar inventaris-id.

De virtuele machine vraagt wijzigingsregistratie: change_tracking in haar configuratie (changeTrackingEnabled voor vSphere-tools). Zonder die instelling mislukt het verzoek met backup.disk.cbt_disabled of backup.vm.no_tracked_disks. Lezen buiten de host vraagt remote_exports = true in de sectie [backup] van controller.toml.

Met de CLI

Controleer of de service antwoordt en bekijk haar grenzen:

Shell
kyvernon backup info

Begin een back-up van één schijf. since is * voor alles wat is toegewezen, of de wijzigings-id die de vorige voltooide back-up voor deze schijf teruggaf. Met "disks": [] wordt van elke schijf met wijzigingsregistratie een volledige back-up gemaakt:

Shell
kyvernon backup sessions begin --body '{
  "vmId": "6f1c3a52-8d0e-4b8f-9a35-0f5d2c7e9b11",
  "disks": [{"deviceKey": 2000, "since": "*"}],
  "quiesce": "PREFERRED",
  "fallbackToFull": true,
  "ttlSeconds": 21600
}'

Het antwoord is de sessie. Per schijf bevat het export (host, poort, TLS-vingerafdruk, exportnaam met het sessietoken), changeId (de waarde die u bewaart wanneer de back-up klaar is) en incremental (onwaar wanneer een volledige back-up is gemaakt omdat de wijzigings-id verouderd was).

Toon de te kopiëren gebieden, pagina per pagina, totdat de offset de capaciteit van de schijf bereikt. Maak verbinding met de export met een NBD-client die TLS 1.3 ondersteunt, pin de certificaatvingerafdruk van de sessie en lees de gebieden. Verleng bij een lange kopie de sessie vóór de deadline:

Shell
kyvernon backup sessions changed-areas <session-id> 2000 --start-offset 0 --max-areas 4096
kyvernon backup sessions keepalive <session-id>

Beëindig de sessie. Meld alleen SUCCESS wanneer elk gebied is gekopieerd, en bewaar de wijzigings-id's van de schijven nadat de sessie COMPLETED toont:

Shell
kyvernon backup sessions end <session-id> --outcome SUCCESS
kyvernon backup sessions get <session-id>
kyvernon backup sessions list --vm 6f1c3a52-8d0e-4b8f-9a35-0f5d2c7e9b11

Herhaal voor de volgende incrementele back-up begin met de bewaarde wijzigings-id als since. Een sessie die eindigt als ABORTED of EXPIRED geeft geen geldige wijzigings-id.

Met de API

De back-uppunten van de console zijn POST /v1/backup/points (er een maken), GET /v1/backup/points (tonen) en DELETE /v1/backup/points/{id}. De sessie-API hieronder is die van back-upsoftware.

StapVerzoek
MogelijkhedenGET /v1/backup/info
BeginnenPOST /v1/backup/sessions met vmId, disks, quiesce, fallbackToFull, ttlSeconds
Een sessie lezenGET /v1/backup/sessions/{id}, GET /v1/backup/sessions?vmId=
Gewijzigde gebiedenGET /v1/backup/sessions/{id}/disks/{deviceKey}/changed-areas?startOffset=&maxAreas=
Levend houdenPOST /v1/backup/sessions/{id}/keepalive
BeëindigenPOST /v1/backup/sessions/{id}/end met {"outcome": "SUCCESS"} of FAILURE
Wijzigingsregistratie van een schijf herstartenPOST /v1/backup/disks/{diskId}/invalidate met vmId en reason

startOffset moet een veelvoud zijn van de granulariteit van 64 KiB die info meldt. Wijzigings-id's zijn ondoorzichtig: bewaar ze als tekenreeksen en geef ze ongewijzigd terug.

Resultaat

De repository van de back-upsoftware bevat de schijfinhoud op het back-uppunt, en het wijzigings-id van elke schijf is opgeslagen voor de volgende incrementele back-up.

Te verwerken fouten

BerichtsleutelActie
backup.change_id.staleMaak een volledige back-up (*) of stel fallbackToFull in.
backup.session.vm_busyEr loopt al een andere sessie voor de virtuele machine. Probeer het later opnieuw.
backup.session.limitTe veel actieve sessies. Probeer het later opnieuw.
backup.disk.cbt_disabledSchakel wijzigingsregistratie van de virtuele machine in.
backup.checkpoint.bitmap_missingBeëindig de sessie met FAILURE en maak een volledige back-up.
backup.agent.timeoutDe host antwoordde niet en de sessie is afgebroken. Probeer het opnieuw.

Versie 0.1. Laatst gewijzigd: 2026-11-14