我正在使用在公共云中为我设置的虚拟机。它在半虚拟化模式下的 Xen 虚拟机管理程序下运行,并且有两个虚拟磁盘。因此,我希望虚拟磁盘块设备命名为xvda
和xvdb
。但是,根据这台机器的设置方式,块设备命名为xvda1
和xvda2
。请注意,这些不是分区名称。它们是整个块设备的名称。下面/sys/block
有xvda1
和xvda2
目录。通常,我希望在下看到xvda
和,因为xvdb
/sys/block
记录在这里这就是 Xen 虚拟磁盘设备(整个磁盘)的命名方式。
查看后发现/proc/partitions
只有两个条目:xvda1
和xvda2
。 下方/dev
也只有/dev/xvda1
和/dev/xvda2
(没有/dev/xvda
或/dev/xvdb
)。 我还查看了 udev 规则以查看设备是否已被有意重命名,但找不到任何/etc/udev/rules.d
对此负责的内容。
这些设备的名称是否合法,或者系统管理员是否进行了某种错误配置?这些名称似乎与 Linux 内核的 device.txt 文档不一致。或者这对于 Xen 半虚拟化 VM 来说是正常的吗?
答案1
这不是一个配置问题。Xen 允许将虚拟磁盘映射到分区名称。我过去曾经这样做过,但后来出于多种原因又恢复了更经典的方法。据我记得,您可以使用 vdisk 作为分区,甚至可以在其上添加分区。您最终会得到类似xvda1p1
iirc 的结果。