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.
virtualization
filesystems
libvirt
qemu
9p
Larsks
źródło
źródło
Odpowiedzi:
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?
źródło
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.
źródło