1. NFS란?
SUN사가 개발한 RPC(Remote Procedure Call)기반 시스템으로, NFS 서버의 특정 디렉토리를 클라이언트에서 마운트(mount)하여 자신의 파일 시스템처럼 사용함 (Server/Client 기반 응용 프로그램)
※ File System이 존재하지 않는 Client 시스템 (Diskless Client)에서 원격의 Host 시스템의 특정 디렉토리를 공유
※ NFS를 통해서, 여러 컴퓨터들의 관리 및 사용이 편리해지는 대신에 보안이 상대적으로 약화되기 때문에 주의해야 함
2. NFS를 사용하는 목적:
Client node들이 Master node의 파일 시스템에 접근할 수 있도록 하기 위해서
3. NFS 관련 데몬
1) NFS는 rpc.mountd와 rpc.nfsd 두 데몬을 가지고 있다. /etc/rc.d/init.d/nfs를 실행시키면, 두 데몬이 실행된다.
2) NFS 관련 데몬
관련 데몬 | 설명 |
Netfs | 삼바, NFS, NCP등을 마운트하거나 언마운트해주는 데몬으로 NFS 서버데몬을 띄우기 전에 미리 실행시켜야 함 |
Nfs | NFS서비스를 해주는 데몬이다. 참고로 이 데몬을 실행시키려면 먼저 /etc/exports 파일을 설정해야 함 |
Portmap | RPC연결에 관여하는 데몬으로 NFS, NIS을 사용할 때 필요함으로 실행시켜야 함 |
Nfslock | 파일잠금을 제공하는데 이것은 동시에 여러 사람들이 동일한 파일을 수정하는 것을 막는다. |
4. NFS설치 및 명령어
Master node에만 설치 | Master & Client 노드에 설치 |
$sudo apt-get install nfs-kernel-server portmap | $sudo apt-get install nfs-common portmap |
1) portmap
• RPC (Remote Procedure Call) 연결에 관여하는 데몬으로 NFS, NIS를 사용할 때 필요
• RPC 프로그램을 port(tcp/udp)에 매핑을 시켜주는 데몬
2) NFS 클라이언트 설정 (/etc/exports 수정 후)
#mount -t nfs -o nolock <host name or IP address>:<shared directory> <mount point>
$mount -t nfs -o nolock 192.168.0.32:/home/beloved/nfs nfs
3) 기타 명령어
• NFS 서버 재시작: $sudo service nfs-kernel-server restart
• 호스트의 포트맵 출력: rpcinfo -p
• NFS 포트맵 재시작: #sudo /etc/init.d/portmap restart
5. 순서
• 상황: 192.168.0.1서버의 /home/share/nfs 파일을 192.168.0.2 클라이언트 컴퓨터가 NFS를 통해 /mnt/nfs 마운트하여 사용을 할 경우
- 192.168.0.1 server --------------------------------------------------------------------
$mkdir /home/share/nfs #NFS에 사용될 디렉토리 생성 및 권한 부여 - 1
$chmod -R 777 /home/share/nfs #NFS에 사용될 디렉토리 생성 및 권한 부여 – 2
$vim /etc/exports #(서버) NFS 설정 파일 변경: /etc/exports 파일 수정
/home/share/nfs 192.168.0.2(rw,no_root_sqaush)
$exportfs -rv
$systemctl restart nfs-kernel-server #NFS 서버 재시작
$systemctl restart portmap #Portmap 재시작
- 192.168.0.2 client --------------------------------------------------------------------
$mkdir /mnt/nfs #(클라이언트) 클라이언트가 마운트하여 사용할 디렉토리 생성
$mount -t nfs -o nolock 192.168.0.1:/home/share/nfs /mnt/nfs
#(클라이언트) NFS 서버와 마운트
이후, 클라이언트의 /mnt/nfs에 192.168.119.140의 /home/share/nfs/가 마운트되어 사용된다
이때, 클라이언트 노드에서 영구적으로 192.168.0.1의 /home/share/nfs를 마운트 시킬 경우, 클라이언트의 /etc/fstab을 편집한다.
- 192.168.0.2 client --------------------------------------------------------------------
$vim /etc/fstab #(클라이언트) /etc/fstab 편집
192.168.0.1:/home/share/nfs /mnt/nfs nfs intr 0 0
Reference
[1] http://www.fun25.co.kr/blog/linux-ubuntu-16-04-nfs-setting/?page=5
[2] https://mintnlatte.tistory.com/372
[3] https://darksoulstory.tistory.com/9
[4] https://blog.naver.com/songariq/80033573576
'컴퓨터 & IT (Computer & IT) > Linux' 카테고리의 다른 글
[Linux] sed 편집기 (0) | 2021.03.29 |
---|---|
Shell script 명령어 (0) | 2021.02.05 |
[Linux] /etc/fstab (0) | 2020.11.15 |
[Linux] /etc/exports (0) | 2020.11.14 |
[Linux] Daemon 및 xinetd (0) | 2020.11.13 |
댓글