KVM:USBのハードディスクを仮想ゲストに見せる

ファイルサーバ用の仮想ゲストを作成し、ファイルをUSBのHDDへ貯めこんでおくようなことをしている。

初めは何も考えていなかったので、USBデバイスとして(<hostdev ...>)仮想ゲストに割り当てる設定をしていたが、いざファイルコピーをすると遅いわ、エラーになるわで困ってしまった。(USB1.0->2.0とかいろいろいじったのもあるかもしれない…)

ホスト側で認識しているHDDのデバイスを割り当てれば良いのではないかということで調べると、

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'/>
  <target dev='vdc' bus='virtio'/>
</disk>

といった感じで、/dev/disk/by-uuidで指定することで実現できた。
(XXXはblkidコマンドで表示されるUUID。割り当て対象のデバイスのUUIDを打つ。targetのデバイスはかぶらないように設定する。)

ファイルコピーを流してみて試しているが、安定しているように見える。
比較しても転送速度は早くなった。

構成次第だとは思うが、セキュリティの観点で、/dev/sddのようなディスク全域に書き込み権限をゲストに与えないほうがいいようだ。

とりあえず。

コメント