我正在使用公共云中为我设置的虚拟机。 它在Xen虚拟机pipe理程序下以半虚拟化模式运行,并具有两个虚拟磁盘。 所以我期望虚拟磁盘块设备被命名为xvda和xvdb 。 但是,这台机器的设置方式,块设备名为xvda1和xvda2 。 请注意,这些不是分区名称。 它们是整个块设备的名称。 在/sys/block有xvda1和xvda2目录。 通常情况下,我期望在/sys/block下看到xvda和xvdb ,因为正如这里所logging的那样,Xen虚拟磁盘设备(整个磁盘)应该被命名。
查看/proc/partitions只有两个条目: xvda1和xvda2 。 在/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一样。