Share via


Voorbereiden op migratie zonder VMware-agent

Let op

Dit artikel verwijst naar CentOS, een Linux-distributie met de EOL-status (End Of Life). Overweeg uw gebruik en planning dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

Dit artikel bevat een overzicht van de wijzigingen die worden uitgevoerd wanneer u virtuele VMware-machines migreert naar Azure via de migratiemethode zonder agent met behulp van het hulpprogramma Migratie en modernisering.

Voordat u uw on-premises VM naar Azure migreert, moet u mogelijk enkele wijzigingen aanbrengen om de VM gereed te maken voor Azure. Deze wijzigingen zijn belangrijk om ervoor te zorgen dat de gemigreerde VM kan worden opgestart in Azure en dat de verbinding met de Azure-VM tot stand kan worden gebracht. Azure Migrate verwerkt deze configuratiewijzigingen automatisch voor de volgende besturingssysteemversies voor Linux en Windows. Dit proces heet Hydratie.

Besturingssysteemversies die worden ondersteund voor hydratatie

  • Windows Server 2008 of hoger
  • Red Hat Enterprise Linux 9.x, 8.x, 7.9, 7.8, 7.7, 7.6, 7.5, 7.4, 7.0, 6.x
  • CentOS Stream
  • SUSE Linux Enterprise Server 15 SP4, 15 SP3, 15 SP2, 15 SP1, 15 SP0, 12, 11 SP4, 11 SP3
  • Ubuntu 22.04, 21.04, 20.04, 19.04, 19.10, 18.04LTS, 16.04LTS, 14.04LTS
  • Kali Linux (2016, 2017, 2018, 2019, 2020, 2021, 2022)
  • Debian 11, 10, 9, 8, 7
  • Oracle Linux 9, 8, 7.7-CI, 7.7, 6

U kunt dit artikel ook gebruiken om de VM's handmatig voor te bereiden op migratie naar Azure voor besturingssystemen die hierboven niet worden vermeld. Op hoog niveau zijn de volgende wijzigingen:

  • De aanwezigheid van de vereiste stuurprogramma's valideren
  • De seriële console inschakelen
  • Netwerkinstellingen configureren
  • De VM-gastagent installeren

Hydratatieproces

U moet enkele wijzigingen aanbrengen in de configuratie van de VM's vóór de migratie om ervoor te zorgen dat de gemigreerde VM's correct werken in Azure. Azure Migrate verwerkt deze configuratiewijzigingen via het hydratatieproces . Het hydratatieproces wordt alleen uitgevoerd voor de versies van ondersteuning voor Azure ed besturingssystemen die hierboven zijn opgegeven. Voordat u migreert, moet u mogelijk de vereiste wijzigingen handmatig uitvoeren voor andere besturingssysteemversies die hierboven niet worden vermeld. Als de VIRTUELE machine zonder de vereiste wijzigingen wordt gemigreerd, kan de VM niet worden opgestart of hebt u mogelijk geen verbinding met de gemigreerde VM. In het volgende diagram ziet u dat Azure Migrate het hydratatieproces uitvoert.

Hydratatiestappen

Wanneer een gebruiker Test Migrate of Migrate activeert, voert Azure Migrate het hydratatieproces uit om de on-premises VM voor te bereiden op migratie naar Azure. Als u het hydratatieproces wilt instellen, maakt Azure Migrate een tijdelijke Azure-VM en koppelt u de schijven van de bron-VM om wijzigingen uit te voeren om de bron-VM gereed te maken voor Azure. De tijdelijke Azure-VM is een tussenliggende VM die tijdens het migratieproces is gemaakt voordat de uiteindelijke gemigreerde VM wordt gemaakt. De tijdelijke VM wordt gemaakt met een vergelijkbaar type besturingssysteem (Windows/Linux) met behulp van een van de marketplace-installatiekopieën van het besturingssysteem. Als op de on-premises VM Windows wordt uitgevoerd, wordt de besturingssysteemschijf van de on-premises VM als een gegevensschijf gekoppeld aan de tijdelijke VM voor het uitvoeren van wijzigingen. Als het een Linux-server is, worden alle schijven die aan de on-premises VM zijn gekoppeld als gegevensschijven gekoppeld aan de tijdelijke Azure-VM.

Azure Migrate maakt de netwerkinterface, een nieuw virtueel netwerk, subnet en een netwerkbeveiligingsgroep (NSG) om de tijdelijke VM te hosten. Deze resources worden gemaakt in het abonnement van de klant. Als er conflicterende beleidsregels zijn die het maken van de netwerkartefacten verhinderen, probeert Azure Migrate de tijdelijke Azure-VM te maken in het virtuele netwerk en subnet dat is opgegeven als onderdeel van de opties voor de replicatiedoelinstellingen.

Nadat de virtuele machine is gemaakt, roept Azure Migrate de aangepaste scriptextensie aan op de tijdelijke VM met behulp van de AZURE VIRTUAL Machine REST API. Het hulpprogramma aangepaste scriptextensie voert een voorbereidingsscript uit met de vereiste configuratie voor Azure-gereedheid op de on-premises VM-schijven die zijn gekoppeld aan de tijdelijke Azure-VM. Het voorbereidingsscript wordt gedownload van een opslagaccount dat eigendom is van Azure Migrate. De regels voor de netwerkbeveiligingsgroep van het virtuele netwerk worden geconfigureerd om de tijdelijke Azure-VM toegang te geven tot het Azure Migrate-opslagaccount voor het aanroepen van het script.

Migratiestappen

Notitie

Hydration VM-schijven bieden geen ondersteuning voor door de klant beheerde sleutel (CMK). Platform Managed Key (PMK) is de standaardoptie.

Wijzigingen uitgevoerd tijdens het hydratatieproces

Het voorbereidingsscript voert de volgende wijzigingen uit op basis van het besturingssysteemtype van de bron-VM die moet worden gemigreerd. U kunt deze sectie ook gebruiken als richtlijn voor het handmatig voorbereiden van de VM's voor migratie voor besturingssystemen die niet worden ondersteund voor hydratatie.

Wijzigingen uitgevoerd op Windows-servers

  1. Het Volume van het Windows-besturingssysteem detecteren en voorbereiden

    Voordat u relevante configuratiewijzigingen uitvoert, controleert het voorbereidingsscript of de juiste besturingssysteemschijf is geselecteerd voor migratie. Het voorbereidingsscript bekijkt alle gekoppelde volumes die zichtbaar zijn voor het systeem en zoekt naar het bestandspad van het SYSTEM-register om het bronbesturingssysteemvolume te vinden.

    In deze stap worden de volgende acties uitgevoerd:

    • Koppelt elke partitie op de besturingssysteemschijf die is gekoppeld aan de tijdelijke VM.

    • Hiermee wordt gezocht naar \Windows\System32\Config\System-registerbestanden na het koppelen van de partitie.

    • Als de bestanden niet worden gevonden, wordt de partitie ontkoppeld en wordt de zoekopdracht voortgezet naar de juiste partitie.

    • Als de bestanden niet aanwezig zijn op een van de partities, kan dit erop wijzen dat er een onjuiste besturingssysteemschijf is geselecteerd of dat de besturingssysteemschijf is beschadigd. Azure Migrate mislukt het migratieproces met een juiste fout.

    Notitie

    Deze stap is niet relevant als u de servers handmatig voorbereidt op migratie.

  2. Wijzigingen aanbrengen in verband met opstarten en connectiviteit

    Nadat de volumebestanden van het bronbesturingssysteem zijn gedetecteerd, laadt het voorbereidingsscript de SYSTEM-register hive in de registereditor van de tijdelijke Azure-VM en voert u de volgende wijzigingen uit om ervoor te zorgen dat de VM opstart en connectiviteit. U moet deze instellingen handmatig configureren als de versie van het besturingssysteem niet wordt ondersteund voor hydratatie.

    1. De aanwezigheid van de vereiste stuurprogramma's valideren

      Controleer of de vereiste stuurprogramma's zijn geïnstalleerd en zijn ingesteld op laden bij het opstarten. Met deze Windows-stuurprogramma's kan de server communiceren met de hardware en andere verbonden apparaten.

      • IntelIde.sys
      • Atapi
      • Storfit
      • Storvsc
      • VMbus
    2. San-beleid (Storage Area Network) instellen op Online All

      Dit zorgt ervoor dat de Windows-volumes in de Azure-VM dezelfde stationslettertoewijzingen gebruiken als de on-premises VM. Standaard worden azure-VM's toegewezen aan station D: voor gebruik als tijdelijke opslag. Door deze stationstoewijzing worden alle andere gekoppelde opslagstationstoewijzingen een letter opgeschoven. Als u deze automatische toewijzing wilt voorkomen en ervoor wilt zorgen dat Azure de volgende gratis stationsletter toewijst aan het tijdelijke volume, stelt u het SAN-beleid (Storage Area Network) in op Online All.

      Ga als volgt te werk om deze instelling handmatig te configureren:

      • Open op de on-premises server de opdrachtprompt met verhoogde bevoegdheden en voer een diskpart in.

        Handmatige configuratie

      • Voer SAN in. Als de stationsletter van het gastbesturingssysteem niet wordt onderhouden, wordt Alles offline of Offline gedeeld geretourneerd.

      • Voer achter de DISKPART-prompt SAN Policy=OnlineAll in. Deze instelling zorgt ervoor dat schijven online worden gebracht en dat u beide schijven kunt lezen en schrijven.

        Onlinebeleid voor diskpart administrator-opdrachtprompt

  3. Het dhcp-begintype instellen

    Met het voorbereidingsscript wordt ook het starttype van de DHCP-service ingesteld als Automatisch. Hierdoor kan de gemigreerde VM een IP-adres verkrijgen en de connectiviteit na de migratie tot stand brengen. Zorg ervoor dat de DHCP-service is geconfigureerd en of de status wordt uitgevoerd.

    Dhcp-begintype instellen

    Als u de dhcp-opstartinstellingen handmatig wilt bewerken, voert u het volgende voorbeeld uit in Windows PowerShell:

    Get-Service -Name Dhcp
    Where-Object StartType -ne Automatic
    Set-Service -StartupType Automatic
    
  4. VMware-hulpprogramma's uitschakelen

    Zorg ervoor dat de VMware Tools-service starttype wordt uitgeschakeld als deze bestaat omdat deze niet vereist zijn voor de virtuele machine in Azure.

    Notitie

    Als u verbinding wilt maken met virtuele Windows Server 2003-machines, moet Hyper-V Integration Services zijn geïnstalleerd op de Azure-VM. Windows Server 2003-computers hebben dit niet standaard geïnstalleerd. Zie dit artikel voor het installeren en voorbereiden van migratie.

  5. De Windows Azure-gastagent installeren

    Azure Migrate probeert de Microsoft Azure Virtual Machine Agent (VM-agent) te installeren, een beveiligd, lichtgewicht proces waarmee de interactie van virtuele machines (VM's) met de Azure Fabric Controller wordt beheerd. De VM-agent heeft een primaire rol bij het inschakelen en uitvoeren van extensies voor virtuele Azure-machines die configuratie na de implementatie van VM inschakelen, zoals het installeren en configureren van software. Azure Migrate installeert automatisch de Windows VM-agent op Windows Server 2008 R2 en hogere versies.

    De Windows VM-agent kan handmatig worden geïnstalleerd met een Windows Installer-pakket. Als u de Windows VM-agent handmatig wilt installeren, downloadt u het installatieprogramma van de VM-agent. U kunt ook zoeken naar een specifieke versie in de GitHub Windows IaaS VM Agent-releases. De VM-agent wordt ondersteund op Windows Server 2008 (64-bits) en hoger.

    Als u wilt controleren of de Azure VM-agent is geïnstalleerd, opent u Taakbeheer, selecteert u het tabblad Details en zoekt u de procesnaam WindowsAzureGuestAgent.exe. De aanwezigheid van dit proces geeft aan dat de VM-agent is geïnstalleerd. U kunt Ook PowerShell gebruiken om de VM-agent te detecteren.

    Geslaagde installatie van Azure VM-agent

    Nadat de bovengenoemde wijzigingen zijn uitgevoerd, wordt de systeempartitie verwijderd. De VIRTUELE machine is nu gereed voor migratie. Meer informatie over de wijzigingen voor Windows-servers.

Wijzigingen uitgevoerd op Linux-servers

  1. Linux-besturingssysteempartities detecteren en koppelen

    Voordat u relevante configuratiewijzigingen uitvoert, controleert het voorbereidingsscript of de juiste besturingssysteemschijf is geselecteerd voor migratie. Het script verzamelt informatie over alle partities, hun UUID's en koppelpunten. Het script bekijkt al deze zichtbare partities om de /boot- en /root-partities te vinden.

    In deze stap worden de volgende acties uitgevoerd:

    • Ontdekken /rootpartitie:
      • Koppel elke zichtbare partitie en zoek naar etc/fstab.
      • Als de fstab-bestanden niet worden gevonden, wordt de partitie ontkoppeld en wordt de zoekopdracht voortgezet naar de juiste partitie.
      • Als de fstab-bestanden worden gevonden, leest u de fstab-inhoud om het hoofdapparaat te identificeren en te koppelen als het basiskoppelingspunt.
    • Ontdek /boot en andere systeempartities:
      • Gebruik fstab-inhoud om te bepalen of /boot een afzonderlijke partitie is. Als het een afzonderlijke partitie is, haalt u de naam van het opstartpartitieapparaat op uit de fstab-inhoud of zoekt u naar de partitie, die de opstartvlag heeft.
      • Het script gaat verder met het detecteren en koppelen van /boot, en andere benodigde partities op '/mnt/azure_sms_root' om de hoofdbestandssysteemstructuur te bouwen die is vereist voor de chroot-jail. Andere benodigde partities zijn: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub.cfg, /boot/efi (voor UEFI boot), /var, /lib, /etc, /usr en anderen.
  2. Versie van besturingssysteem detecteren

    Zodra de hoofdpartitie is gedetecteerd, gebruikt het script de volgende bestanden om de distributie en versie van het Linux-besturingssysteem te bepalen.

    • RHEL: etc/redhat-release
    • OL: etc/oracle-release
    • SLES: etc/SuSE-release
    • Ubuntu: etc/lsb-release
    • Debian: etc/debian_version
  3. Hyper-V Linux Integration Services installeren en kernelinstallatiekopieën opnieuw genereren

    De volgende stap is het inspecteren van de kernelinstallatiekopieën en het opnieuw bouwen van de Linux init-installatiekopieën, zodat deze de benodigde Hyper-V-stuurprogramma's (hv_vmbus, hv_storvsc, hv_netvsc) op de eerste ramdisk bevat. Door de initialisatie-installatiekopie opnieuw op te bouwen, zorgt u ervoor dat de VM in Azure kan worden opgestart.

    Azure wordt uitgevoerd op de Hyper-V-hypervisor. Linux vereist dus dat bepaalde kernelmodules worden uitgevoerd in Azure. Als u uw Linux-installatiekopieën wilt voorbereiden, moet u de initrd opnieuw bouwen, zodat ten minste de hv_vmbus en hv_storvsc kernelmodules beschikbaar zijn op de eerste ramdisk. Het mechanisme voor het herbouwen van de initrd- of initramfs-installatiekopieën kan variëren, afhankelijk van de distributie. Raadpleeg de documentatie of ondersteuning van uw distributie voor de juiste procedure. Hier volgt een voorbeeld voor het herbouwen van de initrd met behulp van het mkinitrd-hulpprogramma:

    1. Zoek de lijst met kernels die zijn geïnstalleerd op het systeem (/lib/modules)

    2. Controleer voor elke module of de Hyper-V-stuurprogramma's al zijn opgenomen.

    3. Als een van deze stuurprogramma's ontbreekt, voegt u de vereiste stuurprogramma's toe en genereert u de installatiekopieën opnieuw voor de bijbehorende kernelversie.

      Notitie

      Deze stap is mogelijk niet van toepassing op Ubuntu- en Debian-VM's omdat de Hyper-V-stuurprogramma's standaard zijn ingebouwd. Meer informatie over de wijzigingen.

      Een illustratief voorbeeld voor herbouwen initrd

      • Een back-up maken van de bestaande initrd-installatiekopieën
       cd /boot
       sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
      
      • Bouw de initrd opnieuw met de hv_vmbus- en hv_storvsc kernelmodules:
         sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
      

    In meeste nieuwe versies van Linux-distributies is dit standaard opgenomen. Als deze niet zijn opgenomen, installeert u handmatig voor alle versies, met uitzondering van de genoemde stappen.

  4. Azure Serial Console-logboekregistratie inschakelen

    Het script brengt vervolgens wijzigingen aan om logboekregistratie van de Seriële console van Azure in te schakelen. Het inschakelen van consolelogboekregistratie helpt bij het oplossen van problemen op de Virtuele Azure-machine. Meer informatie over seriële Azure-console voor Linux azure seriële console voor Linux - Virtuele machines | Microsoft Docs.

    Wijzig de kernel-opstartlijn in GRUB of GRUB2 om de volgende parameters op te nemen, zodat alle consoleberichten naar de eerste seriële poort worden verzonden. Deze berichten kunnen helpen ondersteuning voor Azure bij het opsporen van fouten.

     console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300
    

    We raden u ook aan de volgende parameters te verwijderen als deze bestaan.

    rhgb quiet crashkernel=auto
    

    Raadpleeg dit artikel voor specifieke wijzigingen.

  5. Netwerkwijzigingen voor connectiviteit

    Op basis van de versie van het besturingssysteem voert het script de vereiste netwerkwijzigingen uit voor de connectiviteit met de gemigreerde VM. De wijzigingen zijn onder andere:

    1. Verplaats (of verwijder) de udev-regels om te voorkomen dat statische regels voor de Ethernet-interface worden gegenereerd. Deze regels veroorzaken problemen wanneer u een virtuele machine kloont in Azure.

      Een illustratief voorbeeld voor RedHat-servers

         sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
         sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
      
    2. Verwijder indien nodig Netwerkbeheer. Netwerkbeheer kan de Azure Linux-agent voor een paar besturingssysteemversies verstoren. Het is raadzaam om deze wijzigingen aan te brengen voor servers met RedHat- en Ubuntu-distributies.

    3. Verwijder dit pakket door de volgende opdracht uit te voeren:

      Een illustratief voorbeeld voor RedHat-servers

         sudo rpm -e --nodeps NetworkManager
      
    4. Maak een back-up van bestaande NIC-instellingen en maak eth0 NIC-configuratiebestand met DHCP-instellingen. Hiervoor maakt of bewerkt het script het bestand /etc/sysconfig/network-scripts/ifcfg-eth0 en voegt u de volgende tekst toe:

      Een illustratief voorbeeld voor RedHat-servers

         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=dhcp
         TYPE=Ethernet
         USERCTL=no
         PEERDNS=yes
         IPV6INIT=no
         PERSISTENT_DHCLIENT=yes
         NM_CONTROLLED=yes
      
    5. Stel het bestand etc/sysconfig/network als volgt opnieuw in:

      Een illustratief voorbeeld voor RedHat-servers

         NETWORKING=yes
         HOSTNAME=localhost.localdomain
      
  6. Fstab-validatie

    Azure Migrate valideert de vermeldingen van het fstab-bestand en vervangt fstab-vermeldingen door permanente volume-id's, waar nodig UUID's. Dit zorgt ervoor dat de naam van het station/de partitie constant blijft, ongeacht het systeem waaraan het is gekoppeld.

    • Als de apparaatnaam een standaardapparaatnaam is (bijvoorbeeld /dev/sdb1), doet u het volgende:
      • Als het een hoofd- of opstartpartitie is, wordt deze vervangen door UUID.
      • Als de partitie naast de hoofd- of opstartpartitie als standaardpartities op dezelfde schijf bestaat, wordt deze vervangen door UUID.
    • Als de apparaatnaam UUID/LABEL/LV is, worden er geen wijzigingen aangebracht.
    • Als het een netwerkapparaat (nfs, cifs, smbfs, enzovoort) is, wordt de vermelding door het script als commentaar gegeven. Als u er toegang toe wilt krijgen, kunt u opmerkingen op dezelfde wijze verwijderen en uw Azure-VM opnieuw opstarten.
  7. De Linux Azure-gastagent installeren

    Azure Migrate probeert de Microsoft Azure Linux-agent (waagent) te installeren, een beveiligd, lichtgewicht proces waarmee Linux & FreeBSD-inrichting en VM-interactie met de Azure Fabric Controller worden beheerd. Meer informatie over de functionaliteit die is ingeschakeld voor Linux- en FreeBSD IaaS-implementaties via de Linux-agent.

    Bekijk de lijst met vereiste pakketten om de Linux VM-agent te installeren. Azure Migrate installeert de Linux VM-agent automatisch voor RHEL 8.x/7.x/6.x, Ubuntu 14.04/16.04/18.04/19.04/19.10/20.04, SUSE 15 SP0/15 SP1/12, Debian 9/8/7 en Oracle 7/6 bij gebruik van de methode zonder agent van VMware-migratie. Volg deze instructies om de Linux-agent handmatig te installeren voor andere besturingssysteemversies.

    U kunt de opdracht gebruiken om de servicestatus van de Azure Linux-agent te controleren om ervoor te zorgen dat deze wordt uitgevoerd. De servicenaam kan walinuxagent of waagent zijn. Zodra de hydratatiewijzigingen zijn voltooid, ontkoppelt het script alle partities die zijn gekoppeld, deactiveren volumegroepen en vervolgens de apparaten leegmaken.

       sudo vgchange -an <vg-name>
       sudo lockdev –flushbufs <disk-device-name>
    

    Meer informatie over de wijzigingen voor Linux-servers.

De tijdelijke VM opschonen

Nadat de benodigde wijzigingen zijn uitgevoerd, maakt Azure Migrate de tijdelijke VIRTUELE machine los en worden de gekoppelde besturingssysteemschijven (en gegevensschijven) vrijgemaakt. Dit markeert het einde van het hydratatieproces.

Hierna worden de gewijzigde besturingssysteemschijf en de gegevensschijven die de gerepliceerde gegevens bevatten gekloond. Er wordt een nieuwe virtuele machine gemaakt in de doelregio, het virtuele netwerk en het subnet en de gekloonde schijven worden gekoppeld aan de virtuele machine. Dit markeert de voltooiing van het migratieproces.

Meer informatie