Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo offre una panoramica delle modifiche apportate quando si migrate macchine virtuali VMware da Azure tramite il metodo di migrazione senza agente usando lo strumento di migrazione e modernizzazione.
Attenzione
Questo articolo fa riferimento a CentOS, una distribuzione di Linux che ha raggiunto lo stato di fine del servizio (EOL). Si prega di valutare il proprio utilizzo e pianificare di conseguenza. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di vita di CentOS.
Prima di eseguire la migrazione della macchina virtuale locale a Azure, potrebbero essere necessarie alcune modifiche per rendere la macchina virtuale pronta per Azure. Queste modifiche sono importanti per assicurarsi che la macchina virtuale migrata possa essere avviata correttamente in Azure e che sia possibile stabilire la connettività alla macchina virtuale Azure. Azure Migrate gestisce automaticamente queste modifiche di configurazione per le versioni del sistema operativo seguenti per Linux e Windows. Questo processo è denominato Idratazione.
Annotazioni
Se è supportata una versione principale di un sistema operativo nella migrazione senza agente, tutte le versioni secondarie e i kernel sono supportati automaticamente.
Versioni del sistema operativo supportate per l'idratazione
- Windows Server 2008 o versione successiva
- Red Hat Enterprise Linux 10.x, 9.5, 9.x, 8.x, 7.9, 7.8, 7.7, 7.6, 7.5, 7.4, 7.3, 7.2, 7.1, 7.0, 6.x
- Flusso CentOS
- SUSE Linux Enterprise Server 15 SP6, 15 SP5, 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 13, 12, 11, 10, 9, 8, 7
- Oracle Linux 10, 9, 8, 7.7-CI, 7.7, 6
- Alma Linux 10.x, 8.x, 9.x
- Rocky Linux 10.x, 8.x, 9.x
È anche possibile usare questo articolo per preparare manualmente le macchine virtuali per la migrazione a Azure per le versioni dei sistemi operativi non elencate in precedenza. A livello generale, queste modifiche includono:
- Convalidare la presenza dei driver necessari
- Abilitare la console seriale
- Configurare le impostazioni di rete
- Installare l'agente guest della macchina virtuale
Annotazioni
Windows Server 2008, 2008 R2, 2012 e 2012 R2 hanno raggiunto la fine del supporto (EOS). Esaminare di conseguenza l'utilizzo e pianificare gli aggiornamenti e le migrazioni del sistema operativo. Per altre informazioni, vedere Fine del supporto per:
Processo di idratazione
È necessario apportare alcune modifiche alla configurazione delle macchine virtuali prima della migrazione per assicurarsi che le macchine virtuali migrate funzionino correttamente in Azure. Azure Migrate gestisce queste modifiche di configurazione tramite il processo di idratazione. Il processo di idratazione viene eseguito solo per le versioni dei sistemi operativi supportati da Azure indicati sopra. Prima di eseguire la migrazione, potrebbe essere necessario eseguire manualmente le modifiche necessarie per altre versioni del sistema operativo non elencate in precedenza. Se viene eseguita la migrazione della macchina virtuale senza le modifiche necessarie, è possibile che la macchina virtuale non venga avviata o che non si disponga della connettività alla macchina virtuale migrata. Il diagramma seguente mostra che Azure Migrate esegue il processo di idratazione.
Quando un utente attiva Test Migrate o Migrate, Azure Migrate esegue il processo di idratazione per preparare la macchina virtuale locale per la migrazione a Azure. Per configurare il processo di idratazione, Azure Migrate crea una macchina virtuale temporanea Azure e collega i dischi della macchina virtuale di origine per apportare modifiche per rendere la macchina virtuale di origine pronta per Azure. La macchina virtuale temporanea Azure è una macchina virtuale intermedia creata durante il processo di migrazione prima della creazione della macchina virtuale di cui è stata eseguita la migrazione finale. La macchina virtuale temporanea verrà creata con un tipo di sistema operativo simile (Windows/Linux) usando una delle immagini del sistema operativo del Marketplace. Se la macchina virtuale locale è in esecuzione Windows, il disco del sistema operativo della macchina virtuale locale verrà collegato come disco dati alla macchina virtuale temporanea per l'esecuzione delle modifiche. Se si tratta di un server Linux, tutti i dischi collegati alla macchina virtuale locale verranno collegati come dischi dati alla macchina virtuale temporanea Azure.
Azure Migrate creerà l'interfaccia di rete, una nuova rete virtuale, una subnet e un gruppo di sicurezza di rete (NSG) per ospitare la macchina virtuale temporanea. Queste risorse vengono create nella sottoscrizione del cliente. Se sono presenti criteri in conflitto che impediscono la creazione degli artefatti di rete, Azure Migrate tenterà di creare la macchina virtuale temporanea Azure nella rete virtuale e nella subnet fornite come parte delle opzioni delle impostazioni di destinazione della replica.
Dopo aver creato la macchina virtuale, Azure Migrate richiamerà l'estensione script Custom Script Extension nella macchina virtuale temporanea usando l'API REST della macchina virtuale Azure. L'utilità di estensione dello script personalizzato eseguirà uno script di preparazione contenente la configurazione necessaria per la prontezza di Azure sui dischi delle macchine virtuali locali collegati alla macchina virtuale temporanea di Azure. Lo script di preparazione viene scaricato da un account di archiviazione di proprietà di Azure Migrate. Le regole del gruppo di sicurezza di rete della rete virtuale verranno configurate per consentire alla macchina virtuale di Azure temporanea di accedere all'account di archiviazione Azure Migrate per richiamare lo script.
Annotazioni
I dischi delle macchine virtuali di idratazione non supportano la chiave gestita dal cliente. La chiave gestita dalla piattaforma è l'opzione predefinita.
Modifiche eseguite durante il processo di preparazione
Lo script di preparazione esegue le modifiche seguenti in base al tipo di sistema operativo della macchina virtuale di origine di cui eseguire la migrazione. È anche possibile usare questa sezione come guida per preparare manualmente le macchine virtuali per la migrazione per le versioni dei sistemi operativi non supportate per la preparazione.
Modifiche eseguite nei server Windows
Discover e preparare il volume del sistema operativo Windows
Prima di eseguire modifiche alla configurazione rilevanti, lo script di preparazione confermerà se il disco del sistema operativo corretto è stato selezionato per la migrazione. Lo script di preparazione esaminerà tutti i volumi collegati visibili al sistema e cercherà il percorso del file hive del Registro di sistema system per trovare il volume del sistema operativo di origine.
In questo passaggio vengono eseguite le azioni seguenti:
Viene montata ogni partizione sul disco del sistema operativo collegato alla macchina virtuale temporanea.
Cerca i file del Registro di sistema \Windows\System32\Config\System dopo il montaggio della partizione.
Se i file non si trovano, la partizione viene smontata e la ricerca della partizione corretta continua.
Se i file non sono presenti in una delle partizioni, potrebbe indicare che è stato selezionato un disco del sistema operativo non corretto o che il disco del sistema operativo è danneggiato. Azure Migrate non riuscirà ad eseguire il processo di migrazione, generando un errore appropriato.
Annotazioni
Questo passaggio non è rilevante se si preparano manualmente i server per la migrazione.
Apportare modifiche correlate all'avvio e alla connettività
Dopo aver rilevato i file del volume del sistema operativo di origine, lo script di preparazione caricherà l'hive del registro SYSTEM nell'editor del registro della macchina virtuale temporanea Azure ed eseguirà le modifiche seguenti per garantire l'avvio e la connettività della macchina virtuale (VM). È necessario configurare queste impostazioni manualmente se la versione del sistema operativo non è supportata per l'idratazione.
Convalidare la presenza dei driver necessari
Verificare se i driver necessari sono installati e sono impostati per il caricamento all'avvio. Questi driver Windows consentono al server di comunicare con l'hardware e altri dispositivi connessi.
- IntelIde.sys
- Atapi
- Storflt
- Storvsc
- VMbus
Impostare i criteri della rete di archiviazione (SAN) su OnlineAll.
Questo criterio assicura che i volumi di Windows nella macchina virtuale di Azure usino le stesse assegnazioni di lettere di unità della macchina virtuale locale. Per impostazione predefinita, alle macchine virtuali Azure viene assegnata l'unità D: da usare come risorsa di archiviazione temporanea. Questa assegnazione di unità comporta l'incremento di una lettera per tutte le altre assegnazioni di unità di archiviazione collegate. Per impedire questa assegnazione automatica e per assicurarsi che Azure assegni la lettera di unità disponibile successiva al relativo volume temporaneo, impostare i criteri della rete di archiviazione (SAN) su OnlineAll:
Per configurare manualmente questa impostazione:
Nel server locale aprire il prompt dei comandi con privilegi elevati e immettere diskpart.
Immettere SAN. Se la lettera di unità del sistema operativo guest non viene mantenuta, viene restituito Offline All oppure Offline Shared.
Al prompt di DISKPART immettere SAN Policy=OnlineAll. Questa impostazione garantisce che i dischi vengano portati online e che sia possibile eseguire operazioni di lettura e scrittura su entrambi i dischi.
Impostare il tipo di avvio DHCP
Lo script di preparazione imposta anche il tipo di avvio del servizio DHCP come Automatico. In questo modo la macchina virtuale migrata potrà ottenere un indirizzo IP e stabilire la connettività dopo la migrazione. Verificare che il servizio DHCP sia configurato e che lo stato sia in esecuzione.
Per modificare manualmente le impostazioni di avvio DHCP, eseguire l'esempio seguente in Windows PowerShell:
Get-Service -Name Dhcp Where-Object StartType -ne Automatic Set-Service -StartupType AutomaticDisabilitare gli strumenti VMware
Impostare il tipo di avvio del servizio "VMware Tools" su disabilitato se esiste perché non sono necessari per la macchina virtuale in Azure.
Annotazioni
Per connettersi alle macchine virtuali Windows Server 2003, Hyper-V Integration Services deve essere installato nella macchina virtuale Azure. Su Windows Server 2003 non è installato per impostazione predefinita. Vedere questo articolo per installare e preparare la migrazione.
Installare l'agente guest di Microsoft Azure
Azure Migrate tenterà di installare l'agente di macchine virtuali Microsoft Azure (agente di macchine virtuali), un processo sicuro e leggero che gestisce l'interazione della macchina virtuale con il controller di Azure Fabric. L'agente di macchine virtuali ha un ruolo primario nell'abilitazione e nell'esecuzione di Azure estensioni macchina virtuale che consentono la configurazione post-distribuzione della macchina virtuale, ad esempio l'installazione e la configurazione del software. Azure Migrate installa automaticamente l'agente di macchine virtuali Windows in Windows Server 2008 R2 e versioni successive.
L'agente di macchine virtuali Windows può essere installato manualmente con un pacchetto del programma di installazione di Windows. Per installare manualmente l'agente di macchine virtuali Windows, scaricare il programma di installazione dell'agente di macchine virtuali. È anche possibile cercare una versione specifica nelle versioni dell'agente di macchine virtuali IaaS GitHub Windows. L'agente di macchine virtuali è supportato in Windows Server 2008 (64 bit) e versioni successive.
Per verificare se l'agente di macchine virtuali di Azure è stato installato correttamente, passare alla scheda Task Manager, selezionare la scheda Details e cercare il nome del processo WindowsAzureGuestAgent.exe. La presenza di questo processo indica che l'agente di macchine virtuali è installato. È anche possibile usare PowerShell per rilevare l'agente di macchine virtuali.
Dopo l'esecuzione delle modifiche sopra indicate, verrà scaricata la partizione di sistema. La macchina virtuale è ora pronta per la migrazione. Altre informazioni sulle modifiche per Windows servers.
Modifiche apportate nei server Linux
Individuare e montare partizioni del sistema operativo Linux
Prima di eseguire modifiche alla configurazione rilevanti, lo script di preparazione confermerà se il disco del sistema operativo corretto è stato selezionato per la migrazione. Lo script raccoglierà informazioni su tutte le partizioni, sui relativi UUID e i punti di montaggio. Lo script esaminerà tutte le partizioni visibili per individuare le partizioni /boot e /root.
In questo passaggio vengono eseguite le azioni seguenti:
- Individuare la partizione /root:
- Montare ogni partizione visibile e cercare etc/fstab.
- Se i file fstab non si trovano, la partizione viene smontata e la ricerca della partizione corretta continua.
- Se si trovano i file fstab, leggere il contenuto fstab per identificare il dispositivo radice e montarlo come punto di montaggio di base.
- Individuare /boot e altre partizioni di sistema:
- Usare il contenuto fstab per determinare se /boot è una partizione separata. Se si tratta di una partizione separata, ottenere il nome del dispositivo della partizione di avvio dal contenuto fstab o cercare la partizione, che ha il flag di avvio.
- Lo script procederà con l'individuazione e il montaggio di /boot e di altre partizioni necessarie in "/mnt/azure_sms_root" per compilare l'albero del file system radice necessario per il jail chroot. Tra le altre partizioni necessarie ci sono: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub.cfg, /boot/efi (per avvio UEFI), /var, /lib, /etc, /usr e altre.
- Individuare la partizione /root:
Individuare la versione del sistema operativo
Dopo aver individuato la partizione radice, lo script userà i file seguenti per determinare la distribuzione e la versione del sistema operativo Linux.
- RHEL: etc/redhat-release
- OL: etc/oracle-release
- SLES: etc/SuSE-release
- Ubuntu: etc/lsb-release
- Debian: etc/debian_version
Installare Hyper-V Linux Integration Services e rigenerare l'immagine del kernel
Il passaggio successivo consiste nell'esaminare l'immagine del kernel e ricompilare l'immagine init di Linux in modo che contenga i driver Hyper-V necessari (hv_vmbus, hv_storvsc, hv_netvsc) nel disco ram iniziale. La ricompilazione dell'immagine init garantisce che la macchina virtuale venga avviata in Azure.
Azure viene eseguito nell'hypervisor di Hyper-V. Linux richiede quindi l'esecuzione di alcuni moduli kernel in Azure. Per preparare l'immagine Linux, è necessario ricompilare initrd in modo che almeno i moduli kernel hv_vmbus e hv_storvsc siano disponibili nel disco ram iniziale. Il meccanismo per ricreare l'immagine initrd o initramfs può variare a seconda della distribuzione. Per la procedura appropriata, consultare la documentazione della distribuzione o il supporto. Di seguito è riportato un esempio di come ricompilare l'immagine initrd tramite l'utilità mkinitrd:
Trovare l'elenco dei kernel installati nel sistema (/lib/modules)
Per ogni modulo, controllare se i driver Hyper-V sono già inclusi.
Se uno di questi driver non è presente, aggiungere i driver necessari e rigenerare l'immagine per la versione del kernel corrispondente.
Annotazioni
Questo passaggio potrebbe non essere applicabile alle macchine virtuali Ubuntu e Debian perché i driver Hyper-V sono incorporati per impostazione predefinita. Altre informazioni sulle modifiche.
Esempio illustrativo per la ricompilazione di initrd
- Eseguire il backup dell'immagine initrd esistente
cd /boot sudo cp initrd-`uname -r`.img initrd-`uname -r`.img.bak- Ricompilare initrd con i moduli kernel hv_vmbus e hv_storvsc:
sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
Nella maggior parte delle nuove versioni delle distribuzioni di Linux è presente per impostazione predefinita. Se non è inclusa, installarla manualmente per tutte le versioni ad eccezione di quelle evidenziate, seguendo la procedura indicata in precedenza.
Abilita la registrazione della console seriale di Azure
Lo script apporterà quindi modifiche per abilitare la registrazione della console seriale di Azure. L'abilitazione della registrazione della console consente di risolvere i problemi nella macchina virtuale Azure. Altre informazioni sulla console seriale Azure per Linux Azure Console seriale per Linux - Macchine virtuali | Microsoft Docs.
Modificare la riga di avvio del kernel in GRUB o GRUB2 in modo da includere i parametri seguenti, perché tutti i messaggi della console vengano inviati alla prima porta seriale. Questi messaggi possono essere utili per supporto tecnico di Azure con il debug di eventuali problemi.
console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300È inoltre consigliabile rimuovere i parametri seguenti, se presenti.
rhgb quiet crashkernel=autoPer modifiche specifiche, vedere questo articolo.
Modifiche di rete per la connettività
In base alla versione del sistema operativo, lo script eseguirà le modifiche di rete necessarie per la connettività alla macchina virtuale migrata. Le modifiche includono:
Spostare o eliminare le regole udev per evitare la generazione di regole statiche per l'interfaccia Ethernet. Queste regole causano problemi quando si clona una macchina virtuale in Azure.
Esempio illustrativo per i server 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.rulesRimuovere Gestione rete, se necessario. Network Manager può interferire con l'agente Linux Azure per alcune versioni del sistema operativo. È consigliabile apportare queste modifiche per i server che eseguono distribuzioni RedHat e Ubuntu.
Disinstallare il pacchetto eseguendo questo comando:
Esempio illustrativo per i server RedHat
sudo rpm -e --nodeps NetworkManagerEseguire il backup delle impostazioni NIC esistenti e creare il file di configurazione della scheda di interfaccia di rete eth0 con le impostazioni DHCP. A tale scopo, lo script creerà o modificherà il file /etc/sysconfig/network-scripts/ifcfg-eth0 e aggiungerà il testo seguente:
Esempio illustrativo per i server RedHat
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no PERSISTENT_DHCLIENT=yes NM_CONTROLLED=yesReimpostare il file etc/sysconfig/network come indicato di seguito:
Esempio illustrativo per i server RedHat
NETWORKING=yes HOSTNAME=localhost.localdomain
Convalida di "fstab"
Azure Migrate convaliderà le voci del file fstab e sostituirà le voci fstab con identificatori di volume permanenti, UUID, ovunque necessario. In questo modo, il nome dell'unità/partizione rimane costante indipendentemente dal sistema a cui è collegato.
- Se il nome del dispositivo è un nome di dispositivo standard (/dev/sdb1), allora:
- Se si tratta di una partizione radice o di avvio, viene sostituita da UUID.
- Se la partizione coesiste con la partizione radice o di avvio come partizioni standard nello stesso disco, viene sostituita da UUID.
- Se il nome del dispositivo è UUID/LABEL/LV, non verranno apportate modifiche.
- Se si tratta di un dispositivo di rete (nfs, cifs, smbfs e così via), lo script commenterà la voce. Per accedervi, è possibile rimuovere il commento relativo e riavviare la macchina virtuale Azure.
- Se il nome del dispositivo è un nome di dispositivo standard (/dev/sdb1), allora:
Installare l'agente guest di Linux Azure
Azure Migrate tenterà di installare l'agente Linux Microsoft Azure (waagent), un processo sicuro e leggero che gestisce Linux & Provisioning FreeBSD e interazione della macchina virtuale con il controller di Azure Fabric. Altre informazioni sulle funzionalità abilitate per le distribuzioni IaaS di Linux e FreeBSD tramite l'agente Linux.
Esaminare l'elenco dei pacchetti necessari per installare l'agente di macchine virtuali Linux. Azure Migrate installa automaticamente l'agente di macchine virtuali Linux per RHEL 10.x, 9.x, 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 13/12/11/10/10/9/8/7 e Oracle 10/9/9/8/7/6 quando si usa il metodo senza agente di migrazione VMware. Seguire queste istruzioni per installare manualmente l'agente Linux per altre versioni del sistema operativo.
È possibile usare il comando per verificare lo stato del servizio dell'agente Linux Azure per assicurarsi che sia in esecuzione. Il nome del servizio potrebbe essere walinuxagent o waagent. Una volta apportate le modifiche di idratazione, lo script smonterà tutte le partizioni montate, disattiverà i gruppi di volumi e scaricherà i dispositivi.
sudo vgchange -an <vg-name> sudo lockdev –flushbufs <disk-device-name>
Pulire la macchina virtuale temporanea
Dopo aver eseguito le modifiche necessarie, Azure Migrate spegne la macchina virtuale temporanea e libera i dischi del sistema operativo collegati (e i dischi dati). Questo segna la fine del processo di idratazione.
Successivamente, vengono clonati il disco del sistema operativo modificato e i dischi dati che contengono i dati replicati. Viene creata una nuova macchina virtuale nell'area di destinazione, rete virtuale e subnet, e i dischi clonati vengono collegati alla macchina virtuale. Il completamento del processo di migrazione viene contrassegnato.