解释用户如何识别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,情况总是如此。
⚠请勿编辑此部分。
感谢您的反馈! 我已将问题分配给内容作者,以进一步调查并酌情更新文档。
嗨,杨。
这几乎是Linux的事情。
在 Azure 中,操作系统磁盘是“sda”,而“sdb”是为 Azure 保留的临时磁盘(如 Windows 服务器中的 D:\ 驱动器)。
“sdc”是唯一可用的选项,因为它是剩下的唯一选项。 但是向您解释一下该磁盘的名称:
我知道这不是完美的答案,但我希望它可以帮助您。
感谢 @marcelo-salvatori,这很有帮助,但我认为在文档本身中容纳 Linux 新手会很好。 仅从本文档中不清楚 OS 磁盘和临时磁盘分别是 sda 和 sdb (可以添加一个链接到解释的地方)。 此外,如果已经连接了数据磁盘,或者用户在登录 VM 之前在 Portal 上连接了多个数据磁盘怎么办 - 那么您如何识别一个特定的磁盘?
您的担忧是真实的@yangsiyu007。 我也对这篇文章有点困惑。
帮助识别磁盘的其他提示:
老实说,在 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/rotational
或lsblk -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 标识每个磁盘(及其分区)。
谢谢大家对此的讨论。 我们一直在内部讨论这个问题,目前不打算用任何额外的步骤更新文档。 @szarkos最后的回复是准确的,是一个很好的评论。 此问题将保留在文档中,如果其他用户继续对此发表评论,我们可以随时重新开始讨论。
令人沮丧的是,需要阅读所有已关闭的反馈才能获得此信息。 如果最后一篇文章确实有帮助,则应将其包含在上述文档中。
我必须同意@pflickin。 应该有一种更简单的方法来获取这些信息。 如果您想自动执行此操作,这将非常有帮助。
谢谢大家对此的讨论。 我们一直在内部讨论这个问题,目前不打算用任何额外的步骤更新文档。
跆拳道? 仍然无法按照当前文档找出正确的驱动器名称。 我最近选择了一个额外的驱动器,因为虚拟机附带的驱动器通常不够大,我花了几个小时才弄清楚如何安装它。 (它在搜索时没有遇到此线程,因此无法在此处找到解决方案。)
对于它的价值,您可以使用sudo fdisk -l
来获取驱动器大小,使用mount -l
和df -h
来确定现有的安装及其大小,只要您不尝试通过交叉比较这些输出,同时添加具有相同大小的多个驱动器。
虽然它不是真正的用户友好型,并且必须搜索几个小时来查找这些命令也是不可接受的,即使如此,鉴于您可以在创建 VM 时添加多个相同大小的驱动器而不会收到任何警告或指导,这也是糟糕的用户体验.
对于其他对如何确定哪个磁盘是正确的磁盘感兴趣的人,我已经更新了文档以使用lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
显示所有磁盘、安装等以及 LUN 编号和大小。 如果将其与 Azure 门户 > VM > 磁盘进行比较,如果所有磁盘的大小相同或相似,您应该能够通过 LUN 编号找到磁盘。 希望这有帮助!
最有用的评论
令人沮丧的是,需要阅读所有已关闭的反馈才能获得此信息。 如果最后一篇文章确实有帮助,则应将其包含在上述文档中。