看来我的 virt-install xml 文件(即在定义 VM 时创建)指定目标“hda”、“hdb”等作为磁盘设备,但是,VM 一旦创建,就会列出/dev/sda
、/dev/sdb
等。为其设备。
在中创建新的 Linux VM 时,是否不能保证目标设备名称得到遵守virt-install
?如果是这样,我们如何在创建虚拟机之前确定设备名称是什么?
我还记得 AWS 中使用外部安装磁盘时出现的类似问题,因此在命名和安装设备时提供的保证中可能缺少一些我不知道的部分。
答案1
虚拟机管理程序无法影响来宾的设备命名。现代 Linux 发行版将大多数磁盘类型称为 sda。如果磁盘对来宾显示为此类类型,则称为 sdx。
指hda
的是虚拟机管理程序中的第一个磁盘。
答案2
我认为这就是它的运作方式。我创建的所有 KVM 实例都包含以下内容:
<target dev='hda' bus='ide'/>
然而,他们每个人的硬盘驱动器都为 not /dev/sda
but /dev/vda
,例如:
$ sudo fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007cd99
Device Boot Start End Blocks Id System
/dev/vda1 * 3 1018 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2 1018 20806 9972736 8e Linux LVM
Partition 2 does not end on cylinder boundary.
在你提到这一点之前,我以前从未注意到这一点。我已经使用创建了虚拟机virt-install
,virt-manager
并且cobbler
它们总是像这样显示。