Dela via


Förbereda för migrering utan VMware-agent

Den här artikeln innehåller en översikt över de ändringar som utförs när du migrerar virtuella VMware-datorer till Azure via den agentlösa migreringsmetoden med hjälp av migrerings- och moderniseringsverktyget.

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Innan du migrerar din lokala virtuella dator till Azure kan du behöva några ändringar för att göra den virtuella datorn redo för Azure. Dessa ändringar är viktiga för att säkerställa att den migrerade virtuella datorn kan startas i Azure och att anslutningen till den virtuella Azure-datorn kan upprättas. Azure Migrate hanterar automatiskt dessa konfigurationsändringar för följande operativsystemversioner för både Linux och Windows. Den här processen kallas Hydrering.

Operativsystemversioner som stöds för hydrering

  • Windows Server 2008 eller senare
  • 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 9.x (Release and Stream), 8.x (Release and Stream), 7.9, 7.7, 7.6, 7.5, 7.4, 6.x
  • 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

Du kan också använda den här artikeln för att manuellt förbereda de virtuella datorerna för migrering till Azure för operativsystemversioner som inte anges ovan. På hög nivå omfattar dessa ändringar:

  • Verifiera förekomsten av nödvändiga drivrutiner
  • Aktivera seriekonsolen
  • Konfigurera nätverksinställningar
  • Installera vm-gästagenten

Hydreringsprocess

Du måste göra vissa ändringar i konfigurationen av de virtuella datorerna före migreringen för att säkerställa att de migrerade virtuella datorerna fungerar korrekt i Azure. Azure Migrate hanterar dessa konfigurationsändringar via hydreringsprocessen . Hydreringsprocessen utförs endast för de versioner av Operativsystem som stöds av Azure som anges ovan. Innan du migrerar kan du behöva utföra de nödvändiga ändringarna manuellt för andra operativsystemversioner som inte visas ovan. Om den virtuella datorn migreras utan nödvändiga ändringar kanske den virtuella datorn inte startar eller så kanske du inte har anslutning till den migrerade virtuella datorn. Följande diagram visar att Azure Migrate utför hydreringsprocessen.

Uttorkningssteg

När en användare utlöser Test Migrate eller Migrate utför Azure Migrate hydreringsprocessen för att förbereda den lokala virtuella datorn för migrering till Azure. För att konfigurera hydreringsprocessen skapar Azure Migrate en tillfällig virtuell Azure-dator och kopplar diskarna för den virtuella källdatorn för att utföra ändringar för att göra den virtuella källdatorn redo för Azure. Den tillfälliga virtuella Azure-datorn är en mellanliggande virtuell dator som skapas under migreringsprocessen innan den slutliga migrerade virtuella datorn skapas. Den tillfälliga virtuella datorn skapas med en liknande operativsystemtyp (Windows/Linux) med någon av marketplace OS-avbildningarna. Om den lokala virtuella datorn kör Windows ansluts operativsystemdisken för den lokala virtuella datorn som en datadisk till den tillfälliga virtuella datorn för att utföra ändringar. Om det är en Linux-server ansluts alla diskar som är anslutna till den lokala virtuella datorn som datadiskar till den tillfälliga virtuella Azure-datorn.

Azure Migrate skapar nätverksgränssnittet, ett nytt virtuellt nätverk, undernät och en nätverkssäkerhetsgrupp (NSG) som värd för den tillfälliga virtuella datorn. Dessa resurser skapas i kundens prenumeration. Om det finns motstridiga principer som förhindrar att nätverksartefakter skapas försöker Azure Migrate skapa den tillfälliga virtuella Azure-datorn i det virtuella nätverket och undernätet som tillhandahålls som en del av alternativen för replikeringsmålinställningar.

När den virtuella datorn har skapats anropar Azure Migrate tillägget för anpassat skript på den tillfälliga virtuella datorn med hjälp av REST-API:et för virtuella Azure-datorer. Verktyget för anpassat skripttillägg kör ett förberedelseskript som innehåller den konfiguration som krävs för Azure-beredskap på de lokala virtuella datordiskarna som är anslutna till den tillfälliga virtuella Azure-datorn. Förberedelseskriptet laddas ned från ett Azure Migrate-ägt lagringskonto. Reglerna för nätverkssäkerhetsgruppen i det virtuella nätverket konfigureras för att tillåta den tillfälliga virtuella Azure-datorn att komma åt Azure Migrate-lagringskontot för att anropa skriptet.

Migreringssteg

Kommentar

Hydration VM-diskar stöder inte kundhanterad nyckel (CMK). Plattformshanterad nyckel (PMK) är standardalternativet.

Ändringar som utförs under hydreringsprocessen

Förberedelseskriptet kör följande ändringar baserat på operativsystemtypen för den virtuella källdatorn som ska migreras. Du kan också använda det här avsnittet som en guide för att manuellt förbereda de virtuella datorerna för migrering för operativsystemversioner som inte stöds för hydrering.

Ändringar som utförs på Windows-servrar

  1. Identifiera och förbereda Windows OS-volymen

    Innan du utför relevanta konfigurationsändringar verifierar förberedelseskriptet om rätt OS-disk har valts för migrering. Förberedelseskriptet tittar igenom alla anslutna volymer som är synliga för systemet och letar efter hive-filsökvägen för SYSTEM-registret för att hitta os-källvolymen.

    Följande åtgärder utförs i det här steget:

    • Monterar varje partition på os-disken som är ansluten till den tillfälliga virtuella datorn.

    • Söker efter \Windows\System32\Config\System-registerfiler efter montering av partitionen.

    • Om filerna inte hittas är partitionen omonterad och sökningen fortsätter efter rätt partition.

    • Om filerna inte finns på någon av partitionerna kan det tyda på att en felaktig OS-disk har valts eller att OS-disken är skadad. Azure Migrate misslyckas med migreringsprocessen med ett lämpligt fel.

    Kommentar

    Det här steget är inte relevant om du förbereder servrarna för migrering manuellt.

  2. Göra start- och anslutningsrelaterade ändringar

    När käll-OS-volymfilerna har identifierats läser förberedelseskriptet in SYSTEM-registerdatafilen i registerredigeraren för den tillfälliga virtuella Azure-datorn och utför följande ändringar för att säkerställa att den virtuella datorn startas och ansluts. Du måste konfigurera de här inställningarna manuellt om os-versionen inte stöds för hydrering.

    1. Verifiera förekomsten av nödvändiga drivrutiner

      Kontrollera att de nödvändiga drivrutinerna är installerade och är inställda på att läsas in vid start. Med dessa Windows-drivrutiner kan servern kommunicera med maskinvaran och andra anslutna enheter.

      • IntelIde.sys
      • Atapi
      • Storfit
      • Storvsc
      • VMbus
    2. Ange san-principen (Storage Area Network) till Online All

      Detta säkerställer att Windows-volymerna på den virtuella Azure-datorn använder samma enhetsbeteckningstilldelningar som den lokala virtuella datorn. Som standard tilldelas virtuella Azure-datorer enhet D: att använda som tillfällig lagring. Den här enhetstilldelningen gör att alla andra anslutna lagringsenhetstilldelningar ökar med en bokstav. För att förhindra den här automatiska tilldelningen och för att säkerställa att Azure tilldelar nästa kostnadsfria enhetsbeteckning till den tillfälliga volymen anger du SAN-principen (Storage Area Network) till Online All.

      Så här konfigurerar du den här inställningen manuellt:

      • På den lokala servern öppnar du kommandotolken med förhöjd behörighet och anger diskdel.

        Manuell konfiguration

      • Ange SAN. Om enhetsbeteckningen för gästoperativsystemet inte bibehålls returneras offline- eller offlinedelade.

      • I DISKPART-prompten anger du SAN Policy=OnlineAll. Den här inställningen säkerställer att diskarna är online och att du kan läsa och skriva till båda diskarna.

        Onlineprincip för administratörskommandofråga för diskdel

  3. Ange DHCP-starttyp

    Förberedelseskriptet anger även DHCP-tjänstens starttyp som Automatisk. Detta gör att den migrerade virtuella datorn kan hämta en IP-adress och upprätta anslutningen efter migreringen. Kontrollera att DHCP-tjänsten är konfigurerad och att statusen körs.

    Ange DHCP-starttyp

    Om du vill redigera DHCP-startinställningarna manuellt kör du följande exempel i Windows PowerShell:

    Get-Service -Name Dhcp
    Where-Object StartType -ne Automatic
    Set-Service -StartupType Automatic
    
  4. Inaktivera VMware-verktyg

    Gör "VMware Tools"-tjänstens starttyp inaktiverad om den finns eftersom de inte krävs för den virtuella datorn i Azure.

    Kommentar

    För att ansluta till virtuella Windows Server 2003-datorer måste Hyper-V Integration Services vara installerat på den virtuella Azure-datorn. Windows Server 2003-datorer har inte detta installerat som standard. Se den här artikeln om du vill installera och förbereda migreringen.

  5. Installera Windows Azure-gästagenten

    Azure Migrate försöker installera Microsoft Azure Virtual Machine Agent (VM Agent), en säker, enkel process som hanterar interaktion med den virtuella datorn (VM) med Azure Fabric Controller. VM-agenten har en primär roll när det gäller att aktivera och köra tillägg för virtuella Azure-datorer som möjliggör konfiguration efter distributionen av den virtuella datorn, till exempel installation och konfiguration av programvara. Azure Migrate installerar automatiskt Windows VM-agenten på Windows Server 2008 R2 och senare versioner.

    Windows VM-agenten kan installeras manuellt med ett Windows-installationspaket. Om du vill installera Windows VM-agenten manuellt laddar du ned installationsprogrammet för VM-agenten. Du kan också söka efter en specifik version i versionerna av GitHub Windows IaaS VM Agent. VM-agenten stöds på Windows Server 2008 (64 bitar) och senare.

    Om du vill kontrollera om Azure VM-agenten har installerats öppnar du Aktivitetshanteraren, väljer fliken Information och letar efter processnamnet WindowsAzureGuestAgent.exe. Förekomsten av den här processen anger att VM-agenten är installerad. Du kan också använda PowerShell för att identifiera VM-agenten.

    Lyckad installation av Azure VM Agent

    När ovan nämnda ändringar har utförts tas systempartitionen bort. Den virtuella datorn är nu redo för migrering. Läs mer om ändringarna för Windows-servrar.

Ändringar som utförs på Linux-servrar

  1. Identifiera och montera Linux OS-partitioner

    Innan du utför relevanta konfigurationsändringar verifierar förberedelseskriptet om rätt OS-disk har valts för migrering. Skriptet samlar in information om alla partitioner, deras UUID:er och monteringspunkter. Skriptet tittar igenom alla dessa synliga partitioner för att hitta partitionerna /boot och /root.

    Följande åtgärder utförs i det här steget:

    • Identifiera /rotpartition:
      • Montera varje synlig partition och leta efter etc/fstab.
      • Om fstab-filerna inte hittas är partitionen omonterad och sökningen fortsätter efter rätt partition.
      • Om fstab-filerna hittas läser du fstab-innehållet för att identifiera rotenheten och montera den som basmonteringspunkt.
    • Identifiera /boot och andra systempartitioner:
      • Använd fstab-innehåll för att avgöra om /boot är en separat partition. Om det är en separat partition hämtar du enhetsnamnet för startpartitionen från fstab-innehållet eller letar efter partitionen, som har startflaggan.
      • Skriptet fortsätter att identifiera och montera /boot och andra nödvändiga partitioner på "/mnt/azure_sms_root" för att skapa rotfilsystemträdet som krävs för chroot jail. Andra nödvändiga partitioner är: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub/grub.cfg, /boot/efi (för UEFI-start), /var, /lib, /etc, /usr och andra.
  2. Identifiera operativsystemversion

    När rotpartitionen har identifierats använder skriptet följande filer för att fastställa distributionen och versionen av Linux-operativsystemet.

    • RHEL/CentOS: etc/redhat-release
    • OL: etc/oracle-release
    • SLES: etc/SuSE-release
    • Ubuntu: etc/lsb-release
    • Debian: etc/debian_version
  3. Installera Hyper-V Linux Integration Services och återskapa kernelavbildningen

    Nästa steg är att inspektera kernelavbildningen och återskapa Linux-init-avbildningen så att den innehåller nödvändiga Hyper-V-drivrutiner (hv_vmbus, hv_storvsc, hv_netvsc) på den ursprungliga ramdisken. Om du återskapar init-avbildningen ser du till att den virtuella datorn startar i Azure.

    Azure körs på Hyper-V-hypervisor-programmet. Linux kräver därför att vissa kernelmoduler körs i Azure. För att förbereda Linux-avbildningen måste du återskapa initrd så att åtminstone hv_vmbus- och hv_storvsc kernelmodulerna är tillgängliga på den ursprungliga ramdisken. Mekanismen för att återskapa initrd- eller initramfs-avbildningen kan variera beroende på fördelningen. Läs dokumentationen eller supporten för distributionen för att få rätt procedur. Här är ett exempel på hur du återskapar initrd med hjälp av verktyget mkinitrd:

    1. Hitta listan över kernels som är installerade i systemet (/lib/modules)

    2. För varje modul kontrollerar du om Hyper-V-drivrutinerna redan ingår.

    3. Om någon av dessa drivrutiner saknas lägger du till nödvändiga drivrutiner och återskapar avbildningen för motsvarande kernelversion.

      Kommentar

      Det här steget kanske inte gäller för virtuella Ubuntu- och Debian-datorer eftersom Hyper-V-drivrutinerna är inbyggda som standard. Läs mer om ändringarna.

      Ett illustrativt exempel för att återskapa initrd

      • Säkerhetskopiera den befintliga initrd-avbildningen
       cd /boot
       sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
      
      • Återskapa initrd med modulerna hv_vmbus och hv_storvsc kernel:
         sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
      

    De flesta nya versioner av Linux-distributioner ingår som standard. Om det inte ingår installerar du manuellt för alla versioner utom de som nämns, med hjälp av ovanstående steg.

  4. Aktivera azure-seriekonsolloggning

    Skriptet gör sedan ändringar för att aktivera azure-seriekonsolloggning. Om du aktiverar konsolloggning kan du felsöka problem på den virtuella Azure-datorn. Läs mer om Azure Serial Console for Linux Azure Serial Console for Linux – Virtual Machines | Microsoft Docs.

    Ändra kernel-startlinjen i GRUB eller GRUB2 så att den innehåller följande parametrar, så att alla konsolmeddelanden skickas till den första serieporten. Dessa meddelanden kan hjälpa Azure-supporten med felsökning av eventuella problem.

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

    Vi rekommenderar också att du tar bort följande parametrar om de finns.

    rhgb quiet crashkernel=auto
    

    Se den här artikeln för specifika ändringar.

  5. Nätverksändringar för anslutning

    Baserat på os-versionen utför skriptet nödvändiga nätverksändringar för anslutning till den migrerade virtuella datorn. Ändringarna omfattar:

    1. Flytta (eller ta bort) udev-reglerna för att undvika att generera statiska regler för Ethernet-gränssnittet. Dessa regler orsakar problem när du klonar en virtuell dator i Azure.

      Ett belysande exempel för RedHat-servrar

         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. Ta bort Nätverkshanteraren om det behövs. Network Manager kan störa Azure Linux-agenten för några os-versioner. Vi rekommenderar att du gör dessa ändringar för servrar som kör RedHat- och Ubuntu-distributioner.

    3. Avinstallera det här paketet genom att köra följande kommando:

      Ett belysande exempel för RedHat-servrar

         sudo rpm -e --nodeps NetworkManager
      
    4. Säkerhetskopiera befintliga NIC-inställningar och skapa eth0 NIC-konfigurationsfilen med DHCP-inställningar. Det gör du genom att skapa eller redigera filen /etc/sysconfig/network-scripts/ifcfg-eth0 och lägga till följande text:

      Ett belysande exempel för RedHat-servrar

         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=dhcp
         TYPE=Ethernet
         USERCTL=no
         PEERDNS=yes
         IPV6INIT=no
         PERSISTENT_DHCLIENT=yes
         NM_CONTROLLED=yes
      
    5. Återställ etc/sysconfig/nätverksfil på följande sätt:

      Ett belysande exempel för RedHat-servrar

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

    Azure Migrate verifierar posterna i fstab-filen och ersätter fstab-poster med beständiga volymidentifierare, UUID:er där det behövs. Detta säkerställer att enhets-/partitionsnamnet förblir konstant oavsett vilket system det är kopplat till.

    • Om enhetsnamnet är ett standardenhetsnamn (till exempel /dev/sdb1) ska du:
      • Om det är en rot- eller startpartition ersätts den med UUID.
      • Om partitionen samexisterar med antingen rot- eller startpartitionen som standardpartitioner på samma disk ersätts den med UUID.
    • Om enhetsnamnet är UUID/LABEL/LV görs inga ändringar.
    • Om det är en nätverksenhet (nfs, cifs, smbfs och så vidare) kommenterar skriptet posten. Om du vill komma åt den kan du avkommentera samma och starta om den virtuella Azure-datorn.
  7. Installera Linux Azure-gästagenten

    Azure Migrate försöker installera Microsoft Azure Linux-agenten (waagent), en säker, enkel process som hanterar Linux- och FreeBSD-etablering och VM-interaktion med Azure Fabric Controller. Läs mer om de funktioner som är aktiverade för Linux- och FreeBSD IaaS-distributioner via Linux-agenten.

    Granska listan över nödvändiga paket för att installera Linux VM-agenten. Azure Migrate installerar vm-agenten för Linux automatiskt för RHEL 8.x/7.x/6.x, CentOS 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 och Oracle 7 när du använder den agentlösa metoden för VMware-migrering. Följ de här anvisningarna för att installera Linux-agenten manuellt för andra operativsystemversioner.

    Du kan använda kommandot för att verifiera tjänststatusen för Azure Linux-agenten för att kontrollera att den körs. Tjänstnamnet kan vara walinuxagent eller waagent. När hydreringsändringarna är klara demonterar skriptet alla partitioner monterade, inaktiverar volymgrupper och rensar sedan enheterna.

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

    Läs mer om ändringarna för Linux-servrar.

Rensa den tillfälliga virtuella datorn

När de nödvändiga ändringarna har utförts kommer Azure Migrate att spinna ned den tillfälliga virtuella datorn och frigöra de anslutna OS-diskarna (och datadiskarna). Detta markerar slutet på hydreringsprocessen.

Därefter klonas den ändrade OS-disken och de datadiskar som innehåller replikerade data. En ny virtuell dator skapas i målregionen, det virtuella nätverket och undernätet, och de klonade diskarna är anslutna till den virtuella datorn. Detta markerar slutförandet av migreringsprocessen.

Läs mer