我使用以下命令将磁盘附加到正在运行的 KVM 虚拟服务器:
virsh attach-disk vps_89 /dev/nbd31 --target vdc --driver tap
磁盘已正确连接。但是,磁盘未附加为
vdc
虚拟服务器里面。我知道文档说 --target
参数只是给虚拟服务器一个“提示”,但我真的不敢相信没有办法强制将磁盘附加为某个设备(至少在 Linux 上)。我正在通过脚本控制我的虚拟服务器,我必须相信磁盘已连接到我告诉它的确切设备。
当我使用这个分离磁盘时:
virsh detach-disk vps_89 --target vdc
然后再次重新连接同一个磁盘,设备ID似乎每次都在增加,即
vdc
, vdd
, vde
, vdf
等等...(完全忽略我的 --target
参数)有没有人知道以可预测的方式将磁盘连接到 KVM 的好(可靠)方法?
最佳答案
根据 RedHat [1] 和 libvirt [2] 这不是一个错误,它是一个特性:
The actual device name specified is not guaranteed to map to the device name in the guest OS. Treat it as a device ordering hint.
唯一可用的解决方案是使用 UUID (/dev/disk/by-uuid/) 来处理虚拟机内部的磁盘。
关于storage - KVM virsh attach-disk 不支持设备号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14935953/