我将数据磁盘自动添加到VM后如何初始化磁盘?

问题描述 投票:1回答:2

基于此文档:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-managed-disk-portal我可以将数据磁盘附加到Windows Azure VM上,并通过登录到VM手动初始化磁盘。一切对我有用。

但是这还不够,因为我想通过代码自动完成整个过程。您能给我一些代码示例或有关它的指南吗?谢谢!

azure azure-virtual-machine
2个回答
0
投票

您可以使用powershell进行此操作,需要在VM上启用Windows远程管理。

示例脚本可以在这里找到:

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps


0
投票

@@ 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>"

结果:enter image description here

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.