Werkwijze Voor: beheerders

Een back-up van de controller maken

Maak een back-up van de status van de controller in de console, op verzoek of volgens schema, en herstel haar op dezelfde of een nieuwe machine.

De controller bewaart zijn status in één map, /var/lib/kyvernon/controller. Die bevat de inventaris, de gebruikers, rollen en machtigingen, de taken, gebeurtenissen en auditrecords, de licentie, de sleutels van de installatie en het TLS-certificaat dat hosts vertrouwen. Een kopie van die map en van de configuratie herstelt de controller.

De kopie bevat geen schijven van virtuele machines of bestanden van datastores: die staan op de hosts en op de opslag erachter. Maak daarvan een back-up zoals beschreven in Een virtuele machine back-uppen. Een kopie starten vraagt de bevoegdheid Global.Settings.

In de console

  1. Selecteer op de pagina Start de optie Back-up. Het tabblad Overzicht opent.
  2. Lees de kaart Back-up van de controller. Status is In orde, De laatste back-up is mislukt of Uitgeschakeld. De kaart toont ook Laatste back-up, Grootte van de laatste kopie, Volgende back-up, Schema, Bewaarde kopieën, de map Kopieën gaan naar en de map Gekopieerde statusmap.

    Overzicht van back-ups met de back-up van de controller (Groter weergeven)
  3. Selecteer Nu een back-up van de controller maken. De taak staat in Taken en de kaart toont na afloop de nieuwe tijd en grootte.
  4. Wanneer de laatste kopie is mislukt, toont de kaart de fout. Los de oorzaak op, bijvoorbeeld een volle schijf bij het doel, en selecteer opnieuw Nu een back-up van de controller maken.
  5. Om te wijzigen wanneer kopieën worden gemaakt, kiest u Schema wijzigen. Schakel Back-ups van de controller maken in of uit, voer de map in onder Kopieën gaan naar, het Schema als een tijdstip in UTC zoals 03:15 of een interval zoals 6h, en het aantal kopieën onder Bewaarde archieven, en kies dan Schema opslaan. De oudste kopie wordt verwijderd wanneer een nieuwe wordt gemaakt.
  6. Verplaats de kopieën regelmatig van de machine. Een kopie op dezelfde machine beschermt niet tegen het verlies van die machine.

Het schema wijzigen vereist de bevoegdheid Global.Settings. Een controller die het niet via de console kan wijzigen, zegt dat in het dialoogvenster; de operator stelt dan het schema, het doel en het aantal bewaarde kopieën in via de controllerconfiguratie, zie Configuratie.

Resultaat

De kaart Back-up van de controller toont In orde, het tijdstip van de kopie en haar grootte. Wijzigingen na de kopie staan er niet in.

Wat de kopie bevat

Pad onder de statusmapInhoud
inventory.redbDe inventaris, gebruikers, machtigingen, taken, gebeurtenissen en auditrecords, de lokale groepen en het wachtwoord- en blokkeringsbeleid
metrics.redbPrestatiegeschiedenis en het verbruiksregister
keys/De identiteitssleutel (verzegelt de geheimen van tweestapsverificatie en bewaakt de integriteit van API-tokens) en de ondertekeningssleutel van de vSphere-tokenservice
tls/Het bootstrapcertificaat en de sleutel die hosts en clients vastpinnen
licence/Geïnstalleerde licentiebestanden
identity/Alleen bestanden van een eerdere versie. Lokale groepen en het wachtwoord- en blokkeringsbeleid staan nu in inventory.redb.
backup/Back-upsessies en hun wijzigings-id's
content/, customization/Contentbibliotheken en aanpassingsprofielen

Zonder de identiteitssleutel zijn de geheimen van tweestapsverificatie en API-tokens niet meer bruikbaar. Bewaar de kopie waar alleen beheerders haar kunnen lezen. De kopie vraagt evenveel vrije ruimte als de map, en een upgrade die de geschiedenis naar schijf verplaatst, vraagt ruimte voor een tweede kopie van de store (Upgrade).

Archieven die de controller maakt

De controller schrijft een archief van haar eigen status, volgens een schema of op verzoek, zonder te stoppen. De leader-controller voert het uit voor haar eigen status. De console start een archief en stelt het schema in zoals hierboven beschreven.

Wat een archief bevat

Een archief is een tar-bestand met de naam controller-<UTC-tijd>.tar, bijvoorbeeld controller-20261114T023000Z.tar. Het bestand heeft modus 0600 en de map 0700. Het bevat:

  • controller-backup.json, een beschrijving met een SHA-256 per bestand.
  • controller/inventory.redb, een consistente kopie van de store, gemaakt uit één leestransactie terwijl de controller draait.
  • controller/metrics.redb, een consistente kopie van de metrics en het verbruiksregister.
  • Elk ander bestand van de statusmap.
  • config/controller.toml en config/join-token, wanneer de controller ze kent.

De controller schrijft het archief als .partial-bestand, leest het terug en controleert elk bestand tegen zijn SHA-256 voordat zij het bewaart. Daarna verwijdert zij de oudste archieven boven de bewaartermijn.

Instellingen

Het doel, het schema en het aantal kopieën zijn deze sleutels van de sectie [backup] van controller.toml:

SleutelStandaardBetekenis
controller_targetmap controller-backups naast data_dir, bijvoorbeeld /var/lib/kyvernon/controller-backupsMap voor de archieven.
controller_scheduleniet ingesteldTijdstip van de dag in UTC (02:30) of een interval (12h). Niet ingesteld: alleen op verzoek.
controller_retention7Aantal bewaarde archieven.

Het standaarddoel staat op dezelfde machine als de status. Laat controller_target naar opslag elders wijzen, of verplaats de archieven van de machine.

Herstel

De console is niet beschikbaar zolang de controller is gestopt, dus een herstel gebeurt op de machine; de stappen staan onder Automatisering. Herstel naar dezelfde versie van Kyvernon als waarmee de kopie is gemaakt, of naar een nieuwere. Een oudere versie kan een store die een nieuwere versie heeft gewijzigd niet openen; zie Upgrade.

Wanneer de controller weer draait, opent u de console en controleert u de hosts op het tabblad Hosts van elk cluster. Een host die niet verbindt, staat beschreven in Problemen oplossen.

Automatisering

Met de CLI

Lees de back-ups van de controller en start er nu een. controller-backups toont de toestand en de archieven. controller-backup start nu een uitvoering; --wait wacht tot de taak klaar is:

Shell
kyvernon system controller-backups
kyvernon system controller-backup --wait

Wijzig de map, de planning en het aantal bewaarde archieven. De wijziging wordt in de gerepliceerde opslag bewaard, boven de sleutels van [backup], en elke controller past haar toe; --disabled houdt de planning zonder archieven te maken:

Shell
kyvernon system set-controller-backup --target /var/lib/kyvernon/controller-backups \
  --schedule 02:30 --retention 7

Om uit een archief te herstellen, stopt u de controller, pakt u de status uit, kopieert u de configuratie en start u de controller:

Shell
sudo systemctl stop kyvernon-controller.service
sudo tar --numeric-owner -C /var/lib/kyvernon -xpf controller-<time>.tar controller
mkdir -p /tmp/kyv
sudo tar -C /tmp/kyv -xpf controller-<time>.tar config
sudo cp /tmp/kyv/config/* /etc/kyvernon/
sudo systemctl start kyvernon-controller.service
kyvernon system ready

Verplaats de archieven van de machine. De overige stappen van het herstel met de hand hieronder gelden voor een machine die nieuw is geïnstalleerd.

Handmatig kopiëren

Een kopie met de hand vraagt een korte pauze van de controller: zolang hij is gestopt, draait er geen taak en antwoorden de console en de API's niet. Hem stoppen stopt geen virtuele machines. Stop de controller zodat de store in een consistente staat wordt gekopieerd, kopieer de map en de configuratie en start hem weer:

Shell
sudo systemctl stop kyvernon-controller.service
sudo tar --numeric-owner -C /var/lib/kyvernon -cpf controller-state.tar controller
sudo tar --numeric-owner -C /etc/kyvernon -cpf controller-config.tar controller.toml join-token
sudo systemctl start kyvernon-controller.service
kyvernon system ready

Verplaats beide archieven van de machine. Bewerk ze niet.

Installeer om te herstellen het controllerpakket op de machine (Installeren vanuit een offline depot) en start de service niet. Pak de configuratie en de status uit:

Shell
sudo tar -C /etc/kyvernon -xpf controller-config.tar
sudo mkdir -p /var/lib/kyvernon
sudo tar --numeric-owner -C /var/lib/kyvernon -xpf controller-state.tar

Controleer de configuratie en start de service:

Shell
sudo kyvernon-controller --config /etc/kyvernon/controller.toml check-config
sudo systemctl start kyvernon-controller.service
kyvernon system ready

Een machine met een andere naam of een ander adres heeft haar namen nodig in de instelling san van de sectie [tls] van controller.toml, en de agents hebben het nieuwe adres nodig in de instelling endpoint van agent.toml.

Met de API

GET /v1/backup/controller vraagt System.Read. Het toont:

VeldBetekenis
enabledEr is een schema ingesteld.
target, schedule, retentionDe instellingen in gebruik.
lastRunAt, lastResult, lastSizeBytes, lastErrorDe laatste uitvoering.
nextRunAtDe volgende geplande uitvoering.
stateDirectoryDe map die wordt gearchiveerd.
runningEen uitvoering loopt.
archivesname en sizeBytes van elk archief, het nieuwste eerst.

PUT /v1/backup/controller vraagt Global.Settings en neemt enabled, target (een absolute map die de controller kan aanmaken), schedule (nodig bij enabled) en retention (1 tot 365). Het antwoordt de toestand zoals GET.

POST /v1/backup/controller/run vraagt Global.Settings. Het start de taak ServiceInstance.backupControllerState, nu een kopie.

Versie 0.1. Laatst gewijzigd: 2026-11-14