整个块设备名为xvda1,xvda2而不是xvda,xvdb

我正在使用公共云中为我设置的虚拟机。 它在Xen虚拟机pipe理程序下以半虚拟化模式运行,并具有两个虚拟磁盘。 所以我期望虚拟磁盘块设备被命名为xvdaxvdb 。 但是,这台机器的设置方式,块设备名为xvda1xvda2 。 请注意,这些不是分区名称。 它们是整个块设备的名称。 在/sys/blockxvda1xvda2目录。 通常情况下,我期望在/sys/block下看到xvdaxvdb ,因为正如这里所logging的那样,Xen虚拟磁盘设备(整个磁盘)应该被命名。

查看/proc/partitions只有两个条目: xvda1xvda2 。 在/dev ,也只有/dev/xvda1/dev/xvda2 (no /dev/xvda/dev/xvdb )。 我也看了看udev的规则,看看这些设备是否被有意的重命名了,但是在/etc/udev/rules.d下找不到任何东西。

这些设备是这些合法的名称,还是系统pipe理员做了某种错误configuration? 这些名字当然似乎与Linux内核的device.txt文档不一致。 或者这对Xen半虚拟化的VM来说是正常的?

这不是一个configuration问题。 Xen允许将虚拟磁盘映射到分区名称。 过去我曾经这样做过,但之后又回到了一个更经典的方法,原因有几个。 据我所知,你使用虚拟磁盘作为分区,甚至在其上添加分区。 你最终会像xvda1p1 iirc一样。