명령어/Linux

[RHEL] guestmount VM 디스크를 FUSE로 마운트

jykim23 2026. 8. 4. 23:00
반응형

부제: 게스트 파일시스템을 호스트 디렉터리에 붙여 평소 도구로 다룬다

# 파티션을 지정해 읽기 전용으로 마운트
guestmount -a disk.qcow2 -m /dev/sda1 --ro /mnt/g
# 다 쓰면 반드시 전용 언마운트로 내린다
guestunmount /mnt/g
$ ls /mnt/g
etc  var
$ cat /mnt/g/etc/hostname
renamed-vm

게스트 디스크 이미지를 FUSE로 호스트 디렉터리에 마운트해, ls·cp·grep·rsync 같은 평소 도구로 그대로 다루게 해 준다. virt-cat/virt-ls가 파일 단위 조회라면, 이쪽은 아예 디렉터리로 붙여 여러 파일을 자유롭게 오가는 방식이다. 루프 디바이스나 nbd 마운트와 달리 커널 파일시스템 드라이버를 거치지 않아, 손상됐거나 낯선 파일시스템도 비교적 안전하게 연다. 진단은 --ro로 열고, 끝나면 커널 캐시 flush를 보장하는 전용 guestunmount(또는 fusermount -u)로 내려야 데이터가 안전하다. 데비안에도 있지만 RHEL virt 스택 기본이다.

이렇게도 쓴다

OS를 자동 인식해 루트부터 통째로 마운트한다. (-i)

guestmount -a guest.qcow2 -i --ro /mnt/g

 

마운트한 뒤 로그를 평소 도구로 뒤진다. (grep 조합)

guestmount -a guest.qcow2 -i --ro /mnt/g && grep -i error /mnt/g/var/log/messages

 

게스트 파일을 호스트로 통째로 복사한다. (rsync 조합)

rsync -a /mnt/g/etc/ ./backup-etc/

 

여러 파티션을 각각 마운트 지점에 붙인다. (-m 여러 개)

guestmount -a guest.qcow2 -m /dev/sda1:/ -m /dev/sda2:/boot --ro /mnt/g

 

쓰기 모드로 붙였다면 끝나고 반드시 전용 언마운트로 내린다.

guestunmount /mnt/g

 

작업이 끝난 마운트를 찾아 정리한다. (mount 조합)

mount | grep /mnt/g && guestunmount /mnt/g
반응형