Dostęp do odczytu / zapisu dla systemów plików przejściowych (9p) z libvirt / qemu?

14

Niedawno zacząłem eksperymentować ze wsparciem dla systemów plików przejściowych w najnowszych wersjach KVM / QEMU / libvirt. Udostępnienie systemów plików dla dostępu do odczytu „po prostu działało”, ale jestem trochę zaskoczony tym, jak powinien działać dostęp do zapisu. Po zamontowaniu systemu plików w gościu:

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

Mogę zmodyfikować istniejący plik, jeśli ma tryb 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

Ale bez względu na uprawnienia do katalogu nie mogę utworzyć nowego pliku lub katalogu:

# 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

Dokumentacja, którą udało mi się znaleźć (np. To ), nie odnosi się wyraźnie do tego problemu. Mam nadzieję, że ktoś tutaj w Serverfault pomoże mi skonfigurować system plików przekazywania, który pozwoli mi przyznać dostęp do zapisu użytkownikowi w systemie gościa do systemu plików hosta.

Larsks
źródło
Czy na pewno podłączyłeś system plików do odczytu / zapisu? Czy potrafisz tworzyć pliki? Czy tworzysz pliki jako użytkownik root lub zwykły użytkownik (tak, widzę twój #, ale mógłbyś to napisać ręcznie)?
Janus Troelsen,
Czy udało ci się to rozwiązać? Mam podobny problem polegający na tym, że nie mogę pisać na ścieżce fs zamontowanego hosta w gościu.
Shoan,
Tak naprawdę nigdy nie poczyniłem żadnych postępów. To była dla mnie niszowa aplikacja ... Generalnie nie uruchamiam gości KVM w miejscach, w których przydatny byłby dostęp do lokalnego systemu plików. Zacząłem uruchamiać VirtualBox na pulpicie, gdzie od czasu do czasu chcę tę funkcję.
larsks
Czy widzisz jakiś alert selinux na fizycznym hoście lub gościu?
c4f4t0r
To może pomóc? linux-kvm.org/page/9p_virtio
Danila Ladner

Odpowiedzi:

5

Wydaje mi się to problemem z uprawnieniami hosta:

Domyślnie proces qemu / kvm jest uruchamiany jako użytkownik nieuprzywilejowany (libvirt-qemu w Debian Wheezy). Zatem tylko pliki dostępne (lub zapisywalne) przez tego użytkownika są dostępne (zapisywalne) przez gości VM.

Możesz spróbować ustawić własność katalogu dla użytkownika qemu jest uruchamiany jako (patrz użytkownik = i grupa = w /etc/libvirt/qemu.conf)

Może to pomaga w twoim przypadku?

matt_gnu
źródło
1
Próbowałem tego w moim przypadku, co jest tym samym co to pytanie , ale nie mogę go uruchomić, nawet przy wyłączonym zbroi.
Przekątna
0

podczas uruchamiania monitora qemu w powłoce należy dodać „sudo” jako prefiks. Zrobiłem to, aby rozwiązać problem z uprawnieniami podczas tworzenia pliku lub folderu. moim środowiskiem jest ubuntu16.04 + qemu-2.12.

ianwang
źródło