复制Azure OSDisks V DataDisks和PowerShell设置为0的LUN

xe55xuns  于 2022-11-10  发布在  Shell
关注(0)|答案(2)|浏览(149)

我有几个问题
我正在复制一些操作系统磁盘和一些数据磁盘,并且对这两个磁盘使用相同的过程,即创建快照,然后从快照创建磁盘。我在网上读过一些文章,上面说似乎相同的任务有两个过程。拍摄快照并从快照创建磁盘时,操作系统盘和数据盘有什么区别吗?
另外,我正在尝试连接前面提到的数据磁盘,而LUN编号总是从1开始,有人知道如何才能让它从0开始吗?我有的代码是

$dataDisks = Get-AzDisk | ? {$_.name -like "*$ddisk*"} 
$lun = 0

foreach ($disk in $dataDisks){

$lun += 1

$vm = Add-AzVMDataDisk -CreateOption Attach -VM $vm -Lun $lun -ManagedDiskId $disk.Id
Update-AzVM -VM $vm -ResourceGroupName $VMRG -Verbose

}

提前感谢,如果在一个帖子中看起来有很多问题,我表示歉意:)

yzxexxkh

yzxexxkh1#

操作系统磁盘和数据磁盘快照的行为应该与拍摄VM的快照相同,以便能够回滚在磁盘上所做的更改,直到它们整合到VM上。
关于你的另一个问题:

foreach ($disk in $dataDisks){

$vm = Add-AzVMDataDisk -CreateOption Attach -VM $vm -Lun $lun -ManagedDiskId $disk.Id
Update-AzVM -VM $vm -ResourceGroupName $VMRG -Verbose
$i++ # You were modifying the variable before it it had finished. 

}
rn0zuynd

rn0zuynd2#

我一直在进行大量的订阅迁移,需要能够移动和附加数据磁盘,非常类似。
我总是这样开始我的想法:

$lun = -1

## If multiple Data Disks it will prompt for the LUN, start at 0

foreach ($ddisk in $datadisks) {
    $luns = ++$lun
$getddisk = Get-AzDisk -ResourceGroupName $destinationrg -DiskName $ddisk
Write-output $ddisk.id
$newvm = Add-AzVMDataDisk -vm $newvm -Name $ddisk -CreateOption Attach - 
ManagedDiskId $getddisk.id -Caching Readonly -storageaccounttype 
Premium_LRS -Lun $luns
     }

相关问题