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


    适用场景

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

    Note

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

    解决方案

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

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

      portal-1.jpg

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

      portal-2.jpg

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

    PowerShell
    #准备基本信息
    PS C:windowssystem32> $resourceGroupName= "<资源组名称>"
    PS C:windowssystem32> $snapshotName ="<快照名称>"
    PS C:windowssystem32> $diskName ="<磁盘名称>"
    PS C:windowssystem32> $diskSize = '<磁盘大小,单位为 GB>'
    PS C:windowssystem32> $storageType ="<存储类型,可选 StandardLRS 或 PremiumLRS>"
    PS C:windowssystem32> $snapshot = Get-AzureRmSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
    
    #生成托管磁盘并将其赋予到变量 datadisk 中以备后用
    PS C:windowssystem32> $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
    PS C:windowssystem32> $datadisk = New-AzureRmDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
    
    1. 将创建好的托管磁盘挂载到虚拟机上。请注意托管磁盘只能挂载到使用托管磁盘的虚拟机上。

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

      portal-3.jpg

    2. 最后在虚拟机操作系统上挂载该磁盘即可。               立即访问http://market.azure.cn

  • 相关阅读:
    VC.【转】采用_beginthread/_beginthreadex函数创建多线程
    Qt532.【转】Qt在pro中设置运行时库MT、MTd、MD、MDd,只适合VS版本的Qt
    Qt532界面.ZC测试
    Qt532.【转】Qt创建鼠标右键菜单
    VC.【转】窗口置于前台并激活的方法
    VS2010.STL::list的一个bug
    STL_map.VC6简单使用例子
    LeetCode题解-----Maximum Gap
    CEPH块设备创建及快照
    Ubuntu 14.04 部署 CEPH集群
  • 原文地址:https://www.cnblogs.com/zangdalei/p/7515050.html
Copyright © 2020-2023  润新知