3

我使用以下命令将磁盘附加到正在运行的 KVM 虚拟服务器:

virsh attach-disk vps_89 /dev/nbd31 --target vdc --driver tap

磁盘已正确连接。但是,该磁盘并未像vdc在虚拟服务器内部那样附加。我知道文档说该--target参数只是给虚拟服务器一个“提示”,但我真的不能相信没有办法强制将磁盘作为某个设备附加(至少在 Linux 上)。

我通过脚本控制我的虚拟服务器,我必须相信磁盘连接到我告诉它的确切设备。

当我使用这个分离磁盘时:

virsh detach-disk vps_89 --target vdc

然后再次重新附加同一个磁盘,设备ID似乎每次都会增加,即,,,等vdc...... (完全忽略我的参数)vddvdevdf--target

有谁知道以可预测的方式将磁盘附加到 KVM 的好(可靠)方法?

4

1 回答 1

3

根据 RedHat [1] 和 libvirt [2],这不是一个错误,而是一个特性:

指定的实际设备名称不能保证映射到来宾操作系统中的设备名称。将其视为设备订购提示。

唯一可用的解决方案是使用 UUID (/dev/disk/by-uuid/) 来处理虚拟机内的磁盘。

  1. https://bugzilla.redhat.com/show_bug.cgi?id=693372
  2. http://libvirt.org/formatdomain.html
于 2013-05-27T12:30:20.630 回答