- Etsukata blog / 2013-07-21: VirtFS で Qemu ゲストホスト間ファイル共有
- KVM日記 / 2011-05-18: Rootfs over Virtfsでゲストを起動する
- Troglobit / 2013-07-05: File System Pass-Through in KVM/Qemu/libvirt
- Qiita / tukiyo3 / KVMゲストがホストのファイルシステムをマウント
モード: Passthrough、ドライバー: Path、書き込みポリシー: Default でやってみたんだが、書き込めない。
要調査。
要調査。
qemu が非 root (Ubuntu のデフォルトは libvirt-qemu) で実行されてる場合以下のような結果になった。
また zero fill について samba と VirtFS で比較してみたところ
以下のようにほとんど誤差の範囲のに見えるが予想と期待に反してなぜか samba の方が若干高速という結果が出た。
Mapped は client 側での制約はほとんどないが
host 側とファイル共有する際には host 側の mod,own に融通が効かない。
Passthrough は client 側でなぜかファイルへの作成や変更が出来ない。しかしなぜか削除は出来る。
試してないが qemu を root で走らせると多分劇的に使い易くなるんだと思う。
ただし qemu を root で走らせると言う点で若干セキュリティ上の懸念が生じる(この点が嫌なので試してない)。
Squash は client 側は root しか touch 出来ないのと own が常に 120 126 になる点が user で使い難い。
client 側で mod を変更すれば host 側の mod には若干融通が効く。
samba は own が mount 時の uid, gid に制約される点が使い難い。
また mount 時にパスワードが必要になるため、
自動 mount するためには client 側にパスワードを埋め込まないといけないと言う点で若干セキュリティ上の懸念が生じる。
結局どれも一長一短な感じで難しい。
security mode | :>x | touch | rm | client mod | client own | host mod | host own |
---|---|---|---|---|---|---|---|
Mapped | o | o | o | any | any | -rw------- | libvirt-qemu kvm |
Passthrough | x | x | o | ||||
Squash | o | o(only root) | o | any | 120 126 | passthrough | libvirt-qemu kvm |
$ touch x; ls -l x # Mapped client -rw-rw-r-- 1 kou kou 0 2月 4 06:17 x $ ls -l x # Mapped host -rw------- 1 libvirt-qemu kvm 0 2月 4 06:17 x $ :>x; ls -l x # Squash client -rw-rw-r-- 1 120 126 0 2月 4 06:42 x $ ls -l x # Squash host -rw-rw-r-- 1 libvirt-qemu kvm 0 2月 4 06:42 x
また zero fill について samba と VirtFS で比較してみたところ
以下のようにほとんど誤差の範囲のに見えるが予想と期待に反してなぜか samba の方が若干高速という結果が出た。
$ # samba $ dd if=/dev/zero of=zero bs=1M count=15000 15000+0 records in 15000+0 records out 15728640000 bytes (16 GB) copied, 83.3316 s, 189 MB/s $ # VirtFS $ dd if=/dev/zero of=zero bs=1M count=15000 15000+0 records in 15000+0 records out 15728640000 bytes (16 GB) copied, 85.9632 s, 183 MB/sまた、host 側の CPU 負荷を見ても samba の方が低い値で安定しており、VirtFS の方が全体的に負荷曲線が暴れて高めに出る傾向が見られた。
samba | VirtFS |
Mapped は client 側での制約はほとんどないが
host 側とファイル共有する際には host 側の mod,own に融通が効かない。
Passthrough は client 側でなぜかファイルへの作成や変更が出来ない。しかしなぜか削除は出来る。
試してないが qemu を root で走らせると多分劇的に使い易くなるんだと思う。
ただし qemu を root で走らせると言う点で若干セキュリティ上の懸念が生じる(この点が嫌なので試してない)。
Squash は client 側は root しか touch 出来ないのと own が常に 120 126 になる点が user で使い難い。
client 側で mod を変更すれば host 側の mod には若干融通が効く。
samba は own が mount 時の uid, gid に制約される点が使い難い。
また mount 時にパスワードが必要になるため、
自動 mount するためには client 側にパスワードを埋め込まないといけないと言う点で若干セキュリティ上の懸念が生じる。
結局どれも一長一短な感じで難しい。
タグ
コメントをかく