Создание и отправка образа диска OpenBSD в Azure
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
В этой статье описывается, как создать и передать виртуальный жесткий диск, содержащий операционную систему OpenBSD. После отправки его можно использовать в качестве собственного образа для создания виртуальной машины в Azure с помощью Azure CLI.
Необходимые компоненты
В данной статье предполагается, что у вас есть следующие элементы:
- Подписка Azure: если у вас нет учетной записи, вы можете создать ее через пару минут. Если у вас есть подписка MSDN, см. страницу Ежемесячная сумма денег на счете в Azure для подписчиков Visual Studio. В противном случае узнайте, как создать бесплатную пробную учетную запись.
- Azure CLI. Убедитесь, что у вас установлена последняя версия Azure CLI и войдите в учетную запись Azure с помощью az login.
- Операционная система OpenBSD, установленная в VHD-файле: на 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 включен по умолчанию.Установите и настройте необходимые компоненты для агента 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
На сайте GitHub можно найти последний выпуск агента Azure. Установите агент:
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 с помощью диспетчера 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_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}
Создание виртуальной машины на основе виртуального жесткого диска
Можно создать виртуальную машину с помощью примера скрипта или напрямую с помощью команды az vm create. Чтобы указать отправленный виртуальный жесткий диск 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-addresss:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Теперь вы можете подключаться к виртуальной машине OpenBSD по протоколу SSH в обычном режиме:
ssh azureuser@<ip address>
Связанный контент
- Дополнительные сведения о поддержке Hyper-V в OpenBSD 6.1 см . в статье OpenBSD 6.1.
- Чтобы создать виртуальную машину с управляемого диска, считывайте az disk.