libvirt / qemuを使用したパススルー(9p)ファイルシステムの読み取り/書き込みアクセス?


14

最近、KVM / QEMU / libvirtの最近のバージョンでパススルーファイルシステムのサポートの実験を開始しました。ファイルシステムを読み取りアクセスに使用できるようにすることは「うまくいきました」が、書き込みアクセスがどのように機能するかについては少し困惑しています。ゲストにファイルシステムをマウントした後:

# mount -t 9p -o trans=virtio /fs/data /mnt

modeがある場合、既存のファイルを変更できますo+w

# cd /mnt/work
# ls -l foo
-rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo
# cat foo
this is line one
# echo this is line two >> foo
# cat foo
this is line one
this is line two

しかし、ディレクトリのアクセス許可に関係なく、新しいファイルまたはディレクトリを作成できません。

# ls -ld /mnt/work
drwxrwxrwx. 2 root root 4096 Dec 20 11:16 /mnt/work
# cd /mnt/work
# touch bar
touch: setting times of `bar': No such file or directory
# mkdir bar
# mkdir: cannot create directory `bar': Operation not permitted

私が見つけたドキュメント(これなど)は、この問題を明示的に扱っていません。Serverfaultの誰かが、ホストファイルシステムへのゲストのユーザーに書き込みアクセスを許可できるパススルーファイルシステムのセットアップを手伝ってくれることを望んでいます。


ファイルシステムを読み取り/書き込みでマウントしましたか?ファイルを作成できますか?ルートまたは通常のユーザーとしてファイルを作成していますか?
ヤヌストロエルセン

これを解決できましたか?ゲストのマウントされたホストfsパスに書き込めないという同様の問題があります。
Shoan

私はこれに関して実際に進歩を遂げたことはありません。私にとってはちょっとしたニッチなアプリケーションでした...私は通常、ローカルファイルシステムへのアクセスが役立つ場所でKVMゲストを実行していません。私は実際に時々この機能が必要なデスクトップでVirtualBoxを実行しました。
larsks

物理ホストまたはゲストにselinuxアラートが表示されますか?
c4f4t0r

これは役立つかもしれませんか?linux-kvm.org/page/9p_virtio
ダニラ・ラドナー

回答:


4

これは、ホスト上の許可の問題のように思えます:

デフォルトでは、qemu / kvmプロセスは非特権ユーザー(Debian Wheezyのlibvirt-qemu)として起動されます。そのため、そのユーザーがアクセス(または書き込み)できるファイルのみがVMゲストからアクセス(書き込み)できます。

ディレクトリの所有権をqemuが実行されているユーザーに設定してみてください(/etc/libvirt/qemu.confのuser =およびgroup =を参照)

たぶんこれはあなたの場合に役立ちますか?


私の場合はこの質問と同じですが、試してみましたが、防具をオフにしても機能しません。
ダイアゴン

0

シェルでqemuモニターを起動するときに、接頭辞として「sudo」を追加する必要があります。ファイルまたはフォルダーを作成するときのアクセス許可の問題を解決するためにしました。私の環境はubuntu16.04 + qemu-2.12です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.