【问题标题】:How to find if a Virtual Machine is using managed/Unmanaged disks in Azure如何查找虚拟机是否在 Azure 中使用托管/非托管磁盘
【发布时间】:2017-09-11 02:34:29
【问题描述】:

Azure 中是否有方法可以查找 Azure 中的 VM 是否使用托管/非托管磁盘创建?

【问题讨论】:

    标签: azure azure-storage azure-blob-storage


    【解决方案1】:

    我们可以使用PowerShell来列出Azure VM的信息。

    这是 非托管磁盘 VM 输出:

    PS C:\Users> (get-azurermvm -ResourceGroupName jasonvn -Name jasonvm1).StorageProfile.OsDisk
     StorageProfile and NetworkProfile, respectively.
    
    
    OsType             : Linux
    EncryptionSettings :
    Name               : jasonvm1
    Vhd                : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
    Image              :
    Caching            : ReadWrite
    CreateOption       : FromImage
    DiskSizeGB         :
    ManagedDisk        :
    

    这是托管磁盘 VM 输出:

    PS C:\Users> (get-azurermvm -ResourceGroupName jasonvn -Name jasonvm).StorageProfile.OsDisk
     StorageProfile and NetworkProfile, respectively.
    
    
    OsType             : Linux
    EncryptionSettings :
    Name               : jasonvm
    Vhd                :
    Image              :
    Caching            : ReadWrite
    CreateOption       : FromImage
    DiskSizeGB         : 30
    ManagedDisk        : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
    

    另一种方法,我们可以使用 Azure 新门户检查 自动化脚本 找到它:

    【讨论】:

    • 如果您需要进一步的帮助,请告诉我。
    【解决方案2】:

    要添加到 Jason Ye 的答案,您还可以在 Azure CLI 2.0 中运行类似的命令。命令是:

    az vm show -g rg_name -n vm_name
    

    非托管磁盘的输出是:

      ...
      "osDisk": {
          "caching": "ReadWrite",
          "createOption": "fromImage",
          "diskSizeGb": 32,
          "encryptionSettings": null,
          "image": null,
          "managedDisk": null,
          "name": "rhel-un",
          "osType": "Linux",
          "vhd": {
            "uri": "https://storageaccountname.blob.core.windows.net/vhds/....vhd"
          }
    

    对于托管磁盘:

    ...
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "fromImage",
      "diskSizeGb": 32,
      "encryptionSettings": null,
      "image": null,
      "managedDisk": {
        "id": "/subscriptions/sub_id/resourceGroups/rg_name/providers/Microsoft.Compute/disks/rhel_OsDisk_1...",
        "resourceGroup": "rg_name",
        "storageAccountType": "Standard_LRS"
      },
      "name": "rhel_OsDisk_1...",
      "osType": "Linux",
      "vhd": null
    }
    

    【讨论】:

      【解决方案3】:

      Azure 门户的另一个区域也提供此信息。转到门户中的“虚拟机”列表,单击“列”按钮,然后添加一个名为“使用托管磁盘”的列。

      【讨论】:

        【解决方案4】:

        如果寻找操作系统磁盘,这将工作。可以修改数据盘。

        $VmName="vmNameHere" #vmNameHere
        $RGName="rgnameHere" #resourceGroupname
        
        if((Get-AzureRmVM -Name $VmName -ResourceGroupName $RGName).StorageProfile.OsDisk.ManagedDisk -like ''){"$vmName,OS Disk,Unmanaged"}else{"$Vmname,OS Disk,Managed"}
        

        【讨论】:

          【解决方案5】:

          类似于 Scottge 的 answer,但如果您只是转到 VM > 磁盘 > 选择磁盘,它会打开一个显示磁盘信息的刀片。如果它是非托管的,则在此刀片的顶部,“(非托管)”会显示在磁盘名称之后。如果是托管的,则不会显示任何内容。

          【讨论】:

            【解决方案6】:

            这是我找到的一种方法,请按照以下步骤确定磁盘类型:

            • 登录 Azure 门户。
            • 选择有问题的虚拟机。选择
            • 要检查的磁盘。查看磁盘的 URL。

            非托管磁盘的 URL 如下所示:

            /storage_account_name.blob.core.windows.net/VM_name/VM_name.vhd

            托管磁盘的 URL 如下所示:

            /subscriptions/0cbded86-6088-430c-a320-xxxxxxxxxxxx/resourceGroups/Resource_Group_name/providers/Microsoft.Compute/disks/Disk_name

            【讨论】:

              猜你喜欢
              • 2018-01-15
              • 1970-01-01
              • 2017-12-31
              • 2020-03-17
              • 2019-02-02
              • 1970-01-01
              • 2020-08-16
              • 2015-09-06
              • 1970-01-01
              相关资源
              最近更新 更多