Creare e caricare un'immagine disco OpenBSD in Azure
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Questo articolo descrive come creare e caricare un disco rigido virtuale (VHD) che contiene il sistema operativo OpenBSD. Dopo il caricamento, è possibile usarlo come immagine personalizzata per creare una macchina virtuale in Azure tramite l'interfaccia della riga di comando di Azure.
Prerequisiti
In questo articolo si presuppone che l'utente disponga degli elementi seguenti:
- Una sottoscrizione Azure: se non è già disponibile un account, è possibile crearne uno in pochi minuti. Se si ha un abbonamento a MSDN, vedere Credito Azure mensile per sottoscrittori di Visual Studio. Altrimenti, vedere Crea subito il tuo account Azure gratuito.
- Interfaccia della riga di comando di Azure: assicurarsi di avere installato la versione più recente dell'interfaccia della riga di comando di Azure e di aver eseguito l'accesso a un account Azure tramite il comando az login.
- Sistema operativo OpenBSD installato in un file VHD: è necessario installare un sistema operativo OpenBSD supportato (AMD64 versione 6.6) in un disco rigido virtuale. Sono disponibili vari strumenti per la creazione di file VHD. Ad esempio, per creare il file VHD e installare il sistema operativo, è possibile usare soluzioni di virtualizzazione come Hyper-V. Per istruzioni, vedere su come installare e usare Hyper-V, vedere Installare Hyper-V e creare una macchina virtuale.
Preparare un'immagine OpenBSD per Azure
Nella macchina virtuale in cui è stato installato il sistema operativo OpenBSD 6.1 con l'aggiunta del supporto Hyper-V, completare le procedure seguenti:
Se DHCP non è stato abilitato durante l'installazione, abilitare il servizio:
doas echo dhcp > /etc/hostname.hvn0
Configurare la console seriale:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Configurare l'installazione del pacchetto:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
Per impostazione predefinita, l'utente
root
è disabilitato nelle macchine virtuali in Azure. Gli utenti possono eseguire comandi con privilegi elevati usando il comandodoas
nella VM OpenBSD. Doas è abilitato per impostazione predefinita.Installare e configurare i prerequisiti per l'agente di Azure:
doas pkg_add py-setuptools openssl git doas ln -sf /usr/local/bin/python2.7 /usr/local/bin/python doas ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3 doas ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config doas ln -sf /usr/local/bin/pydoc2.7 /usr/local/bin/pydoc
È possibile trovare la versione più recente dell'agente di Azure in GitHub. Installare l'agente:
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
Importante
Dopo aver installato l'agente di Azure, è consigliabile verificare che sia in esecuzione:
doas ps auxw | grep waagent root 79309 0.0 1.5 9184 15356 p1 S 4:11PM 0:00.46 python /usr/local/sbin/waagent -daemon (python2.7) doas cat /var/log/waagent.log
Eseguire il deprovisioning del sistema per pulire il sistema e renderlo idoneo per un nuovo deprovisioning. Il comando seguente elimina anche l'ultimo account utente di cui è stato effettuato il provisioning e i dati associati:
doas waagent -deprovision+user -force
Nota
Se si esegue la migrazione di una macchina virtuale specifica e non si vuole creare un'immagine generalizzata, ignorare il passaggio di deprovisioning.
Ora è possibile arrestare la macchina virtuale.
Preparare il disco rigido virtuale
Il formato VHDX non è supportato in Azure, solo nei VHD fissi. È possibile convertire il disco in formato VHD fisso usando la console di gestione di Hyper-V o il cmdlet convert-vhd di PowerShell. Ecco un esempio:
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
Creare e caricare risorse di archiviazione
Creare prima un gruppo di risorse con az group create. Nell'esempio seguente viene creato un gruppo di risorse denominato myResourceGroup
nella località eastus
:
az group create --name myResourceGroup --location eastus
Per caricare il disco rigido virtuale, creare un account di archiviazione con il comando az storage account create. Il nome dell'account di archiviazione deve essere univoco; assegnare quindi all'account il proprio nome. Nell'esempio seguente viene creato un nuovo account di archiviazione denominato mystorageaccount
:
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
Per controllare l'accesso all'account di archiviazione, ottenere la chiave di archiviazione con il az storage account keys list:
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
Per separare in modo logico i dischi rigidi virtuali caricati, creare un contenitore nell'account di archiviazione con az storage container create:
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Caricare infine il disco rigido virtuale con az storage blob upload:
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Creare una macchina virtuale dal disco rigido virtuale
È possibile creare una macchina virtuale con un script di esempio o direttamente con az vm create. Per specificare il disco rigido virtuale OpenBSD caricato, usare il parametro --image
:
az vm create \
--resource-group myResourceGroup \
--name myOpenBSD61 \
--image "https://mystorageaccount.blob.core.windows.net/vhds/OpenBSD61.vhd" \
--os-type linux \
--admin-username azureuser \
--ssh-key-value ~/.ssh/id_rsa.pub
Ottenere l'indirizzo IP per la VM OpenBSD con az vm list-ip-addresses:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Ora è possibile connettersi alla VM OpenBSD tramite SSH nel modo usuale:
ssh azureuser@<ip address>
Contenuto correlato
- Per altre informazioni sul supporto di Hyper-V in OpenBSD 6.1, vedere OpenBSD 6.1.
- Per creare una macchina virtuale dal disco gestito, vedere az disk.