如何确定为Azure驱动器分配的字母?

时间:2015-10-27 16:56:25

标签: azure disk hard-drive

我的Azure VM有两个连接的磁盘。一个需要删除,其他包含数据库:)

如何确定我的目标驱动器是什么? OO

enter image description here

enter image description here

官方文件说"在分离之前检查" ..好的 - 怎么样?!.. 他们唯一展示的是如何获得操作系统磁盘,但其他两个磁盘不包含操作系统。

我知道如何在磁盘上找到操作系统,但在我的情况下不需要:

   # Get storage account name
$myServiceName =    "bla"
$myVMname =         "bla"

    # Get Virtual machine
$vm = Get-AzureVM -ServiceName $myServiceName -Name $myVMname 

    # Get storage account name and path to vhd 
$vmOSDisk = $vm | Get-AzureOSDisk;

这个命令也没告诉我任何有用的东西:

Get-AzureDisk | Get-AzureDisk | Format-list DiskName, AttachedTo, DiskSizeInGB, OS

我试图缩小音量以查看powershell中的更改,但它不起作用。

UPD: 不幸的是有Win Server 2008 R2,它不支持' get-disk'。但我可以使用其他功能

$drive = gwmi Win32_DiskPartition
$drive 

我可以使用

中的内容
  

Win32_LogicalDisk Win32_MappedLogicalDisk Win32_DiskPartition   Win32_DiskDrive Win32_LogicalDiskRootDirectory Win32_DiskQuota   Win32_LogonSessionMappedDisk Win32_LogicalDiskToPartition   Win32_DiskDrivePhysicalMedia Win32_DiskDriveToDiskPartition   Win32_OfflineFilesDiskSpaceLimit

相反,但如果我理解正确,则没有必要。磁盘管理器中的顺序是什么意思? enter image description here 所以在D:\之后添加的磁盘会从零开始获取LUN编号吗?

所以我成功删除了第一卷,认为E有LUN为零,而H有1 enter image description here

2 个答案:

答案 0 :(得分:1)

将磁盘附加到Azure VM时,必须将LUN(逻辑单元号)与其关联。如果您通过门户网站附加,则可能会默认此编号,但每个磁盘的编号必须是唯一的。值可以是0-15,因为您可以附加的最大数据磁盘数为16.确定LUN是确定哪个驱动器是哪个驱动器的关键。

首先,远程登录到目标计算机并运行以下PowerShell:

get-disk  | format-list number, path

这将输出带有驱动器号(插槽)和路径的驱动器列表。对于数据磁盘,路径将类似于:

\ \ SCSI#磁盘&安培; ven_msft&安培; prod_virtual_disk#的 000001 #{57f56307-b6bf-19d0-94f2-00a0c91efb8b}

特别注意磁盘#000001#位。据我所知,那里的数字与LUN相匹配。在这种情况下,它说的是LUN 1。

查看要删除的驱动器的“磁盘管理”屏幕,并记下左侧的“磁盘编号”。将其与上述命令返回的数字相匹配以查找LUN编号,然后您可以匹配要删除的驱动器的LUN。

接下来,从运行Azure PowerShell cmdlet表单的计算机上执行以下操作:

get-azurevm iaasdiag | Get-AzureDataDisk | ft MediaLink, Lun

这将撤回存储中磁盘的名称和LUN值。

这应该为您提供远程计算机上的磁盘到存储中的磁盘的映射。

我认为有可能在PowerShell中更好地获取LUN,但我没有看过这个。我做了一些测试,似乎证明了这一点。

注意:这种类型的匹配可能是Azure中存储系统的一些内部工作的工作。虽然现在可能有效,但未来也可能会发生变化,恕不另行通知。如果他们有更好的方法来确定这一点,那就太好了。

答案 1 :(得分:1)

如果您使用的是Azure资源管理器,答案会略有不同。

首先,远程登录到目标计算机并运行以下PowerShell:

get-disk | format-list number, path

接下来,从运行Azure PowerShell cmdlet的计算机上执行以下操作:

get-AzureRmVm -ResourceGroupName yourResourceGroupName -Name yourVmName

get-AzureRmVm的输出将为您提供数据磁盘及其属性的列表,包括LUN编号。