Partage via


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 votre propre image pour créer une machine virtuelle dans Azure via Azure CLI.

Prérequis

Cet article part du principe que vous disposez des éléments suivants :

  • Un abonnement Azure : si vous n’avez 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 la dernière version d’Azure CLI est installée et connectée à 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 Installer Hyper-V et créer une machine virtuelle.

Préparer une 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 :

  1. Si le protocole DHCP n’est pas activé lors de l’installation, activez le service :

    doas echo dhcp > /etc/hostname.hvn0
    
  2. Configurez une console série :

    doas echo "stty com0 115200" >> /etc/boot.conf
    doas echo "set tty com0" >> /etc/boot.conf
    
  3. Configurez l’installation du package :

    doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
    
  4. Par défaut, l’utilisateur root est désactivé sur les machines virtuelles dans Azure. Les utilisateurs peuvent exécuter des commandes avec des privilèges élevés à l’aide de la commande doas sur une machine virtuelle OpenBSD. Doas est activé par défaut.

  5. Installez et configurez les prérequis pour l’agent 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. Vous pouvez trouver la dernière version de l’agent Azure sur GitHub. Installez l’agent :

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

    Important

    Après que vous avez installé l’agent Azure, il est judicieux de vérifier qu’il s’exécute :

    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. 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
    

Remarque

Si vous migrez une machine virtuelle spécifique et que vous ne souhaitez pas créer une image généralisée, ignorez l’étape de désapprovisionnement.

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 en utilisant le Gestionnaire Hyper-V ou la cmdlet 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 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)

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 az storage blob upload :

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

Créer une 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 :

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 az vm list-ip-addresses :

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>
  • Pour en savoir plus sur la prise en charge d’Hyper-V sur OpenBSD 6.1, consultez OpenBSD 6.1.
  • Pour créer une machine virtuelle depuis un disque managé, consultez az disk.