Creare e caricare un disco rigido virtuale con FreeBSD in AzureCreate and upload a FreeBSD VHD to Azure

Questo articolo descrive come creare e caricare un disco rigido virtuale (VHD) che contiene il sistema operativo FreeBSD.This article shows you how to create and upload a virtual hard disk (VHD) that contains the FreeBSD operating system. Dopo il caricamento, è possibile usarlo come immagine personalizzata per creare una macchina virtuale in Azure.After you upload it, you can use it as your own image to create a virtual machine (VM) in Azure.

Importante

Azure offre due diversi 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. Questo articolo illustra l'uso del modello di distribuzione classica.This article covers using the Classic deployment model. Microsoft consiglia di usare il modello di Gestione risorse per le distribuzioni più recenti.Microsoft recommends that most new deployments use the Resource Manager model. Per informazioni sul caricamento di un disco rigido virtuale usando il modello di Resource Manager, vedere qui.For information about uploading a VHD using the Resource Manager model, see here.

PrerequisitiPrerequisites

In questo articolo si presuppone che l'utente disponga degli elementi seguenti:This article assumes that you have the following items:

  • Una sottoscrizione Azure: se non è già disponibile un account, è possibile crearne uno in pochi minuti.An Azure subscription--If you don't have an account, you can create one in just a couple of minutes. Se si ha un abbonamento a MSDN, vedere Credito Azure mensile per sottoscrittori di Visual Studio.If you have an MSDN subscription, see Monthly Azure credit for Visual Studio subscribers. Altrimenti, vedere Crea subito il tuo account Azure gratuito.Otherwise, learn how to create a free trial account.
  • Strumenti di Azure PowerShell: è necessario che il modulo Microsoft Azure PowerShell sia installato e configurato per usare la sottoscrizione di Azure.Azure PowerShell tools--The Azure PowerShell module must be installed and configured to use your Azure subscription. Per scaricare il modulo, vedere la pagina dei download di Azure.To download the module, see Azure downloads. Qui è disponibile un'esercitazione che descrive come installare e configurare il modulo.A tutorial that describes how to install and configure the module is available here. Per caricare il disco rigido virtuale usare il cmdlet nella pagina Download di Azure .Use the Azure Downloads cmdlet to upload the VHD.
  • Sistema operativo FreeBSD installato in un file VHD: è necessario installare un sistema operativo FreeBSD supportato in un disco rigido virtuale.FreeBSD operating system installed in a .vhd file--A supported FreeBSD operating system must be installed to a virtual hard disk. Sono disponibili vari strumenti per la creazione di file VHD.Multiple tools exist to create .vhd files. Ad esempio, per creare il file VHD e installare il sistema operativo, è possibile usare soluzioni di virtualizzazione come Hyper-V.For example, you can use a virtualization solution such as Hyper-V to create the .vhd file and install the operating system. Per istruzioni, vedere su come installare e usare Hyper-V, vedere Installare Hyper-V e creare una macchina virtuale.For instructions about how to install and use Hyper-V, see Install Hyper-V and create a virtual machine.

Nota

Il formato VHDX più recente non è supportato in Azure.The newer VHDX format is not supported in Azure. È 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 by using Hyper-V Manager or the cmdlet convert-vhd. È disponibile anche un' esercitazione in MSDN sull'uso di FreeBSD con Hyper-V.In addition, there is a tutorial on MSDN about how to use FreeBSD with Hyper-V.

Questa attività include i quattro passaggi seguenti:This task includes the following four steps:

Passaggio 1: preparare l'immagine da caricareStep 1: Prepare the image for upload

Dalla macchina virtuale in cui è stato installato il sistema operativo FreeBSD, completare le procedure seguenti:On the virtual machine where you installed the FreeBSD operating system, complete the following procedures:

  1. Abilitare DHCP.Enable DHCP.

     # echo 'ifconfig_hn0="SYNCDHCP"' >> /etc/rc.conf
     # service netif restart
    
  2. Abilitare SSH.Enable SSH.

    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. SSH è abilitato per impostazione predefinita dopo l'installazione dal disco FreeBSD.By default it is enabled after installation from FreeBSD disc.

  3. Configurare la console seriale.Set up a serial console.

     # echo 'console="comconsole vidconsole"' >> /boot/loader.conf
     # echo 'comconsole_speed="115200"' >> /boot/loader.conf
    
  4. Installare sudo.Install sudo.

    L'account radice è disabilitato in Azure.The root account is disabled in Azure. Ciò significa che per eseguire comandi con privilegi elevati da un account utente senza privilegi è necessario usare sudo.This means you need to utilize sudo from an unprivileged user to run commands with elevated privileges.

     # pkg install sudo
    
  5. Prerequisiti per l'agente di Azure.Prerequisites for Azure Agent.

     # pkg install python27  
     # pkg install Py27-setuptools  
     # ln -s /usr/local/bin/python2.7 /usr/bin/python   
     # pkg install git
    
  6. Installare l'agente di Azure.Install Azure Agent.

    L'ultima versione dell'agente di Azure è sempre disponibile in github.The latest release of the Azure Agent can always be found on github. La versione 2.0.10+ supporta ufficialmente FreeBSD 10 e 10.1, mentre la versione 2.1.4+ (inclusa la 2.2.x) supporta ufficialmente FreeBSD 10.2 e versioni successive.The version 2.0.10 + officially supports FreeBSD 10 & 10.1, and the version 2.1.4 + (including 2.2.x) officially supports FreeBSD 10.2 and later releases.

     # git clone https://github.com/Azure/WALinuxAgent.git  
     # cd WALinuxAgent  
     # git tag  
     …
     WALinuxAgent-2.0.16
     …
     v2.1.4
     v2.1.4.rc0
     v2.1.4.rc1
    

    Per la versione 2.0 verrà usata come esempio la versione 2.0.16:For 2.0, let's use 2.0.16 as an example:

     # git checkout WALinuxAgent-2.0.16
     # python setup.py install  
     # ln -sf /usr/local/sbin/waagent /usr/sbin/waagent  
    

    Per la versione 2.1 verrà usata come esempio la versione 2.1.4:For 2.1, let's use 2.1.4 as an example:

     # git checkout v2.1.4
     # python setup.py install  
     # ln -sf /usr/local/sbin/waagent /usr/sbin/waagent  
     # ln -sf /usr/local/sbin/waagent2.0 /usr/sbin/waagent2.0
    

    Importante

    Dopo aver installato l'agente di Azure, è consigliabile verificare che sia in esecuzione:After you install Azure Agent, it's a good idea to verify that it's running:

     # waagent -version
     WALinuxAgent-2.1.4 running on freebsd 10.3
     Python: 2.7.11
     # ps auxw | grep waagent
     root   639   0.0  0.5 104620 17520 u0- I    05:17    0:00.20 python /usr/local/sbin/waagent -daemon (python2.7)
     # cat /var/log/waagent.log
    
  7. Eseguire il deprovisioning del sistema.Deprovision the system.

    Eseguire il deprovisioning del sistema per pulire il sistema e renderlo idoneo per un nuovo provisioning.Deprovision the system to clean it and make it suitable for reprovisioning. Il comando seguente elimina anche l'ultimo account utente di cui è stato effettuato il provisioning e i dati associati:The following command also deletes the last provisioned user account and the associated data:

     # echo "y" |  /usr/local/sbin/waagent -deprovision+user  
     # echo  'waagent_enable="YES"' >> /etc/rc.conf
    

    Ora è possibile arrestare la macchina virtuale.Now you can shut down your VM.

Passaggio 2: preparare la connessione ad AzureStep 2: Prepare the connection to Azure

Assicurarsi di usare l'interfaccia della riga di comando di Azure nel modello di distribuzione classica (azure config mode asm), quindi accedere al proprio account:Make sure you are using the Azure CLI in the classic deployment model (azure config mode asm), then log in to your account:

azure login

Passaggio 3: Caricare il file .vhdStep 3: Upload the .vhd file

È necessario un account di archiviazione in cui caricare il file VHD.You need a storage account to upload your VHD file to. È possibile usare un account di archiviazione esistente o crearne uno nuovo.You can either pick an existing storage account or create a new one.

È possibile caricare il file VHD in qualsiasi posizione all'interno dell'archivio BLOB.When you upload the .vhd file, you can place it anywhere within your Blob storage. Di seguito sono riportati alcuni termini che verranno usati durante il caricamento del file:Following are some terms you will use when you upload the file:

  • BlobStorageURL è l'URL dell'account di archiviazione creato nel passaggio 2.BlobStorageURL is the URL for the storage account that you created in Step 2.
  • YourImagesFolder è il contenitore all'interno dell'archivio BLOB in cui si vogliono archiviare le immagini.YourImagesFolder is the container within Blob storage where you want to store your images.
  • VHDName è l'etichetta che identifica il disco rigido virtuale visualizzata nel portale di Azure classico.VHDName is the label that appears in the Azure classic portal to identify the virtual hard disk.
  • PathToVHDFile è il percorso completo e il nome del file VHD.PathToVHDFile is the full path and name of the .vhd file.

Nella finestra di Azure PowerShell usata nel passaggio precedente, digitare:From the Azure PowerShell window you used in the previous step, type:

    Add-AzureVhd -Destination "<BlobStorageURL>/<YourImagesFolder>/<VHDName>.vhd" -LocalFilePath <PathToVHDFile>

Passaggio 4: Creare una macchina virtuale con il file con estensione vhd caricatoStep 4: Create a VM with the uploaded .vhd file

Dopo avere caricato il file VHD, è possibile aggiungerlo come immagine all'elenco di immagini personalizzate associate alla propria sottoscrizione e creare una macchina virtuale con questa immagine personalizzata.After you upload the .vhd file, you can add it as an image to the list of custom images that are associated with your subscription and create a virtual machine with this custom image.

  1. Nella finestra di Azure PowerShell usata nel passaggio precedente, digitare:From the Azure PowerShell window you used in the previous step, type:

     Add-AzureVMImage -ImageName <Your Image's Name> -MediaLocation <location of the VHD> -OS <Type of the OS on the VHD>
    

    Nota

    Usare Linux come tipo di sistema operativo.Use Linux as the OS type. La versione corrente di Azure PowerShell accetta solo "Linux" o "Windows" come parametro.The current Azure PowerShell version accepts only “Linux” or “Windows” as a parameter.

  2. Una volta completati i passaggi precedenti, quando si seleziona la scheda Immagini nel portale di Azure classico, la nuova immagine risulta inclusa nell'elenco.After you complete the previous steps, the new image is listed when you choose the Images tab on the Azure classic portal.

    Scegli un'immagine

  3. Creare una macchina virtuale dalla raccolta.Create a virtual machine from the gallery. La nuova immagine è ora disponibile in Immagini personali.This new image is now available under My Images.
  4. Selezionare la nuova immagine.Select the new image. Seguire quindi le istruzioni visualizzate per configurare nome host, password/chiave SSH e così via.Next, go through the prompts to set up a host name, password, SSH key, and so on.

    Immagine personalizzata

  5. Dopo avere completato il provisioning, la macchina virtuale FreeBSD in esecuzione sarà visibile in Azure.After you complete the provisioning, you'll see your FreeBSD VM running in Azure.

    immagine di FreeBSD in Azure