Preparare una macchina virtuale basata su CentOS per AzurePrepare a CentOS-based virtual machine for Azure

Nota

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. In questo articolo viene illustrato l'utilizzo di entrambi i modelli, ma Microsoft indica che le distribuzioni più nuove utilizzano il modello di gestione delle risorse.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

PrerequisitiPrerequisites

In questo articolo si presuppone che l'utente abbia già installato un sistema operativo Linux CentOS (o un sistema derivato simile) in un disco rigido virtuale.This article assumes that you have already installed a CentOS (or similar derivative) Linux operating system to a virtual hard disk. Sono disponibili vari strumenti per creare file con estensione vhd, ad esempio una soluzione di virtualizzazione come Hyper-V.Multiple tools exist to create .vhd files, for example a virtualization solution such as Hyper-V. Per istruzioni, vedere Installare il ruolo Hyper-V e configurare una macchina virtuale.For instructions, see Install the Hyper-V Role and Configure a Virtual Machine.

Note sull'installazione di CentOSCentOS installation notes

  • Vedere anche Note generali sull'installazione di Linux per altri suggerimenti sulla preparazione di Linux per Azure.Please see also General Linux Installation Notes for more tips on preparing Linux for Azure.
  • Il formato VHDX non è supportato in Azure, solo nei VHD fissi.The VHDX format is not supported in Azure, only fixed VHD. È possibile convertire il disco in formato VHD tramite la console di gestione di Hyper-V o il cmdlet convert-vhd.You can convert the disk to VHD format using Hyper-V Manager or the convert-vhd cmdlet. Se si usa VirtualBox, ciò significa che è stato selezionato Dimensioni fisse anziché il valore predefinito allocato in modo dinamico durante la creazione del disco.If you are using VirtualBox this means selecting Fixed size as opposed to the default dynamically allocated when creating the disk.
  • Durante l'installazione del sistema Linux è consigliabile usare partizioni standard anziché LVM, spesso la scelta predefinita per numerose installazioni.When installing the Linux system it is recommended that you use standard partitions rather than LVM (often the default for many installations). In questo modo sarà possibile evitare conflitti di nome LVM con le macchine virtuali clonate, in particolare se fosse necessario collegare un disco del sistema operativo a un'altra macchina virtuale identica per la risoluzione dei problemi.This will avoid LVM name conflicts with cloned VMs, particularly if an OS disk ever needs to be attached to another identical VM for troubleshooting. È possibile usare LVM o RAID su dischi di dati.LVM or RAID may be used on data disks.
  • Per l'installazione di file system UDF è necessario il supporto di kernel.Kernel support for mounting UDF file systems is required. Al primo avvio in Azure la configurazione del provisioning viene passata alla macchina virtuale Linux tramite supporti di memorizzazione formattati con UDF, collegati al guest.At first boot on Azure the provisioning configuration is passed to the Linux VM via UDF-formatted media that is attached to the guest. È necessario che l'agente Linux di Azure possa montare il file system UDF per leggere la relativa configurazione ed eseguire il provisioning della macchina virtuale.The Azure Linux agent must be able to mount the UDF file system to read its configuration and provision the VM.
  • Le versioni di kernel Linux inferiori a 2.6.37 non supportano NUMA su Hyper-V con macchine virtuali di dimensioni maggiori.Linux kernel versions below 2.6.37 do not support NUMA on Hyper-V with larger VM sizes. Questo problema incide principalmente sulle distribuzioni precedenti che usavano il kernel upstream Red Hat 2.6.32. Il problema è stato risolto in RHEL 6.6 (kernel-2.6.32-504).This issue primarily impacts older distributions using the upstream Red Hat 2.6.32 kernel, and was fixed in RHEL 6.6 (kernel-2.6.32-504). I sistemi che eseguono kernel personalizzati con versione precedente alla versione 2.6.37 o kernel basati su RHEL con versione precedente alla versione 2.6.32-504 devono impostare il parametro di avvio numa=off nella riga di comando del kernel in rub.conf.Systems running custom kernels older than 2.6.37, or RHEL-based kernels older than 2.6.32-504 must set the boot parameter numa=off on the kernel command-line in grub.conf. Per altre informazioni, vedere l'articolo Red Hat KB 436883.For more information see Red Hat KB 436883.
  • Non configurare una partizione swap nel disco del sistema operativo.Do not configure a swap partition on the OS disk. L'agente Linux può essere configurato in modo da creare un file swap sul disco temporaneo delle risorse.The Linux agent can be configured to create a swap file on the temporary resource disk. Altre informazioni su questo argomento sono disponibili nei passaggi seguenti.More information about this can be found in the steps below.
  • Tutti i dischi rigidi virtuali devono avere dimensioni multiple di 1 MB.All of the VHDs must have sizes that are multiples of 1 MB.

CentOS 6.xCentOS 6.x

  1. Nella console di gestione di Hyper-V selezionare la macchina virtuale.In Hyper-V Manager, select the virtual machine.

  2. Fare clic su Connetti per aprire una finestra della console per la macchina virtuale.Click Connect to open a console window for the virtual machine.

  3. In CentOS 6, NetworkManager può interferire con l'agente Linux di Azure.In CentOS 6, NetworkManager can interfere with the Azure Linux agent. Disinstallare il pacchetto eseguendo questo comando:Uninstall this package by running the following command:

     # sudo rpm -e --nodeps NetworkManager
    
  4. Creare o modificare il file /etc/sysconfig/network e aggiungere il testo seguente:Create or edit the file /etc/sysconfig/network and add the following text:

     NETWORKING=yes
     HOSTNAME=localhost.localdomain
    
  5. Creare o modificare il file /etc/sysconfig/network-scripts/ifcfg-eth0 e aggiungere il testo seguente:Create or edit the file /etc/sysconfig/network-scripts/ifcfg-eth0 and add the following text:

     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=dhcp
     TYPE=Ethernet
     USERCTL=no
     PEERDNS=yes
     IPV6INIT=no
    
  6. Modificare le regole udev per evitare la generazione di regole statiche per l'interfaccia Ethernet.Modify udev rules to avoid generating static rules for the Ethernet interface(s). Le regole seguenti possono provocare problemi quando si clona una macchina virtuale in Microsoft Azure o Hyper-V:These rules can cause problems when cloning a virtual machine in Microsoft Azure or Hyper-V:

     # 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
    
  7. Assicurarsi che il servizio di rete venga eseguito all'avvio eseguendo il comando seguente:Ensure the network service will start at boot time by running the following command:

     # sudo chkconfig network on
    
  8. Se si vogliono usare i mirror OpenLogic ospitati nei data center di Azure, sostituire il file /etc/yum.repos.d/CentOS-Base.repo con i repository seguenti.If you would like to use the OpenLogic mirrors that are hosted within the Azure datacenters, then replace the /etc/yum.repos.d/CentOS-Base.repo file with the following repositories. Verrà così aggiunto anche il repository [openlogic] che include pacchetti aggiuntivi come l'agente Linux di Azure:This will also add the [openlogic] repository that includes additional packages such as the Azure Linux agent:

     [openlogic]
     name=CentOS-$releasever - openlogic packages for $basearch
     baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/
     enabled=1
     gpgcheck=0
    
     [base]
     name=CentOS-$releasever - Base
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
     #released updates
     [updates]
     name=CentOS-$releasever - Updates
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
     #additional packages that may be useful
     [extras]
     name=CentOS-$releasever - Extras
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
     #additional packages that extend functionality of existing packages
     [centosplus]
     name=CentOS-$releasever - Plus
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/
     gpgcheck=1
     enabled=0
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
     #contrib - packages by Centos Users
     [contrib]
     name=CentOS-$releasever - Contrib
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/contrib/$basearch/
     gpgcheck=1
     enabled=0
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    

    Nota

    La parte restante di questa guida presuppone che l'utente usi almeno il repository [openlogic], con cui verrà installato l'agente Linux di Azure illustrato di seguito.The rest of this guide will assume you are using at least the [openlogic] repo, which will be used to install the Azure Linux agent below.

  9. Aggiungere la seguente riga a /etc/yum.conf:Add the following line to /etc/yum.conf:

     http_caching=packages
    
  10. Eseguire questo comando per cancellare i metadati yum correnti e aggiornare il sistema con i pacchetti più recenti:Run the following command to clear the current yum metadata and update the system with the latest packages:

    # yum clean all
    

    A meno che non si crei un'immagine per una versione precedente di CentOS, è consigliabile aggiornare tutti i pacchetti all'ultima versione:Unless you are creating an image for an older version of CentOS, it is recommended to update all the packages to the latest:

    # sudo yum -y update
    

    Dopo l'esecuzione di questo comando potrebbe essere necessario un riavvio.A reboot may be required after running this command.

  11. (Facoltativo) Installare i driver per Linux Integration Services (LIS).(Optional) Install the drivers for the Linux Integration Services (LIS).

    Importante

    Questo passaggio è obbligatorio per CentOS 6.3 e le versioni precedenti e facoltativo per le versioni successive.The step is required for CentOS 6.3 and earlier, and optional for later releases.

    # sudo rpm -e hypervkvpd  ## (may return error if not installed, that's OK)
    # sudo yum install microsoft-hyper-v
    

    In alternativa, seguire le istruzioni per l'installazione manuale disponibili nella pagina di download di LIS per installare RPM nella VM.Alternatively, you can follow the manual installation instructions on the LIS download page to install the RPM onto your VM.

  12. Installare l'agente Linux di Azure e le dipendenze:Install the Azure Linux Agent and dependencies:

    # sudo yum install python-pyasn1 WALinuxAgent
    

    Il pacchetto WALinuxAgent rimuoverà i pacchetti NetworkManager e NetworkManager-gnome, se non sono già stati rimossi come descritto nel passaggio 3.The WALinuxAgent package will remove the NetworkManager and NetworkManager-gnome packages if they were not already removed as described in step 3.

  13. Modificare la riga di avvio del kernel nella configurazione GRUB per includere ulteriori parametri del kernel per Azure.Modify the kernel boot line in your grub configuration to include additional kernel parameters for Azure. A questo scopo, aprire /boot/grub/menu.lst in un editor di testo e verificare che il kernel predefinito includa i parametri seguenti:To do this, open /boot/grub/menu.lst in a text editor and ensure that the default kernel includes the following parameters:

    console=ttyS0 earlyprintk=ttyS0 rootdelay=300
    

    In questo modo si garantisce inoltre che tutti i messaggi della console vengano inviati alla prima porta seriale, agevolando così il supporto di Azure nella risoluzione dei problemi di debug.This will also ensure all console messages are sent to the first serial port, which can assist Azure support with debugging issues.

    Inoltre, è consigliabile rimuovere i parametri seguenti:In addition to the above, it is recommended to remove the following parameters:

    rhgb quiet crashkernel=auto
    

    L'avvio grafico e l'avvio silenzioso non sono utili in un ambiente cloud se tutti i log devono essere inviati alla porta seriale.Graphical and quiet boot are not useful in a cloud environment where we want all the logs to be sent to the serial port. L'opzione crashkernel può essere configurata, ma si tenga presente che questo parametro ridurrà la quantità di memoria disponibile nella macchina virtuale di almeno 128 MB, il che potrebbe causare problemi con le macchine virtuali di dimensioni inferiori.The crashkernel option may be left configured if desired, but note that this parameter will reduce the amount of available memory in the VM by 128MB or more, which may be problematic on the smaller VM sizes.

    Importante

    Per CentOS 6.5 e le versioni precedenti deve essere impostato anche il parametro del kernel numa=off.CentOS 6.5 and earlier must also set the kernel parameter numa=off. Vedere l'articolo KB 436883 di Red Hat.See Red Hat KB 436883.

  14. Verificare che il server SSH sia installato e configurato per l'esecuzione all'avvio.Ensure that the SSH server is installed and configured to start at boot time. Questo è in genere il valore predefinito.This is usually the default.

  15. Non creare l'area di swap sul disco del sistema operativo.Do not create swap space on the OS disk.

    L'agente Linux di Azure può configurare automaticamente l'area di swap utilizzando il disco risorse locale collegato alla VM dopo il provisioning in Azure.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. Si noti che il disco risorse locale è un disco temporaneo e potrebbe essere svuotato in seguito al deprovisioning della macchina virtuale.Note that the local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. Dopo aver installato l'agente Linux di Azure come illustrato nel passaggio precedente, modificare i seguenti parametri di /etc/waagent.conf in modo appropriato:After installing the Azure Linux Agent (see previous step), modify the following parameters in /etc/waagent.conf appropriately:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  16. Eseguire i comandi seguenti per effettuare il deprovisioning della macchina virtuale e prepararla per il provisioning in Azure:Run the following commands to deprovision the virtual machine and prepare it for provisioning on Azure:

    # sudo waagent -force -deprovision
    # export HISTSIZE=0
    # logout
    
  17. Fare clic su Azione -> Arresta nella console di gestione di Hyper-V.Click Action -> Shut Down in Hyper-V Manager. Il file VHD Linux è ora pronto per il caricamento in Azure.Your Linux VHD is now ready to be uploaded to Azure.


CentOS 7.0+CentOS 7.0+

Modifiche in CentOS 7 (e sistemi derivati simili)Changes in CentOS 7 (and similar derivatives)

La preparazione di una macchina virtuale CentOS 7 per Azure è molto simile a CentOS 6, tuttavia vi sono alcune importanti differenze da notare:Preparing a CentOS 7 virtual machine for Azure is very similar to CentOS 6, however there are several important differences worth noting:

  • Il pacchetto NetworkManager e l'agente Linux di Azure non sono più in conflitto.The NetworkManager package no longer conflicts with the Azure Linux agent. Questo pacchetto viene installato per impostazione predefinita ed è consigliabile non rimuoverlo.This package is installed by default and we recommend that it is not removed.
  • GRUB2 viene ora usato come bootloader predefinito, quindi la procedura per la modifica dei parametri kernel è cambiata (vedere di seguito).GRUB2 is now used as the default bootloader, so the procedure for editing kernel parameters has changed (see below).
  • XFS è ora il file system predefinito.XFS is now the default file system. Se si vuole, è ancora possibile usare il file system ext4.The ext4 file system can still be used if desired.

Procedura di configurazioneConfiguration Steps

  1. Nella console di gestione di Hyper-V selezionare la macchina virtuale.In Hyper-V Manager, select the virtual machine.

  2. Fare clic su Connetti per aprire una finestra della console per la macchina virtuale.Click Connect to open a console window for the virtual machine.

  3. Creare o modificare il file /etc/sysconfig/network e aggiungere il testo seguente:Create or edit the file /etc/sysconfig/network and add the following text:

     NETWORKING=yes
     HOSTNAME=localhost.localdomain
    
  4. Creare o modificare il file /etc/sysconfig/network-scripts/ifcfg-eth0 e aggiungere il testo seguente:Create or edit the file /etc/sysconfig/network-scripts/ifcfg-eth0 and add the following text:

     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=dhcp
     TYPE=Ethernet
     USERCTL=no
     PEERDNS=yes
     IPV6INIT=no
     NM_CONTROLLED=no
    
  5. Modificare le regole udev per evitare la generazione di regole statiche per l'interfaccia Ethernet.Modify udev rules to avoid generating static rules for the Ethernet interface(s). Le regole seguenti possono provocare problemi quando si clona una macchina virtuale in Microsoft Azure o Hyper-V:These rules can cause problems when cloning a virtual machine in Microsoft Azure or Hyper-V:

     # sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
    
  6. Se si vogliono usare i mirror OpenLogic ospitati nei data center di Azure, sostituire il file /etc/yum.repos.d/CentOS-Base.repo con i repository seguenti.If you would like to use the OpenLogic mirrors that are hosted within the Azure datacenters, then replace the /etc/yum.repos.d/CentOS-Base.repo file with the following repositories. Verrà aggiunto anche il repository [openlogic] che include i pacchetti per l'agente Linux di Azure:This will also add the [openlogic] repository that includes packages for the Azure Linux agent:

     [openlogic]
     name=CentOS-$releasever - openlogic packages for $basearch
     baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/
     enabled=1
     gpgcheck=0
    
     [base]
     name=CentOS-$releasever - Base
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
     #released updates
     [updates]
     name=CentOS-$releasever - Updates
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
     #additional packages that may be useful
     [extras]
     name=CentOS-$releasever - Extras
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/
     gpgcheck=1
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
     #additional packages that extend functionality of existing packages
     [centosplus]
     name=CentOS-$releasever - Plus
     #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
     baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/
     gpgcheck=1
     enabled=0
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

    Nota

    La parte restante di questa guida presuppone che l'utente usi almeno il repository [openlogic], con cui verrà installato l'agente Linux di Azure illustrato di seguito.The rest of this guide will assume you are using at least the [openlogic] repo, which will be used to install the Azure Linux agent below.

  7. Eseguire il comando seguente per cancellare i metadati yum correnti e installare eventuali aggiornamenti:Run the following command to clear the current yum metadata and install any updates:

     # sudo yum clean all
    

    A meno che non si crei un'immagine per una versione precedente di CentOS, è consigliabile aggiornare tutti i pacchetti all'ultima versione:Unless you are creating an image for an older version of CentOS, it is recommended to update all the packages to the latest:

     # sudo yum -y update
    

    Dopo l'esecuzione di questo comando potrebbe essere necessario un riavvio.A reboot maybe required after running this command.

  8. Modificare la riga di avvio del kernel nella configurazione GRUB per includere ulteriori parametri del kernel per Azure.Modify the kernel boot line in your grub configuration to include additional kernel parameters for Azure. A tale scopo, aprire /etc/default/grub in un editor di testo e modificare il parametro GRUB_CMDLINE_LINUX, ad esempio:To do this, open /etc/default/grub in a text editor and edit the GRUB_CMDLINE_LINUX parameter, for example:

     GRUB_CMDLINE_LINUX="rootdelay=300 console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
    

    In questo modo si garantisce inoltre che tutti i messaggi della console vengano inviati alla prima porta seriale, agevolando così il supporto di Azure nella risoluzione dei problemi di debug.This will also ensure all console messages are sent to the first serial port, which can assist Azure support with debugging issues. Disattiva anche nuove convenzioni di denominazione CentOS 7 per NIC.It also turns off the new CentOS 7 naming conventions for NICs. Inoltre, è consigliabile rimuovere i parametri seguenti:In addition to the above, it is recommended to remove the following parameters:

     rhgb quiet crashkernel=auto
    

    L'avvio grafico e l'avvio silenzioso non sono utili in un ambiente cloud se tutti i log devono essere inviati alla porta seriale.Graphical and quiet boot are not useful in a cloud environment where we want all the logs to be sent to the serial port. L'opzione crashkernel può essere configurata, ma si tenga presente che questo parametro ridurrà la quantità di memoria disponibile nella macchina virtuale di almeno 128 MB, il che potrebbe causare problemi con le macchine virtuali di dimensioni inferiori.The crashkernel option may be left configured if desired, but note that this parameter will reduce the amount of available memory in the VM by 128MB or more, which may be problematic on the smaller VM sizes.

  9. Dopo aver terminato di modificare /etc/default/grub come sopra illustrato, eseguire il comando seguente per ricompilare la configurazione GRUB:Once you are done editing /etc/default/grub per above, run the following command to rebuild the grub configuration:

     # sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  10. Se si compila l'immagine da VMWare, VirtualBox o KVM, verificare che i driver Hyper-V siano inclusi in initramfs:If building the image from VMWare, VirtualBox or KVM: Ensure the Hyper-V drivers are included in the initramfs:

    Modificare /etc/dracut.confe aggiungere il contenuto:Edit /etc/dracut.conf, add content:

    add_drivers+=”hv_vmbus hv_netvsc hv_storvsc”
    

    Ricompilare l’initramfs:Rebuild the initramfs:

    # sudo dracut –f -v
    
  11. Installare l'agente Linux di Azure e le dipendenze:Install the Azure Linux Agent and dependencies:

    # sudo yum install python-pyasn1 WALinuxAgent
    # sudo systemctl enable waagent
    
  12. Non creare l'area di swap sul disco del sistema operativo.Do not create swap space on the OS disk.

    L'agente Linux di Azure può configurare automaticamente l'area di swap utilizzando il disco risorse locale collegato alla VM dopo il provisioning in Azure.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. Si noti che il disco risorse locale è un disco temporaneo e potrebbe essere svuotato in seguito al deprovisioning della macchina virtuale.Note that the local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. Dopo aver installato l'agente Linux di Azure come illustrato nel passaggio precedente, modificare i seguenti parametri di /etc/waagent.conf in modo appropriato:After installing the Azure Linux Agent (see previous step), modify the following parameters in /etc/waagent.conf appropriately:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  13. Eseguire i comandi seguenti per effettuare il deprovisioning della macchina virtuale e prepararla per il provisioning in Azure:Run the following commands to deprovision the virtual machine and prepare it for provisioning on Azure:

    # sudo waagent -force -deprovision
    # export HISTSIZE=0
    # logout
    
  14. Fare clic su Azione -> Arresta nella console di gestione di Hyper-V.Click Action -> Shut Down in Hyper-V Manager. Il file VHD Linux è ora pronto per il caricamento in Azure.Your Linux VHD is now ready to be uploaded to Azure.

Passaggi successiviNext steps

È ora possibile usare il disco rigido virtuale CentOS Linux per creare nuove macchine virtuali in Azure.You're now ready to use your CentOS Linux virtual hard disk to create new virtual machines in Azure. Se è la prima volta che si carica il file VHD in Azure, vedere i passaggi 2 e 3 nell'articolo Creazione e caricamento di un disco rigido virtuale che contiene il sistema operativo Linux.If this is the first time that you're uploading the .vhd file to Azure, see steps 2 and 3 in Creating and uploading a virtual hard disk that contains the Linux operating system.