Een virtuele machine herstellen
Herstel een back-uppunt naar een nieuwe of dezelfde virtuele machine en controleer de herstelde machine op een quarantainenetwerk, op verzoek of 's nachts.
Een herstel schrijft de inhoud van een back-uppunt terug naar schijf, in een nieuwe virtuele machine of in dezelfde. Kyvernon herstelt de back-uppunten die het zelf heeft gemaakt, en de schijven die back-upsoftware via de sessie-API schrijft. Het kan de herstelde machine daarna starten op een netwerk zonder uitgang en vastleggen of ze is opgestart. De concepten staan in Back-upconcepten.
U hebt de bovenstaande bevoegdheden nodig, plus leestoegang tot de virtuele machine. Een controle heeft een quarantainenetwerk nodig, dat de eerste sectie maakt.
In de console
Een quarantainenetwerk maken
Een quarantainenetwerk is een hostbridge-netwerk zonder uplink, gateway en DNS. Gasten erop bereiken alleen elkaar en de DHCP-responder van de hostagent.
Selecteer in de inventaris het datacenter en selecteer Nieuw netwerk.
(Groter weergeven)
- Vul het netwerk in zoals bij elk hostbridge-netwerk en selecteer Quarantainenetwerk (geen uplink, geen gateway, geen DNS). Het gatewayveld van het dialoogvenster dient dan als DHCP-serveridentificatie en er wordt geen DNS-server verstuurd. Gebruik een adres van het subnet dat niets anders gebruikt.
- Selecteer Aanmaken.
Een back-uppunt herstellen
- Selecteer de virtuele machine in de inventaris en open het tabblad Back-up.
Selecteer Herstellen op de rij van het punt.
(Groter weergeven)
- Kies onder Herstellen naar de optie Een nieuwe virtuele machine om het origineel ongemoeid te laten, of Dezelfde virtuele machine, ter plaatse om de schijven te vervangen.
- Vul voor een nieuwe machine Naam van de nieuwe virtuele machine in en kies Map en Datastore.
- Vink Het herstelde exemplaar verifiëren op een quarantainenetwerk aan om de nieuwe machine in dezelfde stap te controleren en vul de velden in die hieronder bij de controle staan.
- Bij een herstel ter plaatse moet de virtuele machine zijn uitgeschakeld. De schijven worden vervangen door de inhoud van het punt en wijzigingen sindsdien gaan verloren. Typ de naam van de virtuele machine om te bevestigen.
- Selecteer Herstellen. De taak staat in Taken. Na een herstel naar een nieuwe machine opent de console die machine.
Een herstel ter plaatse vervangt de schijven van de virtuele machine met dezelfde apparaatsleutels als de schijven van het punt. Als er iets mislukt, worden de oude schijven teruggezet. Na een geslaagd herstel worden de vervangen schijfimages van de host verwijderd.
De herstelde schijf begint een nieuwe registratieperiode, dus de volgende back-up van de virtuele machine is volledig.
Een herstelde virtuele machine controleren
Een controle schakelt de virtuele machine in op het quarantainenetwerk. Ze slaagt wanneer vóór de tijdslimiet het volgende allemaal waar is: de virtuele machine draait en haar seriële console toont een besturingssysteemmarkering, de DHCP-responder van de hostagent heeft een bevestiging gestuurd naar een van haar netwerkadapters en, wanneer u poorten opgeeft, een TCP-verbinding van de host naar elke poort slaagt. Elke netwerkadapter van de virtuele machine moet op het quarantainenetwerk staan.
Open het tabblad Back-up van de herstelde virtuele machine en selecteer Verifiëren op quarantainenetwerk.
(Groter weergeven)
- Kies Quarantainenetwerk. Zonder quarantainenetwerk toont het dialoogvenster Er is geen quarantainenetwerk.
- Vul TCP-poorten om te controleren in, gescheiden door komma's, of laat het leeg om geen poort te controleren. Vul Tijdslimiet (seconden) in: standaard 300 seconden, van 1 tot 3.600.
- Vink De machine na de uitslag verwijderen aan om de virtuele machine na het oordeel te verwijderen; anders blijft ze uitgeschakeld bestaan.
- Selecteer Verificatie starten. Het dialoogvenster volgt de controle tot het oordeel. Een tweede verzoek terwijl er een loopt, wordt geweigerd met
backup.verify.already_running.
De kaart Laatste verificatie van herstel toont de status (Bezig, Geslaagd of Mislukt), de reden van een mislukking en het bewijs: Netwerk, Opstarten, Besturingssysteem, Adres, TCP-poorten en Duur.
| Reden | Betekenis |
|---|---|
backup.verify.boot_timeout | De virtuele machine bereikte niet op tijd de status actief. |
backup.verify.no_os_marker | De console toonde geen teken van een besturingssysteem. |
backup.verify.no_lease | De virtuele machine kreeg geen adres. |
backup.verify.no_tcp | Een TCP-poort antwoordde niet. |
backup.verify.transport | De herstelde schijf was niet bereikbaar vanaf deze host. |
Elk oordeel wordt ook vastgelegd als gebeurtenis van de virtuele machine, als auditrecord en in het aangepaste veld backup.verified van de bronmachine, bijvoorbeeld passed;runAt=1793000000. Wanneer een herstel het punt in quarantaine controleert, wordt van het punt een aparte virtuele machine gemaakt op het quarantainenetwerk en beoordeeld zoals hier beschreven; de herstelde virtuele machine zelf wordt niet verplaatst. Mislukt de controle, dan mislukt de hersteltaak met error.backup.verify_failed en blijft de herstelde virtuele machine staan.
Elke nacht controleren
De controller kan de controle uitvoeren voor elke virtuele machine met het aangepaste veld backup.verify met de waarde true. Hij herstelt de nieuwste opgeslagen back-up van elke machine naar een nieuwe virtuele machine op het quarantainenetwerk, beoordeelt die en legt het oordeel vast. De opgeslagen back-ups moeten staan in een map waar de controller ze vindt: <root>/<instance uuid>/<session id>/manifest.json met één ruw image disk-<deviceKey>.raw per schijf, elk zo groot als de schijf. De punten die de controller zelf maakt, staan in deze indeling. Back-upsoftware die de opslagplaats elders bewaart, stelt het image eerst daar samen.
Open op de pagina Back-up het tabblad Instellingen.
(Groter weergeven)
- Vul Back-uprepository in, de map op de controller waar de opgeslagen back-ups staan.
- Vul onder Verificatie van herstel Nachtelijke verificatie in: een tijdstip van de dag in UTC zoals 02:30, of een interval zoals 6h. Leeg betekent geen nachtelijke taak.
- Kies Quarantainenetwerk, vul Tijdslimiet (seconden) in en eventueel Datastore voor herstelde schijven. Leeg neemt de eerste bruikbare datastore. Vink De machine na de uitslag verwijderen aan zoals hierboven.
- Selecteer Opslaan.
Open het tabblad Verificatie en selecteer Nu verificatie uitvoeren om de taak nu uit te voeren. Hij draait op de achtergrond.
(Groter weergeven)
De tabel toont de laatste uitvoering van elke virtuele machine met Uitslag en Reden; selecteer Tonen voor het bewijs. De melding Gemarkeerd voor verificatie en nooit geverifieerd: onder de tabel noemt de gemarkeerde virtuele machines die nooit zijn gecontroleerd. Het overzicht toont de aantallen Geslaagd, Mislukt en Nooit geverifieerd.
Beperkingen
- Eén quarantainesegment per host; er is geen controle tussen hosts.
- In deze versie moet de controller draaien op de host van de herstelde virtuele machine: images worden geschreven via een lokale socket en externe exports worden geweigerd met
backup.verify.transport. - Een diepere controle dan een TCP-verbinding, zoals een database-handshake, vraagt een agent in de gast en is werk van de back-upsoftware.
- De nachtelijke taak controleert geen TCP-poorten; gebruik de controle van één virtuele machine wanneer u TCP-bewijs nodig hebt.
Automatisering
Een back-uppunt herstellen
Een back-uppunt dat de controller heeft gemaakt (zie Een virtuele machine back-uppen) herstelt u met één verzoek, zoals de console doet.
Met de CLI
kyvernon backup restore-point <id> --name web-01-restored --datastore ds-local-01 --power-on --wait
kyvernon backup restore-point <id> --in-place --wait
kyvernon backup restore-point <id> --verify-network restore-quarantine --wait--in-place kiest de modus ter plaatse; zonder die optie maakt het herstel een nieuwe virtuele machine. --name, --datastore en --power-on gelden voor een nieuwe virtuele machine. --wait wacht tot de taak klaar is.
Met de API
POST /v1/backup/points/{id}/restore neemt een mode:
new, de standaardwaarde, maakt een nieuwe virtuele machine van het punt. De velden zijnname,folderId,datastoreId,hostIdenpowerOn. De taak isVirtualMachine.restoreBackup.in-placeherstelt op de oorspronkelijke virtuele machine. De taak isVirtualMachine.restoreBackupInPlace. De virtuele machine moet uitgeschakeld zijn; anders mislukt het verzoek meterror.backup.vm_powered_on. Het vraagtVirtualMachine.Config.AddNewDiskenVirtualMachine.Config.RemoveDiskop de virtuele machine. De schijven van het punt vervangen de schijven van de virtuele machine met dezelfde apparaatsleutels. Als er iets mislukt, worden de oude schijven teruggezet. Na een geslaagd herstel worden de vervangen schijfimages van de host verwijderd.
Het optionele object verify heeft network, timeoutSeconds, destroy, serialMarkers en tcpPorts. Het vraagt Global.Settings. Na het herstel verifieert de controller het punt in quarantaine. Mislukt de verificatie, dan mislukt de taak met error.backup.verify_failed en blijft de herstelde virtuele machine staan.
Een schijf herstellen
Een herstel via de sessie-API schrijft een volledig schijfimage naar een nieuwe schijf van een virtuele machine. De back-upsoftware leest haar eigen opslagplaats en schrijft het image via een beschrijfbare export. Dit is de enige manier om één schijf te herstellen naar een bestaande virtuele machine; de console herstelt naar een nieuwe virtuele machine of ter plaatse.
Maak de virtuele doelmachine, of gebruik een uitgeschakelde; haar instantie-UUID identificeert haar.
Met de CLI
Begin het herstel. capacity is de grootte van de schijf in bytes, pool de datastore voor de nieuwe schijf en deviceKey de sleutel die de schijf in de virtuele machine krijgt:
kyvernon backup restores begin --body '{
"vmId": "9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42",
"deviceKey": 2000,
"capacity": 107374182400,
"pool": "ds-local-01",
"thin": true
}'Het antwoord bevat een beschrijfbare export, met dezelfde transportregels als een back-upexport. Schrijf het image erheen en leg de schijf vast, of verwerp haar wanneer de kopie is mislukt:
kyvernon backup restores finish 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 2000
kyvernon backup restores finish 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 2000 --discardControleer de herstelde virtuele machine en lees het resultaat. --destroy verwijdert de virtuele machine na het oordeel; zonder die optie blijft de virtuele machine uitgeschakeld bestaan:
kyvernon backup restores verify 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 \
--network restore-quarantine --timeout 300 --destroy
kyvernon backup restores get 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42restores get toont de status (running, passed of failed), de reden van een mislukking en het bewijs: consoleuitvoer, het toegewezen adres en de poortresultaten. Om in hetzelfde verzoek als het herstel te controleren, zet u verify met dezelfde velden in de begin-body van de laatste schijf; de controle begint wanneer die schijf is vastgelegd.
Voer de nachtelijke taak nu uit en lees het rapport, dat de laatste uitvoering per virtuele machine toont en de gemarkeerde virtuele machines die nooit zijn gecontroleerd. Uitvoeren vraagt de bevoegdheid Global.Settings:
kyvernon backup verification run
kyvernon backup verification reportMet de API
De aanroepen hieronder herstellen naar een schijf en verifiëren het resultaat.
| Stap | Verzoek |
|---|---|
| Een herstel beginnen | POST /v1/backup/restores met vmId, deviceKey, capacity, pool, thin en eventueel verify |
| Afronden | POST /v1/backup/restores/{vmId}/disks/{deviceKey}/finish met {"commit": true} of false |
| Controleren | POST /v1/backup/restores/{vmId}/verify met network, timeoutSeconds, destroy, serialMarkers en tcpPorts |
| Een controle lezen | GET /v1/backup/restores/{vmId} |
| De nachtelijke taak uitvoeren | POST /v1/backup/verification/run |
| Laatste uitvoering per virtuele machine | GET /v1/backup/verification |
| Een quarantainenetwerk maken | POST /v1/networks met backing.quarantine: true en backing.ipv4 met een DHCP-serveridentificatie, zonder gateway en dnsServers |
De controller publiceert ook kyvernon_backup_verification_ok{vm}, kyvernon_backup_verification_last_run_timestamp_seconds{vm} en kyvernon_backup_verification_duration_milliseconds{vm} op /metrics.
Zie ook
Versie 0.1. Laatst gewijzigd: 2026-11-14