/ubuntu

Qemu에서 NFS사용해서 파일 공유

Qemu 에뮬레이터로 우분투를 돌리고 있을 때, 호스트와 게스트가 nfs로 파일 공유하는 방법에 대한 포스트이다.

게스트와 호스트간 파일을 공유하면 편하다. 예를 들어 호스트에서 make를 해서 나온 vmlinux파일을 공유하는 일이 있다.

기본적으로는 이전에 포스트한 nfs와 비슷하다.

qemu를 키고 ssh로 게스트에 접속할때, ssh localhost -p5555를 통해 접속하는 것을 기억하면, export의 타겟은 localhost(즉, 127.0.0.1)가 된다.

/nfs 가 공유할 폴더이다. ubuntu의 버전은 18.04이다.


Host

(Host)# vim /etc/exports
# 호스트의 /etc/exports에 다음 내용을 추가한다.
/nfs    127.0.0.1(rw,no_root_squash,async,insecure)

(Host)# systemctl restart nfs-server.service

위에서 insecure이 보통의 nfs 설정에서 없는 것인데, 일정 포트 이상으로 nfs를 허용안하기 때문에 5555번 포트를 사용하기 위해서는 이 옵션이 필요하다.


Guest

게스트는 일반 nfs설정과 똑같다.

이 중에서 가장 헷갈리는 것은 host의 주소인데, 이는 route 커맨드로 알아낼 수 있다.

(Guest)# apt install -y net-tools
(Guest)# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 ens3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 ens3

위에서 Gateway인 10.0.2.2가 Host의 주소가 된다. SSH로 확인할 수 있다.

(Guest)# ssh 10.0.2.2

알아낸 ip 주소로 mount를 한다.

sudo mount -t nfs 10.0.2.2:/nfs /nfs

자세한 nfs 설정은 아래 포스트에서 확인할 수 있다.

https://namj.be/2020-02-18-nis-nfs/2020-02-18-nis-nfs/

Jaeyoun

Jaeyoun

The maintainer

Read More