libvirt / qemu를 사용하여 패스 스루 (9p) 파일 시스템에 대한 읽기 / 쓰기 액세스?


14

최근에 최신 버전의 KVM / QEMU / libvirt에서 패스 스루 파일 시스템에 대한 지원을 실험하기 시작했습니다. 파일 시스템을 읽기 액세스에 사용할 수있게하는 것은 "제대로 작동"했지만 쓰기 액세스가 작동하는 방식에 대해서는 약간 당황했습니다. 게스트에서 파일 시스템을 마운트 한 후 :

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

모드가 있으면 기존 파일을 수정할 수 있습니다 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

내가 찾은 문서 (예 : this )는이 문제를 명시 적으로 다루지 않습니다. Serverfault의 누군가가 게스트의 사용자에게 호스트 파일 시스템에 대한 쓰기 권한을 부여 할 수있는 통과 파일 시스템을 설정하는 데 도움이되기를 바랍니다.


파일 시스템을 읽기 / 쓰기로 마운트 하시겠습니까? 파일을 만들 수 있습니까? 루트 또는 일반 사용자로 파일을 작성 중입니까 (예 : #가 표시되지만 수동으로 작성했을 수 있음)?
야누스 Troelsen

이 문제를 해결 했습니까? 게스트의 마운트 된 호스트 fs 경로에 쓸 수 없다는 비슷한 문제가 있습니다.
Shoan

나는 이것에 대해 진전이 없었습니다. 그것은 일종의 틈새 응용 프로그램이었습니다 ... 나는 일반적으로 로컬 파일 시스템에 액세스 할 수있는 곳에서 KVM 게스트를 실행하지 않습니다. 필자는 때때로이 기능을 실제로 원하는 데스크탑에서 VirtualBox를 실행했습니다.
larsks

물리적 호스트 또는 게스트에 selinux 경고가 표시됩니까?
c4f4t0r

답변:


5

이것은 호스트의 권한 문제처럼 보입니다.

기본적으로 qemu / kvm 프로세스는 권한이없는 사용자 (Debian Wheezy의 libvirt-qemu)로 시작됩니다. 따라서 해당 사용자가 액세스하거나 쓸 수있는 파일 만 VM 게스트가 액세스 할 수 있습니다 (쓰기 가능).

qemu가 다음과 같이 실행되는 사용자에게 디렉토리 소유권 설정을 시도 할 수 있습니다 (/etc/libvirt/qemu.conf의 user = 및 group = 참조).

어쩌면 이것이 당신의 경우에 도움이됩니까?


1
나는 이 질문 과 같은 내 경우에 그것을 시도했지만 , 의류가 꺼져도 작동하도록 할 수는 없다.
Diagon

0

쉘에서 qemu 모니터를 시작할 때 "sudo"를 접두어로 추가해야합니다. 파일이나 폴더를 만들 때 권한 문제를 해결하기 위해 수행했습니다. 내 환경은 ubuntu16.04 + qemu-2.12입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.