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:
- Una suscripción de Azure: si no tiene una cuenta, puede crear una en un par de minutos. Si tiene una suscripción a MSDN, consulte Crédito mensual de Azure para suscriptores de Visual Studio. De lo contrario, obtenga información sobre cómo crear una cuenta de prueba gratuita.
- CLI de Azure: 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 el inicio de sesión de az.
- Sistema operativo OpenBSD instalado en un archivo .vhd: se debe instalar un sistema operativo OpenBSD compatible (AMD64 versión 6.6) en un VHD. Existen varias herramientas para crear archivos .vhd. Por ejemplo, puede utilizar una solución de virtualización como Hyper-V para crear el archivo .vhd e instalar el sistema operativo. Para obtener instrucciones sobre cómo instalar y utilizar Hyper-V, consulte Instalar Hyper-V y crear una VM.
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:
Si DHCP no está habilitado durante la instalación, habilite el servicio:
doas echo dhcp > /etc/hostname.hvn0
Configure una consola de serie:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Configure la instalación del paquete:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
De forma predeterminada, el usuario
root
está deshabilitado en las VM en Azure. Los usuarios pueden ejecutar comandos con privilegios elevados mediante el comandodoas
en la máquina virtual OpenBSD. El comando doas está habilitado de manera predeterminada.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
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
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>
Contenido relacionado
- 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.