Я пытаюсь разработать рабочий процесс клонирования для моей правильно работающей виртуальной машины ARM под управлением Ubuntu. Эта виртуальная машина была создана из образа Bitnami LAMP в Marketplace.
Я пытаюсь использовать параметр -CreateOption attach вместо fromImage, насколько мне известно, он должен работать... Я знаю, что есть другой вариант: deprovision-> Capture->-CreateOption fromImage, но с этим также возникают проблемы, см. Создание новой виртуальной машины ARM из захваченного образа: имя большого двоичного объекта в URL-адресе должно заканчиваться на '. vhd' extension error Рабочий процесс, которому я следовал, соответствует многим описаниям, и я не понимаю эту проблему входа в систему, надеюсь, я пропустил простой шаг...
Я пробовал этот рабочий процесс дважды с другими исходными виртуальными машинами ARM и получил те же результаты: новая машина кажется полностью работоспособной, но Я не могу войти с известным паролем пользователя на новую машину (через SSH).
Диагностика:
- Даже веб-сервер и mysql работают на новой машине должным образом, потому что после запуска новой машины я могу просматривать обслуживаемые ею веб-сайты.
- В приведенном ниже сценарии я пропустил настройку правил для входящего трафика, но успешно разрешил HTTP (см. выше) и SSH. SSH подключается с запросом пароля и оценивает его как неправильный.
Вот что я сделал:
- Полностью функциональная виртуальная машина ARM остановлена (waagent -deprovision не запускался)
- Скопировал виртуальный жесткий диск ОС в новый большой двоичный объект .vhd (успешно, сценарий копирования не в тему)
- Затем запустил следующий скрипт с полным успехом:
.
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionName "Visual Studio Premium with MSDN"
# Create VM from an existing image
$location = "westeurope"
$vmSize = "Standard_DS2"
#Existing resource name parameters:
$rgName = "rg-wp"
$vnetName= "vn-wp"
$stName = "mystorage"
#This vhd is a copy of a completely working ARM OS vhd:
$vhdUri = "https://mystorage.blob.core.windows.net/vhds/disk-wp-01.vhd"
#Newly creatable resource names and other parameters
$vmName = "vm-wp-02"
$nicName="ni-wp-02"
$pipName="pip-wp-02"
$nsgName="nsg-wp-02"
$vhdName = "disk-wp-02"
$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$storageAccount = Get-AzureRmStorageAccount -AccountName $stName -ResourceGroupName $rgName
$pip = New-AzureRmPublicIpAddress -Name $pipName -ResourceGroupName $rgName -Location $location -AllocationMethod Static -DomainNameLabel $pipName
$nsg = New-AzureRmNetworkSecurityGroup -Name $nsgName -ResourceGroupName $rgName -Location $location
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
# Configure VM:
$vm = New-AzureRmVMConfig -vmName $vmName -vmSize $vmSize
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $vhdName -VhdUri $vhdUri -Linux -CreateOption attach
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vm