Créer et charger une image de disque OpenBSD sur Azure
S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles
Cet article montre comment créer et charger un disque dur virtuel (VHD) contenant le système d’exploitation OpenBSD. Après l’avoir chargé, vous pouvez l’utiliser comme image personnelle pour créer une machine virtuelle (VM) dans Azure via Azure CLI.
Prérequis
Cet article part du principe que vous disposez des éléments suivants :
- Abonnement Azure : si vous ne possédez pas de compte, vous pouvez en créer un en quelques minutes. Si vous disposez d’un abonnement MSDN, consultez Crédit Azure mensuel pour les abonnés Visual Studio. Dans le cas contraire, découvrez comment créer un compte d'essai gratuit.
- Azure CLI : Vérifiez que vous avez installé la dernière version d’Azure CLI et que vous êtes connecté à votre compte Azure avec az login.
- Système d’exploitation OpenBSD installé dans un fichier .vhd : un système d’exploitation OpenBSD pris en charge (version 6.6 AMD64) doit être installé sur un disque dur virtuel. Plusieurs outils permettent de créer des fichiers .vhd. Par exemple, vous pouvez utiliser une solution de virtualisation comme Hyper-V pour créer le fichier .vhd et installer le système d'exploitation. Pour obtenir des instructions pour installer et utiliser Hyper-V, consultez la page Installer Hyper-V et créer une machine virtuelle.
Préparer l’image OpenBSD pour Azure
Sur la machine virtuelle sur laquelle vous avez installé le système d’exploitation OpenBSD 6.1, qui a ajouté la prise en charge de Hyper-V, procédez comme suit :
Si le protocole DHCP n’est pas activé lors de l’installation, activez le service comme suit :
doas echo dhcp > /etc/hostname.hvn0
Configurez une console série comme suit :
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Configurez l’installation du package comme suit :
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
Par défaut, l’utilisateur
root
est désactivé sur les machines virtuelles dans Microsoft Azure. Les utilisateurs peuvent exécuter des commandes avec des privilèges élevés à l’aide de la commandedoas
sur une machine virtuelle OpenBSD. Doas est activé par défaut.Installez et configurez les éléments requis pour l’agent Azure comme suit :
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
La dernière version de l’agent Azure se trouve toujours sur GitHub. Installez l’agent comme suit :
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
Important
Après avoir installé l’agent Azure, il est judicieux de vérifier qu’il s’exécute comme suit :
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
Déprovisionner le système pour le nettoyer et le préparer pour son déprovisionnement. La commande suivante supprime également le dernier compte d'utilisateur alloué et les données associées :
doas waagent -deprovision+user -force
Notes
Si vous migrez une machine virtuelle spécifique et que vous ne souhaitez pas créer d’image généralisée, ignorez l’étape de déprovisionnement.
Vous pouvez à présent arrêter votre machine virtuelle.
Préparer le disque dur virtuel
Azure ne prend pas en charge le format VHDX, seulement le VHD fixe. Vous pouvez convertir le disque au format VHD fixe à l’aide du Gestionnaire Hyper-V ou de l’applet de commande PowerShell convert-vhd. Voici un exemple.
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
Créer des ressources de stockage et charger
Tout d’abord, créez un groupe de ressources avec la commande az group create. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus :
az group create --name myResourceGroup --location eastus
Pour charger votre disque dur virtuel, créez un compte de stockage avec la commande az storage account create. Le nom du compte de stockage devant être unique, entrez votre propre nom. L’exemple qui suit permet de créer un compte de stockage nommé mystorageaccount :
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
Pour contrôler l’accès au compte de stockage, obtenez la clé de stockage avec la commande az storage account keys list comme suit :
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
Pour séparer logiquement les disques durs virtuels que vous chargez, créez un conteneur dans le compte de stockage avec la commande az storage container create :
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Enfin, chargez votre disque dur virtuel avec la commande az storage blob upload comme suit :
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Créer la machine virtuelle à partir de votre disque dur virtuel
Vous pouvez créer une machine virtuelle avec un exemple de script ou directement avec la commande az vm create. Pour spécifier le disque dur virtuel OpenBSD que vous avez chargé, utilisez le paramètre --image
comme suit :
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
Obtenez l’adresse IP de votre machine virtuelle OpenBSD avec la commande az vm list-ip-addresses comme suit :
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Vous pouvez désormais appliquer clé SSH à votre machine virtuelle OpenBSD comme d’habitude :
ssh azureuser@<ip address>
Étapes suivantes
Pour en savoir plus sur la prise en charge de Hyper-V sur OpenBSD6.1, voir OpenBSD 6.1.
Pour savoir comment créer une machine virtuelle à partir d’un disque géré, voir az disk.