Azure-docs: 不清楚用户如何识别他们想要挂载的磁盘

创建于 2018-08-24  ·  12评论  ·  资料来源: MicrosoftDocs/azure-docs

解释用户如何识别dmesg | grep SCSI命令的结果中显示的哪个磁盘是感兴趣的磁盘会很有帮助。

“这里,sdc 是我们想要的磁盘”没有帮助。

我通过阅读https://chrismckee.co.uk/creating-mounting-new-drives-in-ubuntu-azure/发现它显示命令sudo lshw -C disk ,我从那里通过查看识别磁盘它的大小并记下它的总线信息,从中我可以将它与dmesg | grep SCSI的结果相关联。 我相信你有更好的方法来做到这一点。

解释为什么我们在命令中 grepping SCSI 也很好 - 请注意,如果他们只是将数据磁盘附加到 Azure 门户上的 VM,情况总是如此。


文件详情

请勿编辑此部分。

Pri1 assigned-to-author doc-enhancement triaged virtual-machines-linusvc

最有用的评论

令人沮丧的是,需要阅读所有已关闭的反馈才能获得此信息。 如果最后一篇文章确实有帮助,则应将其包含在上述文档中。

所有12条评论

感谢您的反馈! 我已将问题分配给内容作者,以进一步调查并酌情更新文档。

嗨,杨。

这几乎是Linux的事情。

在 Azure 中,操作系统磁盘是“sda”,而“sdb”是为 Azure 保留的临时磁盘(如 Windows 服务器中的 D:\ 驱动器)。

“sdc”是唯一可用的选项,因为它是剩下的唯一选项。 但是向您解释一下该磁盘的名称:

  • sd 代表 SCSI
  • c 是磁盘的顺序(a 是第一个磁盘,b 第二个等等)
  • sdc 表示这是服务器中的第三个 SCSI 磁盘

我知道这不是完美的答案,但我希望它可以帮助您。

感谢 @marcelo-salvatori,这很有帮助,但我认为在文档本身中容纳 Linux 新手会很好。 仅从本文档中不清楚 OS 磁盘和临时磁盘分别是 sda 和 sdb (可以添加一个链接到解释的地方)。 此外,如果已经连接了数据磁盘,或者用户在登录 VM 之前在 Portal 上连接了多个数据磁盘怎么办 - 那么您如何识别一个特定的磁盘?

您的担忧是真实的@yangsiyu007。 我也对这篇文章有点困惑。
帮助识别磁盘的其他提示:

  • 要找出磁盘的大小,您可以使用“fdisk -l”。 此命令将列出所有您的磁盘、它们的大小和现有分区
  • 要确定磁盘是 SSD 还是 HDD,请使用“cat /sys/block/sda/queue/rotational”,将 sda 替换为您要检查的磁盘。 您应该为硬盘获得 1,为 SSD 获得 0。

老实说,在 Azure 中我们似乎有一个问题,所有磁盘似乎都被 VM 识别为 HDD。 我在 Windows 和 Linux Server 中都看到过这种行为。
对于 Windows,这可以使用“Set-PhysicalDisk”命令进行更改,我还没有找到在 Linux 中执行相同操作的方法。 也许在 linux 中使用 PowerShell 可以做到这一点,但我自己还没有尝试过。

因此,识别它的方法将是侏罗纪的。 你必须一次添加一个磁盘并识别它,添加另一个并识别它等等。 这很蹩脚,我知道。 但这是我找到的唯一解决方法。 我希望 Azure 尽快解决这个问题。

参考:
https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds#temporary -disk
https://unix.stackexchange.com/questions/65595/how-to-know-if-a-disk-is-an-ssd-or-an-hdd

cat /sys/block/[DRIVE]/queue/rotationallsblk -d -o name,rota在 Azure 中不起作用。 它表示 sda/sdb/sdc 为 1,尽管sda是高级 SSD, sdb是临时 SSD,而sdc是标准 HDD。

另外fdisk -l不返回任何内容。

在 Ubuntu 上测试。

并不总是保证 sda 和 sdb 将分别是操作系统和临时磁盘。 识别特定数据磁盘的最佳方法是通过 LUN。 当您通过 CLI/Powershell 附加磁盘时,您实际上可以指定 LUN,或者默认情况下,编号将从 0 开始,并为每个新附加的磁盘增加 1。

在 Azure 上的许多标准 Linux 映像中,有一个 udev 规则可为每个磁盘创建友好/持久的符号链接,因此您无需担心 sda/sdb/etc。 命名。 附加数据磁盘后,您应该会看到在 /dev/disk/azure/scsi1/* 中创建的新符号链接,该符号链接通过 LUN 标识每个磁盘(及其分区)。

也可以看看:
https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/troubleshoot-device-names-problems

谢谢大家对此的讨论。 我们一直在内部讨论这个问题,目前不打算用任何额外的步骤更新文档。 @szarkos最后的回复是准确的,是一个很好的评论。 此问题将保留在文档中,如果其他用户继续对此发表评论,我们可以随时重新开始讨论。

令人沮丧的是,需要阅读所有已关闭的反馈才能获得此信息。 如果最后一篇文章确实有帮助,则应将其包含在上述文档中。

我必须同意@pflickin。 应该有一种更简单的方法来获取这些信息。 如果您想自动执行此操作,这将非常有帮助。

谢谢大家对此的讨论。 我们一直在内部讨论这个问题,目前不打算用任何额外的步骤更新文档。

跆拳道? 仍然无法按照当前文档找出正确的驱动器名称。 我最近选择了一个额外的驱动器,因为虚拟机附带的驱动器通常不够大,我花了几个小时才弄清楚如何安装它。 (它在搜索时没有遇到此线程,因此无法在此处找到解决方案。)

这对于人们付出的代价是不可接受的。

对于它的价值,您可以使用sudo fdisk -l来获取驱动器大小,使用mount -ldf -h来确定现有的安装及其大小,只要您不尝试通过交叉比较这些输出,同时添加具有相同大小的多个驱动器。

虽然它不是真正的用户友好型,并且必须搜索几个小时来查找这些命令也是不可接受的,即使如此,鉴于您可以在创建 VM 时添加多个相同大小的驱动器而不会收到任何警告或指导,这也是糟糕的用户体验.

是的,此文档需要更新。 同时,我还将在此处删除这些链接,以防万一它们有帮助:

https://github.com/canonical/cloud-init/blob/master/udev/66-azure-ephemeral.rules
https://github.com/Azure/WALinuxAgent/blob/master/config/66-azure-storage.rules

对于其他对如何确定哪个磁盘是正确的磁盘感兴趣的人,我已经更新了文档以使用lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"显示所有磁盘、安装等以及 LUN 编号和大小。 如果将其与 Azure 门户 > VM > 磁盘进行比较,如果所有磁盘的大小相同或相似,您应该能够通过 LUN 编号找到磁盘。 希望这有帮助!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

paulmarshall picture paulmarshall  ·  3评论

monteledwards picture monteledwards  ·  3评论

JeffLoo-ong picture JeffLoo-ong  ·  3评论

bityob picture bityob  ·  3评论

jebeld17 picture jebeld17  ·  3评论