甘いぞvbd.
二つ以上の Domain-U で,同じディスクを使おうとするときの話.
いずれか一つのドメインでも writable にすると,
Error: Device 768 (vbd) could not be connected. Device /dev/sda is mounted in a guest domain, and so cannot be mounted now.
とかいうメッセージで拒否される.全てが readonly のときは,エラーは出ない.
まあ危ないのでやめとけという,エラーメッセージの気持ちはよく解る.
でも,複数のHVMドメインを一つのディスクで賄いたいというのは割とあるはず*1.Domain-Uではxvdを上手く使って逃げられる場合でも,HVMでは,パーティションテーブルが無いとブートアップが困難だ.
それぞれのHVMドメインが同じパーティションにアクセスしなければ,別段の問題になるとも思えない.
で,あれこれ悩んだ上の逃げ道が,これ.
# losetup /dev/loop0 /dev/sda
その上で,一つのドメインの hda を phys:/dev/sda,hda,w とし,別のドメインの hda を phys:/dev/loop0,w とする.
Xenのvbd は,/dev/loop0 と /dev/sda の物理的実態が同一であるとは見抜けない.甘い,甘いぞ,vbd.
もちろん,各ドメインがアクセスするパーティションを厳格に管理しないと,酷い結果が待っていることは言うまでもない.as your own risk.