web-dev-qa-db-ja.com

Xenは物理ディスクのVBDIDを見つけます

xm create config.cfgを使用してxendomUを開始しています。構成ファイル内には、ゲストに追加され、起動時に正常にアクセスできる多数の物理ブロックデバイス(LV)があります。ただし、将来のある時点で、xmblock-detachコマンドを使用してこれらのディスクの1つをホットプラグ解除できるようにする必要があります。ただし、このコマンドでは、デバイスのvbd IDを切り離す必要があり、起動時に「プラグイン」された特定のディスクのデバイスIDを見つける方法が見つかりません。どんな助けでも大歓迎です!

2
Joe

最終的には、ブロックリストにデバイスがゲストに追加された順序でリストされるという事実を使用してこれを行いました。この注文を保存している限り、このリストからvbd idを取得し、後でdomUから切り離すことができます。

2
Joe

xm block-list <dom>の出力をdom0の物理デバイスに関連付ける「良い」方法を私は知りません。おそらく最善の方法は、xend.logDevControllerエントリを解析することです。これにより、作成時点でのVBDのフロントエンド名とバックエンド名が詳しく説明されます。それは確かに絶対確実ではないので、注意して使用する必要があります。

2
Dan Carley

皮切りに

#> 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にマップされていることがわかります。

1
ukautz

あなたが試すことができます: xm block-list --long <dom>

0
stratos