2015-10-27 47 views
1

我有两个连接到我的Azure VM的磁盘。一个需要删除,其他包含数据库:)如何确定将哪些字母分配给Azure驱动器?

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

enter image description here

enter image description here

官方文件说,“分离前检查” ..好 - !怎么.. 他们表现出有是如何得到的操作系统的磁盘,但其他两个唯一磁盘不包含操作系统。

我知道如何找到OS磁盘,但对我来说是不需要的:

# 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的变化,但它不起作用。

更新日期: 不幸的是存在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

+1

磁盘添加的顺序可能与LUN不一致,请非常小心。我通过向虚拟机添加两个磁盘来测试了我的理论。它们被添加为LUN 0(磁盘2)和1(磁盘3)。然后,我删除了第一个磁盘,并专门为LUN 5添加了一个新磁盘。磁盘管理器将新磁盘显示为磁盘2,因为它替换了我删除的磁盘;但是,它是LUN 5. – MikeWo

+0

Ufff)我希望MS会在这个功能中加入这个功能)现在它很模糊.. –

回答

1

当你连接一个磁盘,Azure的VM一个LUN(逻辑单元号)必须与关联它。如果您通过门户连接,则可能会默认使用此号码,但号码必须对每个磁盘都是唯一的。值可以是0-15,因为您可以连接的最大数据磁盘数量是16个。找出LUN是确定哪个驱动器是哪个驱动器的关键。

首先,远程到目标机器并运行以下的PowerShell:与他们的驱动器号(时隙)和路径驱动器

get-disk | format-list number, path 

这将输出列表。对于数据磁盘,路径将如下所示:

\?\ SCSI#盘& ven_msft & prod_virtual_disk##{57f56307-b6bf-19d0-94f2-00a0c91efb8b}

注意具体的磁盘#000001#位。据我可以告诉那里的数字与LUN相匹配。在这种情况下,它表示它是LUN 1.

查看要删除的驱动器的磁盘管理屏幕,并记下左侧的磁盘编号。将该值与上述命令返回的号码进行匹配以找到LUN编号,然后您可以匹配要删除的驱动器的LUN。

接下来,从你的机器正在运行的Azure的PowerShell命令形成做到以下几点:

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

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

这应该会让您将远程计算机上的磁盘映射到存储中的磁盘。

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

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

+0

嗨!谢谢你的回复,希望我能理解)用你的答案更新了第一篇文章 –

0

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

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

get-disk | format-list number, path

接下来,从机器正在运行的Azure的PowerShell命令从执行以下操作:

get-AzureRmVm -ResourceGroupName yourResourceGroupName -Name yourVmName

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

相关问题