我正在使用 启动 xen domU xm create config.cfg
。配置文件中有许多物理块设备 (LV),它们被添加到客户机中,在启动时可以正常访问。但是,将来我需要能够使用 xm block-detach 命令热拔出其中一个磁盘。但是,此命令要求分离设备的 vbd id,而我找不到在启动时“插入”的特定磁盘的设备 id 的方法。任何帮助都非常感谢!
答案1
我不知道有什么“好”方法可以将 的输出xm block-list <dom>
与 dom0 中的物理设备关联起来。您能做的最好的事情可能是解析DevController
中的条目xend.log
,这些条目详细说明了创建时 VBD 的前端和后端名称。但这当然不是万无一失的,应谨慎使用。
答案2
最终,我们利用 block-list 按照设备添加到 guest 的顺序列出设备这一事实实现了这一点。只要存储了此顺序,就可以从此列表中抓取 vbd id,然后稍后将其从 domU 中分离出来。
答案3
从...开始
#> 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
答案4
你可以试试:xm block-list --long <dom>