티스토리 뷰

반응형

qemu/kvm - cannot access storage

 

qemu / kvm - cannot access storage [ qemu / kvm 외부 저장 장치 pool - solved]

 

qemu / kvm 가상 머신의 qcow2 파일이 저장되는 저장소는 linux가 설치된 ext4 파티셔닝된 저장소에 보통 저장하게 됩니다. 그러나 용량 문제로 인하여 외장 하드(ntfs)를 pool로 설정하여 새 가상머신을 추가하는 경우, 제대로 추가되지 않고 'cannot access storage (as uid:64055, gid: 64055) : permission denied' 와 같은 에러가 발생하게 됩니다.

외장 하드를 ext4 파티셔닝으로 바꾸어도 해결할 수 없고 이는 kvm을 실행하는 사용자/그룹의 권한을 지정해서 설정해줘야 해결할 수 있습니다.

 

외부 저장 장치 pool (ntfs)

 

qemu/kvm 외부 저장 장치 pool(ntfs)

 

qemu / kvm 의 외부 저장 장치 pool를 생성하려면 파티셔닝이 ext4로 설정해서 사용하는 것이 좋습니다. 그러나 ntfs에서도 사용할 수 있습니다. 다만 사용 중 예기치 못한 에러가 발생할 수 있으니 가능하면 ext4 파티셔닝된 외장 저장 장치를 pool로 사용하는 것을 추천합니다.

 

qemu / kvm 환경 설정 파일 수정

 

/etc/libvirt/qemu.conf 수정

 

외부 저장 장치를 qemu / kvm의 pool로 사용하기 위해서는 sudo vi /etc/libvirt/qemu.conf 명령어를 실행합니다.
G 키를 눌러서 가장 마지막 줄로 이동합니다.
o를 눌러서 마지막 줄에 1줄을 추가합니다. 생성된 라인에서 #를 삭제하고 user와 group을 자신의 아이디로 입력해 줍니다.
제 아이디는 superroot 이기 때문에 다음과 같이 추가했습니다.

user = "superroot"
group = "superroot"

모든 입력이 추가되었다면  [esc] 키를 누르고 :x 를 눌러서 저장하고 vi editor를 exit 합니다.

sudo systemctl restart libvirtd

명령어를 실행하여 서비스를 재실행합니다.

 

외부 저장 장치 pool 추가 및 vm 추가

 

Virtual Machine Manager

 

환경 설정 파일에 user, group를 추가하고 외장 하드에 qcow2 파일을 정상적으로 설치할 수 있게 되었습니다. 실행 역시 정상적으로 작동합니다. 

외장 하드는 ntfs에서도 작동하긴 합니다. 그러나 사용 중 save, snapshot 기능에 문제가 생길 수 있으므로 ext4 파티셔닝을 사용하는 것이 좋습니다.

 

kvm Configuration

 

반응형
댓글