Xenfind物理磁盘的VBD ID

我正在使用xm create config.cfg启动一个xen domU。 在configuration文件中有许多物理块设备(LV),这些设备被添加到客户机,并且在启动时可以很好地访问。 但是,在将来的某个时刻,我需要能够使用xm block-detach命令来热拔掉其中一个磁盘。 然而,这个命令需要将设备的vbd id分离,并且我无法find一个方法来find启动时“插入”特定磁盘的设备ID。 任何帮助深表感谢!

我没有意识到有任何“好”的方法将xm block-list <dom>的输出关联到dom0中的物理设备。 可能最好的解决办法是从xend.logparsingDevController条目,它在创build时详细说明VBD的前端名称和后端名称。 这当然不是万无一失的,应谨慎使用。

最终这样做是使用这样一个事实,块列表按照它们添加到guest虚拟机的顺序列出设备。 只要存储此订单,就可以从此列表中删除vbd id,然后再将其从domU中分离出来。

从…开始

 #> xm block-list playground Vdev BE handle state evt-ch ring-ref BE-path 51713 0 0 4 8 8 /local/domain/0/backend/vbd/10/51713 51714 0 0 4 9 9 /local/domain/0/backend/vbd/10/51714 51729 0 0 4 10 10 /local/domain/0/backend/vbd/10/51729 51730 0 0 4 11 11 /local/domain/0/backend/vbd/10/51730 

然后使用xenstore-ls (或xsls )。 你会得到这样的东西:

 ... 51729 = "" domain = "playground" frontend = "/local/domain/10/device/vbd/51729" uuid = "da5b1321-249e-c7a6-6ba8-5f5a01fe3b85" dev = "xvdb1" state = "4" params = "/dev/sde1" mode = "w" online = "1" frontend-id = "10" type = "phy" physical-device = "fd:11" hotplug-status = "connected" feature-barrier = "1" sectors = "2097152" info = "0" sector-size = "512" ... 

在上面的例子中,您可以看到虚拟块设备/local/domain/10/device/vbd/51729映射到物理设备/dev/sde1

你可以试试: xm block-list --long <dom>