Resize unmanaged OS disk
With PowerShell script:
Connect-AzureRmAccount #Variables $rgName = "Resource Group Name" $vmName = "Virtual Machine Name" $newsize = "New size of disk" #Get azure vm configuration $vm = Get-AzureRmVM -ResourceGroupName $rgName -Name $vmName #stop vm Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force #resize vm osdisk and update vm configuration $vm.StorageProfile.OSDisk.DiskSizeGB = $newsize Update-AzureRmVM -ResourceGroupName $rgName -VM $vm #start vm Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName
Resize managed OS disk
With PowerShell script:
Connect-AzureRmAccount #Variables $rgName = "Resource Group Name" $vmName = "Virtual Machine Name" $newsize = "New size of disk" #Get azure vm configuration $vm = Get-AzureRmVM -ResourceGroupName $rgName -Name $vmName #stop vm Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force #resize vm osdisk and update vm configuration $disk= Get-AzureRmDisk -ResourceGroupName $rgName -DiskName $vm.StorageProfile.OsDisk.Name $disk.DiskSizeGB = $newsize Update-AzureRmDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name #start vm Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName
Resize unmanaged OS disk and convert to managed and expand local disk in Windows
Script
#Connect to azure
Connect-AzureRmAccount
#Variables
$rgName = "RG01"
$vmName = "vmwin"
$addnewsize = "40"
#Get azure vm config
$vm = Get-AzureRmVM -ResourceGroupName $rgName -Name $vmName
#stop vm
Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
#get new size
$newsize=$vm.StorageProfile.OsDisk.DiskSizeGB + $addnewsize
$vm.StorageProfile.OSDisk.DiskSizeGB = $newsize
Update-AzureRmVM -ResourceGroupName $rgName -VM $vm
#get storage account name
$storageAccountName = $vm.StorageProfile.OsDisk.Vhd.Uri.Split("/")[2].Split(".")[0]
$context = New-AzureStorageContext –StorageAccountName $storageAccountName -StorageAccountKey (Get-AzureRmStorageAccountKey -ResourceGroupName $rgName -Name $storageAccountName)[0].Value
#get name of vhd disk and name of conainer
# if URI like : https://rg01disks977.blob.core.windows.net/vhds/vm.vhd
$vhdname=$vm.StorageProfile.OsDisk.Vhd.Uri.Split("/")[4]
$containername=$vm.StorageProfile.OsDisk.Vhd.Uri.Split("/")[3]
#convert to managed disk
ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
#remove old vhd file
Remove-AzureStorageBlob -Container $containername -Blob $vhdname -Context $context
#####if disk not resized before converted, then:
#Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
#$vm = Get-AzureRmVM -ResourceGroupName $rgName -Name $vmName
#$disk= Get-AzureRmDisk -ResourceGroupName $rgName -DiskName $vm.StorageProfile.OsDisk.Name
#$disk.DiskSizeGB = $newsize
#Update-AzureRmDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name
#Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName
# Resize local disk in Windows
Invoke-AzureRmVMRunCommand -ResourceGroupName $rgName -Name $vmName -CommandId 'RunPowerShellScript' -ScriptPath '.\resize.ps1'
For Windows OS you will need extend disk via Disk Management Util
resize.ps1
Resize-Partition -DriveLetter c -Size (Get-PartitionSupportedSize -DriveLetter c).sizeMax
Комментариев нет:
Отправить комментарий