Příprava na migraci bez agentů VMware

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a plánování odpovídajícím způsobem. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Tento článek obsahuje přehled změn provedených při migraci virtuálních počítačů VMware do Azure prostřednictvím metody migrace bez agentů pomocí nástroje Migrace a modernizace.

Před migrací místního virtuálního počítače do Azure můžete vyžadovat několik změn, abyste virtuální počítač připravili pro Azure. Tyto změny jsou důležité, aby se zajistilo, že se migrovaný virtuální počítač úspěšně spustí v Azure a že se dá navázat připojení k virtuálnímu počítači Azure. Azure Migrate tyto změny konfigurace automaticky zpracovává pro následující verze operačního systému pro Linux i Windows. Tento proces se nazývá hydrace.

Verze operačního systému podporované pro hydraci

  • Windows Server 2008 nebo novější
  • 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

Tento článek můžete také použít k ruční přípravě virtuálních počítačů na migraci do Azure pro verze operačních systémů, které nejsou uvedené výše. Na vysoké úrovni zahrnují tyto změny:

  • Ověření přítomnosti požadovaných ovladačů
  • Povolení sériové konzoly
  • Konfigurace nastavení sítě
  • Instalace agenta hosta virtuálního počítače

Proces hydrace

Před migrací musíte provést určité změny konfigurace virtuálních počítačů, abyste měli jistotu, že migrované virtuální počítače fungují správně v Azure. Azure Migrate tyto změny konfigurace zpracovává prostřednictvím procesu hydrace . Proces hydrace se provádí pouze pro verze podpora Azure operačních systémů uvedených výše. Před migrací možná budete muset provést požadované změny ručně pro jiné verze operačního systému, které nejsou uvedené výše. Pokud se virtuální počítač migruje bez požadovaných změn, virtuální počítač se nemusí spustit nebo nemáte připojení k migrovanému virtuálnímu počítači. Následující diagram znázorňuje, že Azure Migrate provádí proces hydrace.

Kroky hydrace

Když uživatel aktivuje migraci nebo migraci testů, Azure Migrate provede proces hydrace a připraví místní virtuální počítač na migraci do Azure. Pokud chcete nastavit proces hydrace, Azure Migrate vytvoří dočasný virtuální počítač Azure a připojí disky zdrojového virtuálního počítače, aby provedl změny, aby byl zdrojový virtuální počítač připravený pro Azure. Dočasný virtuální počítač Azure je zprostředkující virtuální počítač vytvořený během procesu migrace před vytvořením konečného migrovaného virtuálního počítače. Dočasný virtuální počítač se vytvoří s podobným typem operačního systému (Windows/Linux) pomocí jedné z imagí operačního systému Marketplace. Pokud na místním virtuálním počítači běží Windows, připojí se disk operačního systému místního virtuálního počítače jako datový disk k dočasnému virtuálnímu počítači pro provedení změn. Pokud se jedná o server s Linuxem, připojí se všechny disky připojené k místnímu virtuálnímu počítači jako datové disky k dočasnému virtuálnímu počítači Azure.

Azure Migrate vytvoří síťové rozhraní, novou virtuální síť, podsíť a skupinu zabezpečení sítě (NSG) pro hostování dočasného virtuálního počítače. Tyto prostředky se vytvářejí v předplatném zákazníka. Pokud existují konfliktní zásady, které brání vytvoření síťových artefaktů, azure Migrate se pokusí vytvořit dočasný virtuální počítač Azure ve virtuální síti a podsíti poskytované v rámci možností nastavení cíle replikace.

Po vytvoření virtuálního počítače služba Azure Migrate vyvolá rozšíření vlastních skriptů na dočasném virtuálním počítači pomocí rozhraní REST API virtuálního počítače Azure. Nástroj rozšíření vlastních skriptů spustí přípravný skript obsahující požadovanou konfiguraci pro připravenost Azure na místních discích virtuálních počítačů připojených k dočasnému virtuálnímu počítači Azure. Přípravný skript se stáhne z účtu úložiště vlastněného službou Azure Migrate. Pravidla skupiny zabezpečení sítě virtuální sítě budou nakonfigurována tak, aby povolovala dočasnému virtuálnímu počítači Azure přístup k účtu úložiště Azure Migrate pro vyvolání skriptu.

Kroky migrace

Poznámka:

Disky virtuálních počítačů s hydrací nepodporují klíč spravovaný zákazníkem (CMK). Výchozí možností je spravovaný klíč platformy (PMK).

Změny provedené během procesu hydrace

Přípravný skript provede následující změny na základě typu operačního systému zdrojového virtuálního počítače, který se má migrovat. Tuto část můžete použít také jako vodítko k ruční přípravě virtuálních počítačů na migraci pro verze operačních systémů, které nejsou podporovány pro hydraci.

Změny provedené na serverech s Windows

  1. Zjišťování a příprava svazku s operačním systémem Windows

    Před provedením relevantních změn konfigurace skript přípravy ověří, jestli byl pro migraci vybrán správný disk s operačním systémem. Přípravný skript prohlédne všechny připojené svazky viditelné pro systém a vyhledá cestu k souboru hive registru SYSTEM a vyhledá zdrojový svazek operačního systému.

    V tomto kroku se provádějí následující akce:

    • Připojí každý oddíl na disk s operačním systémem připojený k dočasnému virtuálnímu počítači.

    • Po připojení oddílu vyhledá soubory registru \Windows\System32\Config\System.

    • Pokud se soubory nenajdou, oddíl se odpojí a hledání pokračuje ve správném oddílu.

    • Pokud soubory nejsou přítomné na žádném oddílu, může to znamenat, že byl vybrán nesprávný disk s operačním systémem nebo je disk s operačním systémem poškozený. Azure Migrate selže proces migrace s příslušnou chybou.

    Poznámka:

    Tento krok není relevantní, pokud ručně připravujete servery na migraci.

  2. Provedení změn souvisejících se spouštěním a připojením

    Po zjištění zdrojových souborů svazků operačního systému načte přípravný skript podregistr registru SYSTEM do editoru registru dočasného virtuálního počítače Azure a provede následující změny, aby se zajistilo, že se virtuální počítač spustí a připojí. Pokud není verze operačního systému podporovaná pro hydraci, musíte tato nastavení nakonfigurovat ručně.

    1. Ověření přítomnosti požadovaných ovladačů

      Ujistěte se, jestli jsou nainstalované požadované ovladače a jestli se mají načíst při spuštění spouštění. Tyto ovladače Windows umožňují serveru komunikovat s hardwarem a dalšími připojenými zařízeními.

      • IntelIde.sys
      • Atapi
      • Storfit
      • Storvsc
      • VMbus
    2. Nastavení zásad sítě SAN (Storage Area Network) na online vše

      Tím se zajistí, že svazky s Windows na virtuálním počítači Azure používají stejné přiřazení písmen jednotek jako místní virtuální počítač. Ve výchozím nastavení jsou virtuální počítače Azure přiřazené jednotce D: pro použití jako dočasné úložiště. Toto přiřazení jednotky způsobí, že se všechna ostatní přiřazení připojených jednotek úložiště zvýší o jedno písmeno. Pokud chcete zabránit tomuto automatickému přiřazení a zajistit, aby Azure přiřadil k dočasnému svazku další volné písmeno jednotky, nastavte zásadu sítě SAN (Storage Area Network) na Online Vše.

      Ruční konfigurace tohoto nastavení:

      • Na místním serveru otevřete příkazový řádek se zvýšenými oprávněními a zadejte diskpart.

        Ruční konfigurace

      • Zadejte síť SAN. Pokud písmeno jednotky hostovaného operačního systému není zachováno, vrátí se funkce Offline vše nebo Offline sdílené.

      • Na příkazovém řádku DISKPART zadejte SAN Policy=OnlineAll. Toto nastavení zajišťuje, že se disky přenesou do režimu online a že na oba disky můžete číst a zapisovat.

        Správa ustrator zásady online diskpart příkazového řádku

  3. Nastavení typu spuštění DHCP

    Přípravný skript také nastaví typ spuštění služby DHCP jako Automatický. Tím umožníte migrovanému virtuálnímu počítači získat IP adresu a po migraci navázat připojení. Ujistěte se, že je služba DHCP nakonfigurovaná a stav je spuštěný.

    Nastavení typu spuštění DHCP

    Pokud chcete nastavení spuštění DHCP upravit ručně, spusťte v prostředí Windows PowerShell následující příklad:

    Get-Service -Name Dhcp
    Where-Object StartType -ne Automatic
    Set-Service -StartupType Automatic
    
  4. Zakázání nástrojů VMware

    Pokud pro virtuální počítač v Azure existují, zakažte typ služby VMware Tools tak, aby byl zakázaný, protože se nevyžaduje pro virtuální počítač v Azure.

    Poznámka:

    Pokud se chcete připojit k virtuálním počítačům s Windows Serverem 2003, musí být na virtuálním počítači Azure nainstalované integrační služby Hyper-V. Počítače s Windows Serverem 2003 nemají ve výchozím nastavení tuto instalaci. Informace o instalaci a přípravě na migraci najdete v tomto článku .

  5. Instalace agenta hosta Windows Azure

    Azure Migrate se pokusí nainstalovat agenta virtuálního počítače Microsoft Azure (VM Agent), zabezpečený a jednoduchý proces, který spravuje interakci virtuálního počítače s kontrolerem prostředků infrastruktury Azure. Agent virtuálního počítače má primární roli při povolování a spouštění rozšíření virtuálních počítačů Azure, která umožňují konfiguraci virtuálního počítače po nasazení, jako je instalace a konfigurace softwaru. Azure Migrate automaticky nainstaluje agenta virtuálního počítače s Windows na Windows Server 2008 R2 a vyšší verze.

    Agenta virtuálního počítače s Windows je možné nainstalovat ručně s balíčkem instalační služby systému Windows. Pokud chcete agenta virtuálního počítače s Windows nainstalovat ručně, stáhněte si instalační program agenta virtuálního počítače. Konkrétní verzi můžete vyhledat také ve verzích agenta virtuálního počítače IaaS pro GitHub pro Windows. Agent virtuálního počítače je podporovaný ve Windows Serveru 2008 (64bitová verze) a novějším.

    Pokud chcete zkontrolovat, jestli se agent virtuálního počítače Azure úspěšně nainstaloval, otevřete Správce úloh, vyberte kartu Podrobnosti a vyhledejte název procesu WindowsAzureGuestAgent.exe. Přítomnost tohoto procesu označuje, že je nainstalovaný agent virtuálního počítače. K detekci agenta virtuálního počítače můžete použít také PowerShell.

    Úspěšná instalace agenta virtuálního počítače Azure

    Po provedení výše uvedených změn se systémový oddíl uvolní. Virtuální počítač je teď připravený k migraci. Přečtěte si další informace o změnách pro servery s Windows.

Změny provedené na serverech s Linuxem

  1. Zjišťování a připojení oddílů operačního systému Linux

    Před provedením relevantních změn konfigurace skript přípravy ověří, jestli byl pro migraci vybrán správný disk s operačním systémem. Skript bude shromažďovat informace o všech oddílech, jejich identifikátorech UUID a přípojných bodech. Skript prohlédne všechny tyto viditelné oddíly a vyhledá oddíly /boot a /root.

    V tomto kroku se provádějí následující akce:

    • Zjištění /kořenového oddílu:
      • Připojte každý viditelný oddíl a vyhledejte atd./fstab.
      • Pokud se nenajdou soubory fstab, oddíl se neodpojí a hledání pokračuje ve správném oddílu.
      • Pokud jsou nalezeny soubory fstab, přečtěte si obsah fstab, abyste identifikovali kořenové zařízení a připojili ho jako základní přípojný bod.
    • Zjišťování /boot a dalších systémových oddílů:
      • Pomocí obsahu fstab zjistěte, jestli je /boot samostatný oddíl. Pokud se jedná o samostatný oddíl, získejte název zařízení spouštěcího oddílu z obsahu fstab nebo vyhledejte oddíl, který má příznak spuštění.
      • Skript bude pokračovat ve zjišťování a připojení /boot a dalších nezbytných oddílů v adresáři /mnt/azure_sms_root k sestavení kořenového stromu systému souborů vyžadovaného pro jail chroot. Mezi další nezbytné oddíly patří: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub/grub.cfg, /boot/efi (pro spouštění UEFI), /var, /lib, /etc, /usr a další.
  2. Zjištění verze operačního systému

    Po zjištění kořenového oddílu skript pomocí následujících souborů určí distribuci a verzi operačního systému Linux.

    • RHEL/CentOS: etc/redhat-release
    • OL: etc/oracle-release
    • SLES: etc/SuSE-release
    • Ubuntu: etc/lsb-release
    • Debian: etc/debian_version
  3. Instalace integračních služeb Hyper-V s Linuxem a opětovné generování image jádra

    Dalším krokem je kontrola image jádra a opětovné sestavení image inicializace Linuxu tak, aby obsahovala potřebné ovladače Hyper-V (hv_vmbus, hv_storvsc, hv_netvsc) na počátečním disku ramdisk. Opětovné sestavení image inicializačního objektu zajišťuje, že se virtuální počítač spustí v Azure.

    Azure běží na hypervisoru Hyper-V. Linux proto vyžaduje, aby se v Azure spouštěly určité moduly jádra. Pokud chcete připravit image Linuxu, musíte initrd znovu sestavit, aby byly na počátečním disku ramdisku k dispozici alespoň moduly jádra hv_vmbus a hv_storvsc. Mechanismus opětovného sestavení inicializační image nebo image initramfs se může lišit v závislosti na distribuci. Správné postupy najdete v dokumentaci nebo podpoře vaší distribuce. Tady je jeden příklad opětovného sestavení initrd pomocí nástroje mkinitrd:

    1. Vyhledání seznamu jader nainstalovaných v systému (/lib/modules)

    2. Pro každý modul zkontrolujte, jestli už jsou ovladače Hyper-V zahrnuté.

    3. Pokud některý z těchto ovladačů chybí, přidejte požadované ovladače a znovu vygenerujte image pro odpovídající verzi jádra.

      Poznámka:

      Tento krok se nemusí vztahovat na virtuální počítače s Ubuntu a Debianem, protože ovladače Hyper-V jsou ve výchozím nastavení integrované. Přečtěte si další informace o změnách.

      Ilustrativní příklad opětovného sestavení inicializačního objektu

      • Zálohování existující image initrd
       cd /boot
       sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
      
      • Znovu sestavte initrd s moduly jádra hv_vmbus a hv_storvsc:
         sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
      

    Většina nových verzí linuxových distribucí je ve výchozím nastavení zahrnutá. Pokud není součástí, nainstalujte ručně pro všechny verze kromě těch, které jsou uvedené, pomocí výše uvedených kroků.

  4. Povolení protokolování sériové konzoly Azure

    Skript pak provede změny pro povolení protokolování sériové konzoly Azure. Povolení protokolování konzoly pomáhá při řešení potíží na virtuálním počítači Azure. Další informace o sériové konzole Azure pro sériovou konzolu Azure pro Linux – Virtual Machines | Microsoft Docs.

    Upravte spouštěcí řádek jádra v GRUB nebo GRUB2 tak, aby obsahoval následující parametry, aby se všechny zprávy konzoly odesílaly na první sériový port. Tyto zprávy můžou pomoct podpora Azure s laděním jakýchkoli problémů.

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

    Pokud existují, doporučujeme odebrat také následující parametry.

    rhgb quiet crashkernel=auto
    

    Konkrétní změny najdete v tomto článku .

  5. Změny sítě pro připojení

    Na základě verze operačního systému skript provede požadované změny sítě pro připojení k migrovanému virtuálnímu počítači. Změny zahrnují:

    1. Přesuňte (nebo odeberte) pravidla udev, abyste se vyhnuli generování statických pravidel pro ethernetové rozhraní. Tato pravidla způsobují problémy při klonování virtuálního počítače v Azure.

      Ilustrativní příklad pro servery RedHat

         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. V případě potřeby odeberte Správce sítě. Správce sítě může narušovat agenta Azure Linux pro několik verzí operačního systému. Doporučujeme provést tyto změny pro servery, na kterých běží distribuce RedHat a Ubuntu.

    3. Odinstalujte tento balíček spuštěním následujícího příkazu:

      Ilustrativní příklad pro servery RedHat

         sudo rpm -e --nodeps NetworkManager
      
    4. Zálohujte existující nastavení síťové karty a vytvořte konfigurační soubor eth0 NIC pomocí nastavení DHCP. K tomu skript vytvoří nebo upraví soubor /etc/sysconfig/network-scripts/ifcfg-eth0 a přidá následující text:

      Ilustrativní příklad pro servery RedHat

         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=dhcp
         TYPE=Ethernet
         USERCTL=no
         PEERDNS=yes
         IPV6INIT=no
         PERSISTENT_DHCLIENT=yes
         NM_CONTROLLED=yes
      
    5. Resetujte soubor etc/sysconfig/network následujícím způsobem:

      Ilustrativní příklad pro servery RedHat

         NETWORKING=yes
         HOSTNAME=localhost.localdomain
      
  6. Ověřování fstab

    Azure Migrate ověří položky souboru fstab a nahradí položky fstab trvalými identifikátory svazků, identifikátory UUID všude, kde je to potřeba. Tím zajistíte, že název jednotky nebo oddílu zůstane konstantní bez ohledu na systém, ke kterému je připojený.

    • Pokud je název zařízení standardním názvem zařízení (řekněte /dev/sdb1), pak:
      • Pokud se jedná o kořenový nebo spouštěcí oddíl, nahradí se identifikátorem UUID.
      • Pokud oddíl funguje společně s kořenovým nebo spouštěcím oddílem jako standardními oddíly na stejném disku, nahradí se identifikátorem UUID.
    • Pokud je název zařízení UUID/LABEL/LV, neprovedou se žádné změny.
    • Pokud se jedná o síťové zařízení (nfs, cifs, smbfs atd.), skript zakomentuje položku. Pokud k němu chcete získat přístup, můžete zrušit komentář a restartovat virtuální počítač Azure.
  7. Instalace agenta hosta Azure pro Linux

    Azure Migrate se pokusí nainstalovat agenta Microsoft Azure Linux (waagent), zabezpečený, jednoduchý proces, který spravuje zřizování Linuxu a FreeBSD a interakci virtuálních počítačů s kontrolerem prostředků infrastruktury Azure. Přečtěte si další informace o funkcích povolených pro nasazení IaaS pro Linux a FreeBSD prostřednictvím agenta Linuxu.

    Projděte si seznam požadovaných balíčků pro instalaci agenta virtuálního počítače s Linuxem. Azure Migrate automaticky nainstaluje agenta virtuálního počítače s Linuxem pro 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 a Oracle 7 při použití metody bez agentů migrace VMware. Podle těchto pokynů nainstalujte linuxového agenta ručně pro jiné verze operačního systému.

    Pomocí příkazu můžete ověřit stav služby agenta Azure Linux a ujistit se, že je spuštěný. Název služby může být walinuxagent nebo waagent. Po dokončení změn hydrace skript odpojí všechny připojené oddíly, deaktivuje skupiny svazků a pak zařízení vyprázdní.

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

    Přečtěte si další informace o změnách pro servery s Linuxem.

Vyčištění dočasného virtuálního počítače

Po provedení nezbytných změn azure Migrate zmáčknou dočasný virtuální počítač a uvolní připojené disky s operačním systémem (a datové disky). Tím se označí konec procesu hydrace.

Potom se naklonují upravené disky s operačním systémem a datové disky, které obsahují replikovaná data. V cílové oblasti, virtuální síti a podsíti se vytvoří nový virtuální počítač a klonované disky jsou připojené k virtuálnímu počítači. Tím se označí dokončení procesu migrace.

Další informace