Я создал настроенный виртуальный жесткий диск Debian (Jessie / 8), который пытаюсь запустить в Azure. Согласно моему исследованию (и документам MS, которые я читал), он соответствует требованиям Azure Linux VHD. Я попытался проявить осторожность, чтобы уменьшить или устранить возможные причины проблемы. Вот некоторая общая информация о моем VHD:
У меня нет доступа к MS HyperV, поэтому я тестировал его только локально в VirtualBox. FWIW там нормально работает.
Я использую azure-cli (почему вы пишете клиент командной строки на NodeJS, это просто поражает меня, но это совсем другая история ...!). Я также использую более новый режим «Диспетчер ресурсов» (в отличие от старого «Классического»).
Загрузка проходит нормально, и я уже работал над несколькими проблемами (например, с удалением расширения vhd-файла службой Azure), но теперь я застрял. Когда я пытаюсь подготовить сервер, он тратит много времени (буквально часы), а затем в конечном итоге терпит неудачу. azure-cli не выдает никаких полезных сообщений об ошибках; просто что-то вроде "сбой при настройке".
У меня есть некоторый опыт работы с AWS и Linux, но практически нет опыта работы с Azure. В любом случае, это не должно быть так сложно !?
Итак, как мне решить, в чем моя проблема?
Есть ли где-нибудь внутри Azure (или недокументированный переключатель отладки для azure-cli), где я могу получать более подробные сообщения об ошибках?
Есть ли где-нибудь список общих проблем, над которыми я мог бы работать?
Любая помощь будет принята с благодарностью! Заранее спасибо.
[Обновить] Вот команды, которые я использую:
azure storage blob upload <path-to-vhd> <container-name> <vhd-on-azure-name> -k <access-key> -a <storage-account-name>
FWIW используемая учетная запись хранения находится в той же группе ресурсов, что и виртуальная машина.
Тогда это проблемная часть (которая уходит навсегда и в конечном итоге терпит неудачу):
azure vm create -u <admin-username> -p <admin-password> --location "AustraliaEast" -g "<my-resource-group>" "<vm-name>" -Q <full-vhd-urn> -f <nic-name> -F <vnet-name> -P 10.0.0.0/8 -j <subnet-name> -k 10.0.0.0/24 -o <storage-account-name> -y linux
Изначально nic, vnet и подсеть были автоматически созданы при первой неудачной попытке vm-create. С тех пор я отказался от автоматического создания, но, чтобы не загрязнять лазурный аккаунт, я просто записал их имена для повторного использования.
Другая дополнительная информация:
чтобы протестировать новую версию QEMU, я изменил размер исходного файла raw и преобразовал его в vhd в Arch Linux с помощью QEMU 2.7 с помощью этой команды: qemu-img convert -f raw -O vpc -o subformat=fixed
также тестировался как с параметром force_size, так и без него, чтобы сохранить выравнивание.
[другое обновление] Спасибо @Sam за предложение попробовать использовать "Классический". Похоже, что классический интерфейс лучше сообщает об ошибках. Он говорит, что с VHD что-то не так (хотя не дает никаких подсказок, что именно). Я попробую еще немного подправить и опубликовать ответ, если что-нибудь обнаружу. Спасибо, парни.