如何将使用托管磁盘虚拟机的 OS 盘挂载到其他虚拟机上

本文内容

适用场景

解决方案

适用场景

当出现虚拟机无法启动等情况时,需要将虚拟机的 OS 磁盘挂载到其他虚拟机上进行问题诊断或者数据恢复。使用托管磁盘的虚拟机无法通过存储浏览器等工具进行管理,只能通过 PowerShell 来操作。

Note

本文仅适用于使用托管磁盘的虚拟机。

解决方案

首先,为了避免影响现有的虚拟机,我们需要对虚拟机的托管磁盘执行一个快照,然后通过该快照来生成一个托管磁盘挂载到其他虚拟机上。

登陆Azure 门户, 浏览托盘磁盘所在的资源组,在资源组里点击托管磁盘,截图如下:

点击上方图中的 "Create Snapshot",然后填入名字并选择对应的资源组,如下图所示:

快照创建完成后,我们通过该快照来生成一块托管磁盘。

PowerShell复制

#准备基本信息PS C:\windows\system32>$resourceGroupName="<资源组名称>"PS C:\windows\system32>$snapshotName="<快照名称>"PS C:\windows\system32>$diskName="<磁盘名称>"PS C:\windows\system32>$diskSize='<磁盘大小,单位为 GB>'PS C:\windows\system32>$storageType="<存储类型,可选 StandardLRS 或 PremiumLRS>"PS C:\windows\system32>$snapshot=Get-AzureRmSnapshot-ResourceGroupName$resourceGroupName-SnapshotName$snapshotName#生成托管磁盘并将其赋予到变量 datadisk 中以备后用PS C:\windows\system32>$diskConfig=New-AzureRmDiskConfig-AccountType$storageType-Location$location-CreateOptionCopy-SourceResourceId$snapshot.IdPS C:\windows\system32>$datadisk=New-AzureRmDisk-Disk$diskConfig-ResourceGroupName$resourceGroupName-DiskName$diskName

将创建好的托管磁盘挂载到虚拟机上。请注意托管磁盘只能挂载到使用托管磁盘的虚拟机上。

PowerShell复制

#选择需要挂载到的虚拟机上PS C:\windows\system32>$vm=Get-AzureRmVM-Name“<挂载该磁盘的 VM 名字>”-ResourceGroupName"<资源组名称>"#配置虚拟机挂载托管磁盘,注意 -Lun 部分的数字不能与现有虚拟机上挂载的数据磁盘重复,查看该值的方法见下方截图PS C:\windows\system32>$vm=Add-AzureRmVMDataDisk-VM$vm-Name$diskName-CreateOptionAttach-ManagedDiskId$datadisk.Id-Lun1#更新虚拟机配置,执行挂载操作PS C:\windows\system32>Update-AzureRmVM-VM$vm-ResourceGroupName$resourceGroupNameRequestId IsSuccessStatusCode StatusCode ReasonPhrase--------------------------------------------------True        OK          OK

最后在虚拟机操作系统上挂载该磁盘即可。

立即访问http://market.azure.cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容