基于此文档:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-managed-disk-portal我可以将数据磁盘附加到Windows Azure VM上,并通过登录到VM手动初始化磁盘。一切对我有用。
但是这还不够,因为我想通过代码自动完成整个过程。您能给我一些代码示例或有关它的指南吗?谢谢!
您可以使用powershell进行此操作,需要在VM上启用Windows远程管理。
示例脚本可以在这里找到:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps
@@ ShirazBhaiji提供了一个有用的文档,可以满足您的要求,但是有一个新功能,您可以直接运行commands on Azure VMs,而无需启用WinRM。只需尝试以下Powershell:
这是在Windows中初始化数据磁盘的命令:
$disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number
$letters = 70..89 | ForEach-Object { [char]$_ }
$count = 0
$labels = "data1","data2"
foreach ($disk in $disks) {
$driveLetter = $letters[$count].ToString()
$disk |
Initialize-Disk -PartitionStyle MBR -PassThru |
New-Partition -UseMaximumSize -DriveLetter $driveLetter |
Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
$count++
}
将其另存为.ps1文件。
使用此命令附加磁盘并直接运行以上命令:
$vm = Get-AzVM -Name <your VM name> -ResourceGroupName <your vm resource group name>
$dataDiskName = $vm.Name + '_datadisk1'
$diskConfig = New-AzDiskConfig -SkuName 'Premium_LRS' -Location $vm.Location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $vm.ResourceGroupName
Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName
Invoke-AzVMRunCommand -VM $vm -CommandId 'RunPowerShellScript' -ScriptPath "<path of the previous .ps1 file>"
希望有帮助!