Назад | Перейти на главную страницу

Диск ОС для смены виртуальной машины Azure

Я создал виртуальную машину Azure в RM и удалил виртуальную машину, и компоненты ожидают OSDisk в учетной записи хранилища Premium (Blobs). Теперь я хотел бы создать новую виртуальную машину и подключить диск ОС к новой виртуальной машине.

Я пробовал использовать Set-AzureRmVmOsDisk для существующей виртуальной машины. Это не работает. Я также попытался создать новую виртуальную машину и изменить OSDisk. Но есть Ошибка:

New-AzureRmVM : Changing property 'osDisk.name' is not allowed.

Есть идеи, как создать новую виртуальную машину и назначить OS .vhd из старой виртуальной машины в качестве нового системного диска?

РЕДАКТИРОВАТЬ: Я пробовал следующее:

$VM = Get-AzureRmVM -Name "VM01" -ResourceGroupName "TestResource1"
Set-AzureRmVMOSDisk -VM $VM -Name "**VM123456**.vhd" -VhdUri "https://vm01disk.blob.core.windows
.net/vhds/**VM123456**.vhd" -CreateOption Attach

Вывод показывает:

 "osDisk": {
   "osType": null,
   "encryptionSettings": null,
   "name": "VM123456.vhd",
   "vhd": {
     "uri": "https://vm01disk.blob.core.windows.net/vhds/**VM123456**.vhd"
   },

После выполнения команды:

Get-AzureRmVM -Name "VM01" -ResourceGroupName "TestResource1"

снова я вижу:

"osDisk": {
  "osType": "Windows",
  "encryptionSettings": null,
  "name": "VM01",
  "vhd": {
    "uri": "https://vm01disk.blob.core.windows.net/vhds/**VMoldID**.vhd"
  },

Ошибки не было, и подсказка команды указывает, что изменения были внесены. Но при повторном вызове информации с виртуальной машины все еще остается старый vhd

Чтобы создать новую виртуальную машину, используя существующий диск, вы должны иметь возможность сделать это с помощью следующей оболочки PowerShell (это упрощено, я не добавил никаких сетевых адаптеров и т. Д.).

$vm = New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize
$osDiskUri = "https://nameofyourstorageaccount.blob.core.windows.net/vhds/nameofyourvhd.vhd"
$vm = Set-AzureRMVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption attach -Windows
New-AzureRMVM -ResourceGroupName $rgName -Location $location -VM $vm 

В случае, если вам нужен выход без оболочки, то для меня сработало следующее.

Я случайно удалил одну из виртуальных машин SQL Server из своей фермы SharePoint 2013 с помощью нового портала Azure. Как обычно, дисковый VHD-файл остался нетронутым в хранилище BLOB-объектов моей учетной записи хранения.

  1. Загрузите CloudXplorer. Запуск> Управление учетной записью> Учетная запись хранилища BLOB-объектов Azure. Введите имя учетной записи хранения и ключ (вы получите его на портале Azure). Вы видите все файлы VHD и т. Д. Найдите тот, который соответствует имени удаленной виртуальной машины. Выберите самый последний, на который вы хотите восстановить. Запишите его полное имя (* .vhd). Затем щелкните правой кнопкой мыши и выберите «Прервать аренду».

  2. Вернитесь на портал Azure. Удалите сетевой адаптер и отключите общедоступный статический IP-адрес. Создайте новую виртуальную машину с той же конфигурацией, что и раньше. Когда он будет готов, он предоставит новый сетевой адаптер и новый диск с ОС. Остановите ВМ и перейдите в раздел Диски в свойствах. Запишите полный URL-адрес используемого файла VHD. Вернитесь в CloudXplorer и нажмите «Обновить». Найдите новый созданный виртуальный жесткий диск и скопируйте его имя. Удали это. Затем переименуйте исходный файл с именем, которое вы скопировали.

  3. Вернитесь на портал Azure. Свяжите общедоступный статический IP-адрес с недавно созданной сетевой картой для новой виртуальной машины. (В моем случае внутренние IP-адреса были сохранены, потому что в этот момент не выделялись другие виртуальные машины.) Затем запустите виртуальную машину. Вот и все.

Не влияет на ферму SharePoint.

Это просто, если вы используете портал Azure (Новый). зайти на диски и сделать образ с него. А затем создайте новую виртуальную машину из этого снимка.