virt-manager 2.2.1을 사용하여 Arch Linux 호스트와 Kali 게스트 사이에 공유 디렉터리를 생성해 보았습니다.
"새 가상 하드웨어 추가" → "파일 시스템"으로 이동합니다.
"마침"을 클릭하면 다음과 같은 오류 메시지가 나타납니다.
Error adding device: unsupported configuration: only supports passthrough accessmode
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/addhardware.py", line 1351, in _add_device
self.vm.add_device(dev)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 408, in add_device
self._redefine_xmlobj(xmlobj)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 417, in _redefine_xmlobj
self._redefine_xml_internal(origxml, newxml)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 395, in _redefine_xml_internal
self._define(newxml)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 999, in _define
self.conn.define_domain(xml)
File "/usr/share/virt-manager/virtManager/connection.py", line 612, in define_domain
return self._backend.defineXML(xml)
File "/usr/lib/python3.8/site-packages/libvirt.py", line 4048, in defineXML
if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirt.libvirtError: unsupported configuration: only supports passthrough accessmode
이 문제를 해결하고 공유 디렉토리를 가질 수 있는 방법이 있습니까?
답변1
드라이버를 "Handle"에서 "Path"로 변경해야 했습니다.
공유 디렉터리를 작동시키는 설정과 명령은 다음과 같습니다.
가상 관리자에서:
- 드라이버:경로
- 모드: 매핑
- 쓰기 전략: 즉시
공유 디렉터리에 대해 호스트에 설정된 권한:
sudo chgrp kvm shared/
chmod 770 shared/
게스트에 공유 디렉터리를 마운트합니다.
sudo mount -t 9p -o trans=virtio /hostshare /home/guest/shared
이 /hostshare
부분이 virt-manager로 정의한 "대상 경로"입니다.
게스트에서 공유 디렉터리는 에 있습니다 /home/guest/shared
.
답변2
그리고비티오프스
virt-manager 4.0.0에서는 공유 디렉터리를 만드는 방법이 다음과 같습니다(아직 오류가 발생하지 않았습니다).
호스트에서
호스트에 공유 디렉터리를 만듭니다.
sudo -u libvirt-qemu mkdir ~/vm/arch_linux/shared
가상 머신의 virt-manager GUI에서 하드웨어 추가를 누르고 파일 시스템을 선택합니다.
게스트 인테리어
공유 디렉터리를 마운트합니다.sudo mount -t virtiofs /hostshare ~/shared
"대상 경로"에 대하여
/hostshare
이 예에서는 이를 "대상 경로" 로 사용하고 있습니다 . virt-manager의 XML 구성에서는 이 속성을 "대상 디렉터리"라고 합니다. 이는 게스트 운영 체제에 대한 경로라기보다는 식별자에 가깝습니다.
~에 따르면문서:
이름에도 불구하고 대상 디렉터리는 마운트할 공유 파일 시스템을 식별하기 위해 게스트 내부에서 사용되는 마운트 태그라는 임의의 문자열입니다. 게스트의 필수 마운트 지점과 일치할 필요는 없습니다.