Criar e carregar uma imagem de disco do OpenBSD no Azure
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
Este artigo mostra como criar e carregar um disco rígido virtual (VHD) que contém o sistema operacional OpenBSD. Depois de carregá-lo, você pode usá-lo como sua própria imagem para criar uma máquina virtual (VM) no Azure por meio da CLI do Azure.
Pré-requisitos
Este artigo pressupõe que você tenha os seguintes itens:
- Uma assinatura do Azure - Se você não tiver uma conta, poderá criar uma em apenas alguns minutos. Se você tiver uma assinatura do MSDN, consulte Crédito mensal do Azure para assinantes do Visual Studio. Caso contrário, saiba como criar uma conta de avaliação gratuita.
- CLI do Azure - Certifique-se de que tem a CLI do Azure mais recente instalada e iniciada na sua conta do Azure com az login.
- Sistema operacional OpenBSD instalado em um arquivo .vhd - Um sistema operacional OpenBSD suportado (versão 6.6 AMD64) deve ser instalado em um disco rígido virtual. Existem várias ferramentas para criar ficheiros .vhd. Por exemplo, você pode usar uma solução de virtualização como o Hyper-V para criar o arquivo .vhd e instalar o sistema operacional. Para obter instruções sobre como instalar e usar o Hyper-V, consulte Instalar o Hyper-V e criar uma máquina virtual.
Preparar imagem do OpenBSD para o Azure
Na VM onde você instalou o sistema operacional OpenBSD 6.1, que adicionou suporte ao Hyper-V, conclua os seguintes procedimentos:
Se o DHCP não estiver habilitado durante a instalação, habilite o serviço da seguinte maneira:
doas echo dhcp > /etc/hostname.hvn0
Configure um console serial da seguinte maneira:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Configure a instalação do pacote da seguinte maneira:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
Por padrão, o usuário é desabilitado
root
em máquinas virtuais no Azure. Os usuários podem executar comandos com privilégios elevados usando odoas
comando na VM do OpenBSD. Doas é ativado por padrão.Instale e configure os pré-requisitos para o Agente do Azure da seguinte maneira:
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
A versão mais recente do agente do Azure sempre pode ser encontrada no GitHub. Instale o agente da seguinte maneira:
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
Importante
Depois de instalar o Azure Agent, é recomendável verificar se ele está sendo executado da seguinte maneira:
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
Desprovisione o sistema para limpá-lo e torná-lo adequado para desprovisionamento. O comando a seguir também exclui a última conta de usuário provisionada e os dados associados:
doas waagent -deprovision+user -force
Nota
Se você estiver migrando uma máquina virtual específica e não desejar criar uma imagem generalizada, ignore a etapa de desprovisionamento.
Agora você pode desligar sua VM.
Preparar o VHD
O formato VHDX não é suportado no Azure, apenas VHD fixo. Você pode converter o disco para o formato VHD fixo usando o Gerenciador do Hyper-V ou o cmdlet convert-vhd do PowerShell. Um exemplo é o seguinte.
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
Crie recursos de armazenamento e carregue
Primeiro, crie um grupo de recursos com az group create. O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus:
az group create --name myResourceGroup --location eastus
Para carregar seu VHD, crie uma conta de armazenamento com az storage account create. Os nomes das contas de armazenamento devem ser exclusivos, portanto, forneça seu próprio nome. O exemplo a seguir cria uma conta de armazenamento chamada mystorageaccount:
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
Para controlar o acesso à conta de armazenamento, obtenha a chave de armazenamento com a lista de chaves da conta de armazenamento az da seguinte maneira:
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
Para separar logicamente os VHDs carregados, crie um contêiner dentro da conta de armazenamento com az storage container create:
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Finalmente, carregue seu VHD com az storage blob upload da seguinte maneira:
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Criar VM a partir do VHD
Você pode criar uma VM com um script de exemplo ou diretamente com az vm create. Para especificar o VHD do OpenBSD que você carregou, use o --image
parâmetro da seguinte maneira:
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
Obtenha o endereço IP para sua VM do OpenBSD com az vm list-ip-addresses da seguinte maneira:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Agora você pode SSH para sua VM do OpenBSD normalmente:
ssh azureuser@<ip address>
Próximos passos
Se você quiser saber mais sobre o suporte ao Hyper-V no OpenBSD6.1, leia OpenBSD 6.1.
Se você quiser criar uma VM a partir do disco gerenciado, leia az disk.