Broadcom verduidelijkt VM-herstel met VDDK
Broadcom heeft technische details en richtlijnen gepubliceerd over het gebruik van de VMware Virtual Disk Development Kit (VDDK). Met behulp van de open-source demonstratie-applicatie 'Safekeeping' laat de ontwikkelaar zien hoe softwarebedrijven en ontwikkelaars back-up- en herstelfunctionaliteiten (restore) kunnen bouwen voor virtuele machines binnen VMware vSphere-omgevingen.
De Virtual Disk Development Kit is een verzameling bibliotheken (libraries) en hulpprogramma's die ontwikkelaars van opslag- en back-upsoftware in staat stellen om virtuele schijven van vSphere, Workstation en Fusion rechtstreeks te benaderen, te kopiƫren en te manipuleren. De kit bevat Application Programming Interfaces (API's) voor het maken van snapshots, het klonen van virtuele schijven en het herstellen van volledige virtuele machines (VM's).
Inzicht in het herstelproces via 'Safekeeping'
Om de werking van de API's in de praktijk te verduidelijken, verwijst Broadcom naar het 'Safekeeping'-project op GitHub. Deze referentie-architectuur dient als proof of concept en demonstreert hoe back-ups en hersteloperaties op vSphere VM's, vApps en zogenaamde first-class disks (FCO) in de praktijk worden uitgevoerd.
In de technische toelichting staat de broncode-module RestoreVm.java centraal. Dit onderdeel regelt het herstel van een virtuele machine die eerder door een back-upmodule is opgeslagen. Het herstelproces omvat verschillende opeenvolgende stappen om gegevensintegriteit en minimale uitval te garanderen:
Optiecontrole en locatie bepalen: De module controleert parameters zoals de VM-naam, bovenliggende vApp, het datacenter, de resource pool en de beoogde datastore.
Snapshotbeheer: Om te zorgen dat een draaiende virtuele machine kan blijven functioneren tijdens een herstelactie, of om schijven 'bevroren' (quiesced) te houden terwijl ze worden vervangen, maakt het systeem tijdelijk een snapshot aan.
Schijf- en netwerkkoppeling: Een van de meest complexe stappen is het toewijzen van de virtuele schijven (disksMapping) en netwerkkaarten (networksMapping). Hierbij worden de geback-upte schijfeigenschappen en netwerkinstellingen gemapt naar de actuele vSphere-infrastructuur.
Naamconflicten en herstelopties: Wanneer een VM wordt hersteld die nog (gedeeltelijk) bestaat, regelt de software het afhandelen van naamconflicten. Een VM kan worden hersteld door een nieuw exemplaar aan te maken (restoreByCreate) of door virtuele schijfdata te importeren in een bestaande structuur (restoreByImport).
VixDiskLib-integratie
De daadwerkelijke data-overdracht vindt plaats in de centrale restore-methode. Hierin roept de Java-code onderliggende C++ functies aan uit de VixDiskLib-bibliotheek van de VDDK.
Functies zoals startVddkAccess en endVddkAccess zorgen er gedurende het schrijfproces voor dat automatische migraties van virtuele machines (zoals vMotion) tijdelijk worden geblokkeerd. Nadat de virtuele schijven succesvol zijn teruggeplaatst, wordt de tijdelijke snapshot verwijderd, de VM hergeconfigureerd en optioneel weer ingeschakeld (powerOn).
De documentatie en bijbehorende broncode van het Safekeeping-project zijn door Broadcom beschikbaar gesteld voor ontwikkelaars via het developer-portal van het bedrijf.