Creación y carga de una imagen de máquina virtual de OpenBSD en AzureCreate and Upload an OpenBSD disk image to Azure

En este artículo se muestra cómo crear y cargar un disco duro virtual (VHD) que contenga el sistema operativo OpenBSD.This article shows you how to create and upload a virtual hard disk (VHD) that contains the OpenBSD operating system. Después de cargarlo, puede utilizarlo como su propia imagen para crear una máquina virtual (VM) en Azure a través de la CLI de Azure.After you upload it, you can use it as your own image to create a virtual machine (VM) in Azure through Azure CLI.

Requisitos previosPrerequisites

En este artículo se supone que tiene los siguientes elementos:This article assumes that you have the following items:

  • Una suscripción de Azure: si no tiene una cuenta, puede crear una en un par de minutos.An Azure subscription - If you don't have an account, you can create one in just a couple of minutes. Si tiene una suscripción a MSDN, consulte Crédito mensual de Azure para suscriptores de Visual Studio.If you have an MSDN subscription, see Monthly Azure credit for Visual Studio subscribers. De lo contrario, obtenga información sobre cómo crear una cuenta de prueba gratuita.Otherwise, learn how to create a free trial account.
  • Azure CLI: asegúrese de que ha instalado la última versión de la CLI de Azure y de que ha iniciado sesión en una cuenta de Azure con az login.Azure CLI - Make sure you have the latest Azure CLI installed and logged in to your Azure account with az login.
  • Sistema operativo OpenBSD instalado en un archivo .vhd: se debe instalar un sistema operativo OpenBSD compatible (AMD64 versión 6.2) en un disco duro virtual.OpenBSD operating system installed in a .vhd file - A supported OpenBSD operating system (6.2 version AMD64) must be installed to a virtual hard disk. Existen varias herramientas para crear archivos .vhd.Multiple tools exist to create .vhd files. Por ejemplo, puede utilizar una solución de virtualización como Hyper-V para crear el archivo .vhd e instalar el sistema operativo.For example, you can use a virtualization solution such as Hyper-V to create the .vhd file and install the operating system. Para obtener instrucciones sobre cómo instalar y utilizar Hyper-V, consulte Instalar Hyper-V y crear una máquina virtual.For instructions about how to install and use Hyper-V, see Install Hyper-V and create a virtual machine.

Preparación de la imagen de OpenBSD para AzurePrepare OpenBSD image for Azure

En la máquina virtual donde se instaló el sistema operativo OpenBSD 6.1, que agrega compatibilidad con Hyper-V, complete los procedimientos siguientes:On the VM where you installed the OpenBSD operating system 6.1, which added Hyper-V support, complete the following procedures:

  1. Si DHCP no está habilitado durante la instalación, habilite el servicio como se indica a continuación:If DHCP is not enabled during installation, enable the service as follows:

    echo dhcp > /etc/hostname.hvn0
    
  2. Configure una consola de serie como sigue:Set up a serial console as follows:

    echo "stty com0 115200" >> /etc/boot.conf
    echo "set tty com0" >> /etc/boot.conf
    
  3. Configure la instalación del paquete como sigue:Configure Package installation as follows:

    echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
    
  4. De forma predeterminada, el usuario root está deshabilitado en las máquinas virtuales en Azure.By default, the root user is disabled on virtual machines in Azure. Los usuarios pueden ejecutar comandos con privilegios elevados mediante el comando doas en la máquina virtual OpenBSD.Users can run commands with elevated privileges by using the doas command on OpenBSD VM. El comando doas está habilitado de manera predeterminada.Doas is enabled by default. Para más información, consulte doas.conf.For more information, see doas.conf.

  5. Instale y configure los requisitos previos para el agente de Azure como sigue:Install and configure prerequisites for the Azure Agent as follows:

    pkg_add py-setuptools openssl git
    ln -sf /usr/local/bin/python2.7 /usr/local/bin/python
    ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3
    ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config
    ln -sf /usr/local/bin/pydoc2.7  /usr/local/bin/pydoc
    
  6. Siempre puede encontrar la versión más reciente del agente de Azure en GitHub.The latest release of the Azure agent can always be found on GitHub. Instale el agente de la forma siguiente:Install the agent as follows:

    git clone https://github.com/Azure/WALinuxAgent 
    cd WALinuxAgent
    python setup.py install
    waagent -register-service
    

    Importante

    Después de instalar el agente de Azure, es recomendable comprobar que está ejecutándose:After you install Azure Agent, it's a good idea to verify that it's running as follows:

    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)
    cat /var/log/waagent.log
    
  7. Desaprovisione el sistema para limpiarlo y dejarlo adecuado para el reaprovisionamiento.Deprovision the system to clean it and make it suitable for reprovisioning. El comando siguiente también elimina la última cuenta de usuario aprovisionada y los datos asociados:The following command also deletes the last provisioned user account and the associated data:

    waagent -deprovision+user -force
    

Ahora ya puede apagar la máquina virtual.Now you can shut down your VM.

Preparación de VHDPrepare the VHD

El formato VHDX no se admite en Azure, solo el VHD fijo.The VHDX format is not supported in Azure, only fixed VHD. Puede convertir el disco al formato VHD fijo con el Administrador de Hyper-V o el cmdlet convert-vhd de Powershell.You can convert the disk to fixed VHD format using Hyper-V Manager or the Powershell convert-vhd cmdlet. A continuación se muestra un ejemplo.An example is as following.

Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed

Creación de recursos de almacenamiento y de cargaCreate storage resources and upload

En primer lugar, cree un grupo de recursos con az group create.First, create a resource group with az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus:The following example creates a resource group named myResourceGroup in the eastus location:

az group create --name myResourceGroup --location eastus

Para cargar el VHD, cree una cuenta de almacenamiento con el comando az storage account create.To upload your VHD, create a storage account with az storage account create. Los nombres de la cuenta de almacenamiento deben ser únicos, así que indique su propio nombre.Storage account names must be unique, so provide your own name. En el ejemplo siguiente se crea una cuenta de almacenamiento denominada mystorageaccount:The following example creates a storage account named mystorageaccount:

az storage account create --resource-group myResourceGroup \
    --name mystorageaccount \
    --location eastus \
    --sku Premium_LRS

Para controlar el acceso a la cuenta de almacenamiento, obtenga la clave de almacenamiento mediante el comando az storage account keys list, como se indica a continuación:To control access to the storage account, obtain the storage key with az storage account keys list as follows:

STORAGE_KEY=$(az storage account keys list \
    --resource-group myResourceGroup \
    --account-name mystorageaccount \
    --query "[?keyName=='key1']  | [0].value" -o tsv)

Para separar lógicamente los discos duros virtuales que ha cargado, cree un contenedor dentro de la cuenta de almacenamiento con el comando az storage container create:To logically separate the VHDs you upload, create a container within the storage account with az storage container create:

az storage container create \
    --name vhds \
    --account-name mystorageaccount \
    --account-key ${STORAGE_KEY}

Por último, cargue el VHD con el comando az storage blob upload como se indica a continuación:Finally, upload your VHD with az storage blob upload as follows:

az storage blob upload \
    --container-name vhds \
    --file ./OpenBSD61.vhd \
    --name OpenBSD61.vhd \
    --account-name mystorageaccount \
    --account-key ${STORAGE_KEY}

Creación de una máquina virtual desde el disco duro virtualCreate VM from your VHD

Puede crear una máquina virtual con un script de ejemplo o directamente con az vm create.You can create a VM with a sample script or directly with az vm create. Para especificar el VHD de OpenBSD cargado, utilice el parámetro --image como sigue:To specify the OpenBSD VHD you uploaded, use the --image parameter as follows:

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

Obtenga la dirección IP de la máquina virtual de OpenBSD con el comando az vm list-ip-addresses como se indica a continuación:Obtain the IP address for your OpenBSD VM with az vm list-ip-addresses as follows:

az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61

Ahora puede enviar un SSH a la máquina virtual de OpenBSD de la forma habitual:Now you can SSH to your OpenBSD VM as normal:

ssh azureuser@<ip address>

Pasos siguientesNext steps

Si desea obtener más información sobre la compatibilidad de Hyper-V en OpenBSD6.1, consulte OpenBSD 6.1 e hyperv.4.If you want to know more about Hyper-V support on OpenBSD6.1, read OpenBSD 6.1 and hyperv.4.

Si quiere crear una máquina virtual desde el disco administrado, consulte az disk.If you want to create a VM from managed disk, read az disk.