Создание и передача образа жесткого диска OpenBSD в Azure
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
В этой статье описывается, как создать и передать виртуальный жесткий диск, содержащий операционную систему OpenBSD. После передачи его можно использовать как свой собственный образ для создания виртуальной машины в Azure с помощью Azure CLI.
Предварительные требования
В данной статье предполагается, что у вас есть следующие элементы:
- Подписка Azure. Если у вас нет учетной записи, то ее можно создать, что займет всего лишь несколько минут. Если у вас есть подписка MSDN, см. страницу Ежемесячная сумма денег на счете в Azure для подписчиков Visual Studio. В противном случае узнайте, как создать бесплатную пробную учетную запись.
- Azure CLI. Обязательно установите последнюю версию Azure CLI и войдите в учетную запись Azure с помощью команды az login.
- Операционная система OpenBSD, установленная в VHD-файл. На виртуальный жесткий диск необходимо установить поддерживаемую операционную систему OpenBSD (версия 6.6 AMD64). Существует несколько средств для создания VHD-файлов. Например, для создания VHD-файла и установки операционной системы можно использовать решение для виртуализации, например Hyper-V. Инструкции по установке и использованию Hyper-V см. в статье Установка Hyper-V и создание виртуальной машины.
Подготовка образа OpenBSD для Azure
На виртуальной машине, где вы установили ОС OpenBSD 6.1 с поддержкой Hyper-V, выполните следующие действия:
Если DHCP не был включен во время установки, включите службу следующим образом:
doas echo dhcp > /etc/hostname.hvn0
Настройте последовательную консоль.
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Настройте пакет установки следующим образом:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
По умолчанию пользователь
root
отключен в виртуальных машинах в Azure. Пользователи могут выполнять команды с повышенными привилегиями, используя командуdoas
на виртуальной машине OpenBSD. Doas включен по умолчанию. Дополнительные сведения см. на веб-сайте doas.conf.Установите и настройте необходимые компоненты для агента 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
Последний выпуск агента Azure доступен на сайте GitHub. Установите агент следующим образом:
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
Важно!
После установки агента Azure рекомендуется проверить его работу.
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
Отмените подготовку системы, чтобы очистить ее и сделать ее подходящей для отзыва. Приведенная ниже команда также удаляет последнюю подготовленную учетную запись пользователя и связанные с ней данные.
doas waagent -deprovision+user -force
Примечание
Если вы переносите определенную виртуальную машину и не хотите создавать обобщенный образ, пропустите отмену подготовки.
Теперь вы можете завершить работу виртуальной машины.
Подготовка VHD
Формат VHDX не поддерживается в Azure, поддерживается только фиксированный VHD. Преобразовать диск в формат фиксированного VHD можно с помощью диспетчера Hyper-V или командлета PowerShell convert-vhd. Например.
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
Создание и передача ресурсов хранилища
Сначала создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
az group create --name myResourceGroup --location eastus
Создайте учетную запись хранения с помощью команды az storage account create, чтобы передать VHD. Имя учетной записи хранения должно быть уникальным, поэтому введите собственное имя. В следующем примере создается учетная запись хранения с именем mystorageaccount:
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
Для управления доступом к учетной записи хранения получите ключ хранилища с помощью команды az storage account key list следующим образом:
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
Для логического разделения виртуальных жестких дисков создайте контейнер в учетной записи хранения с помощью команды az storage container create:
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Наконец, отправьте ваш VHD с помощью команды az storage blob upload следующим образом:
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Создание виртуальной машины из VHD
Можно создать виртуальную машину с помощью примера скрипта или напрямую с помощью команды az vm create. Чтобы указать переданный VHD OpenBSD, используйте параметр --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
Получите IP-адрес для виртуальной машины OpenBSD с помощью команды az vm list-ip-addresses следующим образом:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Теперь вы можете подключаться к виртуальной машине OpenBSD по протоколу SSH в обычном режиме:
ssh azureuser@<ip address>
Дальнейшие действия
Если вы хотите получить дополнительные сведения о поддержке Hyper-V в OpenBSD 6.1, посетите веб-сайты OpenBSD 6.1 и hyperv.4.
Если требуется создать виртуальную машину из управляемого диска см. статью Управляемые диски - az disk.