더북(TheBook)

공유 디렉터리 마운트하기

공유 디렉터리를 마운트해서 사용할 NFS 클라이언트인 가상 호스트 server02를 시작하고 로그인합니다.

shinjaehun@losttemple:~$ virsh start server02
shinjaehun@losttemple:~$ ssh administrator@192.168.122.202

클라이언트에서 NFS 공유 디렉터리를 사용하기 위해 nfs-common 패키지를 설치합니다. NFS 서버를 사용할 일이 없으면 nfs-kernel-server 패키지는 설치할 필요가 없습니다.

administrator@server02:~$ sudo apt-get install nfs-common

공유 디렉터리를 마운트할 디렉터리를 생성합니다.

administrator@server02:~$ sudo mkdir -p /mnt/nfs/public

공유 디렉터리를 마운트합니다. mount 명령은 mount [옵션] [NFS 서버]:/[공유 디렉터리 경로] [마운트할 경로] 형식으로 입력합니다. -t nfs 옵션으로 마운트 대상 유형이 NFS 파일 시스템이라고 지정합니다.

administrator@server02:~$ sudo mount -t nfs 192.168.122.201:/srv/nfs/public /mnt/nfs/pulic

df 명령으로 시스템에 마운트된 파일 시스템을 확인합니다. 다음과 같이 NFS 공유 디렉터리가 시스템에 마운트된 상태를 확인할 수 있습니다.

administrator@server02:~$ df -h
Filesystem                      Size Used Avail Use% Mounted on
...
192.168.122.201:/srv/nfs/public 8.0G 1.1G  6.5G  15% /mnt/nfs/public

클라이언트의 파일을 공유 디렉터리로 복사해봅시다. 클라이언트 홈 디렉터리에 생성한 ‘test_nfs’ 파일을 공유 디렉터리로 복사합니다. 파일을 복사한 다음 파일 소유권을 확인하면 nobody:nogroup으로 설정되는데, 디렉터리를 공유할 때 all_squash 옵션을 지정했기 때문에 이런 현상이 발생하는 것입니다.

administrator@server02:~$ touch test_nfs
administrator@server02:~$ cp test_nfs /mnt/nfs/public/
administrator@server02:~$ ls -l /mnt/nfs/public/
-rw-rw-r-- 1 nobody       nogroup       13 Apr 12 14:34 test_nfs
Tip

공유 디렉터리를 ro 옵션으로 공유하면 읽기 전용 파일 시스템으로 마운트되기 때문에 쓰기를 허용하지 않습니다.

공유 디렉터리 사용이 끝나면 umount 명령으로 마운트해제 합니다. umount [마운트 경로] 형식으로 입력합니다. umount 명령 후, 공유 디렉터리에 존재하던 파일 정보가 사라집니다.

administrator@server02:~$ sudo umount /mnt/nfs/public
administrator@server02:~$ ls /mnt/nfs/public
이렇게 하세요!

공유 디렉터리 내에서 umount 명령을 실행하면 실패합니다(‘device is busy’). umount 명령은 공유 디렉터리 밖에서 실행해야 합니다.

administrator@server02:~$ cd /mnt/nfs/public
administrator@server02:/mnt/nfs/public$ sudo umount /mnt/nfs/public
umount.nfs: /mnt/nfs/public: device is busy

mount 명령을 실행할 때 NFS 서버의 공유 디렉터리 경로를 지정하지 않아도 마운트는 성공합니다. 단, 마운트 경로가 달라지는데 공유 디렉터리 경로가 추가됩니다.

administrator@server02:~$ sudo mount -t nfs 192.168.122.201:/ /mnt/nfs/public
administrator@server02:~$ ls /mnt/nfs/public
srv
administrator@server02:~$ ls /mnt/nfs/public/srv/nfs/public/
test_nfs
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.