Distribuisci carichi di lavoro virtualizzati tramite FreeBSD in Azure

Creazione di un'immagine di FreeBSD

In questo articolo tratteremo nel dettaglio la preparazione di un'immagine di FreeBSD x86_64 10 per Microsoft Azure. Per iniziare, bisogna in primo luogo installare FreeBSD in locale su Hyper-V (in Windows Server 2012 R2, se possibile). Per rendere le cose più semplici, la community FreeBSD ha reso disponibile un sistema FreeBSD già pronto sotto forma di immagini in formato VHD.

Ridimensionamento del file FreeBSD VHD (se necessario)

Se hai scelto di installare FreeBSD nella macchina virtuale Hyper-V da zero, tramite l'immagine ISO di installazione, puoi saltare questa parte.

Tuttavia, se usi un disco rigido virtuale pregenerato scaricato da ftp.freebsd.org, potresti dover ridimensionare il disco rigido virtuale per renderlo compatibile con Azure. Un disco rigido virtuale creato in Azure deve avere dimensioni pari a un numero intero espresso in megabyte (MB), altrimenti in Azure verrà restituito un errore simile al seguente quando tenterai di creare una nuova immagine di FreeBSD per Azure:

"La dimensione virtuale del VHD http://<tucuenta>.blob.core.windows.net/vhds/FreeBSD-10.0-RELEASE-amd64-20140116-r260789.vhd di 21475270656 byte non è valida. La dimensione deve essere un numero intero (in MB)."

Nell'immagine di FreeBSD scaricata, 21475270656 byte corrispondono effettivamente a 20480,4140625 MB. Per risolvere il problema, è quindi sufficiente modificare la dimensione del disco rigido virtuale, in modo da assicurarsi che non superi i 21.000 MB. Puoi eseguire questa operazione tramite la console di gestione Powershell o Hyper-V, se lo desideri. Nel server Hyper-V puoi cambiare la dimensione del disco rigido virtuale (VHD) aprendo il sistema di comandi PowerShell ed eseguendo il comando Resize-VHD:

 
Altrimenti, puoi modificare la dimensione del disco tramite la console di gestione Hyper-V. Nel menu delle impostazioni della macchina virtuale, in questo caso FreeBSD, fai clic sull'unità IDE virtuale, quindi sul pulsante di modifica "Edit" per aprire l'editor di assistenza VHD:

 
Avvia quindi il sistema FreeBSD e accedi come root (radice). Poiché in precedenza la community non ha generato alcuna password radice predefinita per i dischi rigidi, non verrà richiesta una password. Dopo l'accesso, esegui gpart e osserva le partizioni del disco. Potrai notare che il disco da0 è contrassegnato come danneggiato (CORRUPT) perché abbiamo modificato la dimensione del disco rigido virtuale:

Non è un problema. Per ripristinare il disco da0 è sufficiente eseguire il comando che segue:

Puoi anche provare a ridimensionare la partizione radice di FreeBSD per recuperare lo spazio disponibile.

Ciò causerà qualche problema e probabilmente dovrai effettuare il riavvio da un LiveCD basato su FreeBSD per ridimensionare il file system radice. Ma se desideri realmente recuperare lo spazio disponibile, ecco come espandere il file system radice:

Bene! Il disco rigido virtuale è pronto e ora possiamo preparare il sistema FreeBSD per la distribuzione in Azure.

Preparazione del sistema FreeBSD per Azure

Questa parte è semplice, non c'è dubbio. Dobbiamo solo installare alcuni componenti aggiuntivi ed effettuare qualche operazione per consentire il funzionamento di FreeBSD 10 in Azure.

  • Abilitazione delle reti FreeBSD

Per impostare l'interfaccia hn0, puoi utilizzare /etc/rc.d/ netif per arrestare e avviare la rete:

  • Abilitazione delle credenziali SSH

A tale scopo, dovrai abilitare un daemon SSH in /etc/rc.conf e creare nuove chiavi host:

Se desideri usare queste credenziali SSH in un altro sistema guest FreeBSD, puoi procedere con questa configurazione, ma dovrai creare un nuovo utente senza privilegi (consigliato) oppure impostare una password per l'utente "root" e assegnare "PermitRootLogin yes" in / etc / ssh / sshd_config (non consigliato).

  • Installazione di Python 2.7 e moduli:

Potrebbe anche essere necessario creare un collegamento simbolico dei nuovi file binari di Python 2.7 a / usr / bin / python. Ecco come:

  • Installazione di sudo

Questa operazione è necessaria poiché l'account radice è in genere disabilitato in Azure, pertanto utilizzeremo un programma sudo di un utente senza privilegi per eseguire comandi con privilegi elevati:

  • Installazione dell'agente Linux di Azure

La versione più recente dell'agente Linux di Azure è sempre disponibile in Github: https://github.com/Azure/WALinuxAgent/releases. Per FreeBSD, è consigliato l'uso della versione 2.0.5 o successiva. Tuttavia, per il momento passeremo direttamente al branch 2.0, che in genere è molto stabile. In questo modo, abiliteremo il supporto FreeBSD per l'agente:

L'agente Azure è ora installato e in esecuzione!

  • (Opzionale) Generalizzazione del sistema prima di caricare il disco rigido virtuale (VHD) in Azure

Tramite questa funzionalità verrà effettuata la generalizzazione dell'immagine. I certificati SSH verranno eliminati, l'utente ROOT verrà disabilitato, la relativa password verrà rimossa, le voci cache in DHCP verranno eliminate e altro ancora. Si tratta di un'operazione utile, ma potrai ignorare il passaggio se non intendi condividere il VHD su vasta scala:

Nota: dopo aver eseguito questo comando, è possibile che venga visualizzato un messaggio di avviso, perché il file OVF-env.xml non esiste. Puoi semplicemente indicare di aver letto il messaggio e, in altre parole, ignorarlo.

  • Disattivazione della macchina virtuale FreeBSD

Ora è tutto pronto, senza particolari problemi.

  • Caricamento del disco rigido virtuale (VHD) FreeBSD in Azure

Sono disponibili vari modi per caricare un disco rigido virtuale (VHD) in Azure. Nell'ambito di questo articolo verranno usati gli strumenti di Azure PowerShell per connettere il disco rigido virtuale (VHD) all'account di archiviazione.

Come prima cosa, assicurati di disattivare la macchina virtuale FreeBSD nel server Hyper-V.

Quindi usa il comando Add-AzureVhd per caricare il VHD:

Al termine del caricamento, puoi usare il VHD per creare un'immagine in cui effettuare il provisioning di un numero qualsiasi di macchine virtuali FreeBSD in Azure:

In questo caso, bisognerà usare il sistema operativo Linux. Sfortunatamente, gli strumenti di Powershell ancora non supportano il parametro "-SO FreeBSD".

Creazione di una macchina virtuale FreeBSD in Azure

A questo punto, possiamo creare le nuove macchine virtuali FreeBSD in Azure. Sarà possibile usare gli strumenti di PowerShell oppure eseguire l'operazione tramite il portale.

Accedi al portale di gestione di Azure (https://manage.windowsazure.com) e fai clic su "New -> COMPUTE -> VIRTUAL Machine -> FROM GALLERY"

Fai clic su "My Images" e seleziona la tua immagine.

 

Scegli l'immagine FreeBSD e segui le istruzioni per impostare password / nome host, SSH e così via. Dopo avere completato il processo, una nuova macchina virtuale FreeBSD 10 scrivibile dovrebbe essere in esecuzione in Azure.

Torna all'inizio

A B C 1.1
remaining imag  hero  img1  img2  img3  img4  img5  img6  img7  img8  img9  img10  img11  img13  img14  img15  img16  img17  img18  img19  img20  img21