Да, вы можете изменить размер на больший. Остановите работу виртуальной машины, измените размер диска на больший, а затем снова запустите виртуальную машину. Уменьшить размер управляемого Azure диска вы не можете.

Как перейти в Azure на диск меньшего размера?

Стандартное неуправляемое хранилище данных рекомендуется создавать с наибольшим возможным размером, например 1 Тбайт, поскольку оплачиваются только записанные данные. Но при наличии хранилища данных класса премиум и управляемых дисков (стандартных и класса премиум), которые будут основаны на размере диска, а не на количестве записанных данных, ситуация меняется.

В Azure невозможно уменьшить размер диска, поэтому процесс, показанный ниже, является самым лучшим вариантом для перехода на диск меньшего размера:

  • Создайте меньший по размеру неуправляемый диск, основываясь на размере целевого диска.
  • Смонтируйте диск к виртуальной машине.
  • Остановите все службы, которые записывают текущие данные на диск.
  • Скопируйте данные с текущего диска данных на новый диск, например: robocopy E:\F:\*.*/j/e/sec/Xd «System Volume Information» «$RECYCLE.BIN»/Xo

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

$vmname = "TestVM"
$lPAddr = "10.1.1.11"
Write-Output "Creating VM $vmname ($IPAddr)"
$user = "iocaladmin"
$password = 'Pa55word!'
$securePassword = ConvertTo-SecureString $password -AsPlainText —Force
$cred = New-Object System.Management.Automation.
PSCredential ($user, SsecurePassword)
$rgname = "Dal-Infra-RG"
SavailSet = Get-AzureRmAvailabilitySet -Name "Dal-Infra-DC-AS"4 -ResourceGroupName $rgname $loc = "EastUS"
$networkname = "Prod-Dal-VNet"
Ssubnetname = "$networkname-Sub1"
SvnetRG = "Dal-VNets-RG"
$VNet = Get-AzureRmVirtualNetwork -Name Snetworkname -ResourceGroupName SvnetRG Ssubnet = get-azurermvirtualnetworksubnetcontig -VirtualNetwork $vnet -Name Ssubnetname SsubnetID = Ssubnet.ld
#	Create VM Object
$vm = New-AzureRmVMConfig -VMName Svmname -VMSize Svmsize -AvailabilitySetld SavailSet.Id $nic = New-AzureRmNetworklnterface -Force -Name (‘nic-’ + Svmname) -ResourceGroupName Srgname 4 -Location Sloe -Subnetld SsubnetID -PrivatelpAddress SlPAddr
#	Add NIC to VM
$vm = Add-AzureRmVMNetworklnterface -VM $vm -Id Snic.ld $vm = Set-AzureRmVMSourcelmage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest $vm = Set-AzureRmVMOSDisk -VM $vm -StorageAccountType StandardLRS -DiskSizelnGB 128'
-CreateOption Fromlmage -Caching ReadWrite -Name "$vmname-0S" $vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName Svmname'
-Credential Scred -ProvisionVMAgent -EnableAutollpdate #Add data disk
SdiskConfig = New-AzureRmDiskConfig -AccountType PremiumLRS -Location Sloe -CreateOption Empty '
-DiskSizeGB 128
SdataDiskl = New-AzureRmDisk -DiskName "$vmname-data1"
-Disk SdiskConfig -ResourceGroupName SrgName $vm = Add-AzureRmVMDataDisk -VM $vm -Name "$vmname-data1" -CreateOption Attach -ManagedDiskld SdataDiskl .Id -Lun 1 #Create Virtual Machine
New-AzureRmVM -ResourceGroupName Srgname -Location Sloe -VM $vm
  • Отмонтируйте больший по размеру диск от виртуальной машины.
  • Измените букву драйвера так, чтобы она соответствовала старому диску данных.
  • Перезапустите приложение.

Теперь вы можете подключиться к управляемым дискам. Обратите внимание, это работает только для дисков данных. Единственный способ уменьшить размер диска с операционной системой — это загрузить VHD локально, уменьшить размер раздела диска внутри гостевой операционной системы, уменьшить размер VHD, выгрузить обратно в Azure, а затем вновь создать виртуальную машину. Очевидно, что такой процесс приведет к значительному простою в работе.