Compartir vía


Creación y carga de una imagen de máquina virtual de OpenBSD en Azure

Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles

En este artículo se muestra cómo crear y cargar un disco duro virtual (VHD) que contenga el sistema operativo OpenBSD. 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.

Requisitos previos

En este artículo se supone que tiene los siguientes elementos:

Preparación de la imagen de OpenBSD para 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:

  1. Si DHCP no está habilitado durante la instalación, habilite el servicio:

    doas echo dhcp > /etc/hostname.hvn0
    
  2. Configure una consola de serie:

    doas echo "stty com0 115200" >> /etc/boot.conf
    doas echo "set tty com0" >> /etc/boot.conf
    
  3. Configure la instalación del paquete:

    doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
    
  4. De forma predeterminada, el usuario root está deshabilitado en las VM en Azure. Los usuarios pueden ejecutar comandos con privilegios elevados mediante el comando doas en la máquina virtual OpenBSD. El comando doas está habilitado de manera predeterminada.

  5. Instale y configure los requisitos previos para el agente de 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
    
  6. Puede encontrar la versión más reciente del agente de Azure en GitHub. Instalación del agente:

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

    Importante

    Después de instalar el agente de Azure es recomendable comprobar que está ejecutándose:

    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
    
  7. Desaprovisione el sistema para limpiarlo y que esté preparado para su desaprovisionamiento. El comando siguiente también elimina la última cuenta de usuario aprovisionada y los datos asociados:

    doas waagent -deprovision+user -force
    

Nota:

Si va a migrar una VM concreta y no quiere crear una imagen generalizada, omita el paso de desaprovisionamiento.

Ahora ya puede apagar la máquina virtual.

Preparación de VHD

El formato VHDX no se admite en Azure, solo el VHD fijo. Puede convertir el disco al formato VHD fijo mediante el Administrador de Hyper-V o el cmdlet convert-vhd de Powershell. Este es un ejemplo:

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

Creación de recursos de almacenamiento y de carga

En primer lugar, cree un grupo de recursos con az group create. En el ejemplo siguiente se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus:

az group create --name myResourceGroup --location eastus

Para cargar el VHD, cree una cuenta de almacenamiento con el comando az storage account create. Los nombres de la cuenta de almacenamiento deben ser únicos, así que indique su propio nombre. En el ejemplo siguiente se crea una cuenta de almacenamiento denominada 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 la lista de claves de cuenta de almacenamiento de az:

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:

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

Por último, cargue el VHD con el comando cargar blobs de almacenamiento de az:

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 virtual

Puede crear una máquina virtual con un script de ejemplo o directamente con az vm create. Para especificar el VHD de OpenBSD cargado, utilice el parámetro --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

Obtenga la dirección IP de la máquina virtual de OpenBSD con el comando az vm list-ip-addresses:

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:

ssh azureuser@<ip address>
  • Para obtener más información sobre la compatibilidad de Hyper-V en OpenBSD6.6.1, consulte OpenBSD 6.1.
  • Para crear una máquina virtual desde el disco administrado, consulte disco de az.