NFS (Network File System)
NFS는 네트워크로 연결된 다른 컴퓨터의 파일 시스템을 내 컴퓨터로 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리처럼 사용하는 프로토콜이다.
즉, 저장 공간을 공유할 수 있도록 해주는 서비스를 말한다.
아무래도 다른 컴퓨터의 저장 공간을 공유하다보니 보안성에 취약하기 때문에 보안 이슈가 크다면 권장하진 않는다.
NFS 서버 설정하기(export)
1. NFS 패키지 설치
# yum install nfs-utils
2. NFS 서버 서비스 기동 및 재부팅 시 자동 활성화
# systemctl start nfs-server
# systemctl enable nfs-server
3. exports 할 파일 설정
# mkdir [공유할_디렉터리]
# vi /etc/exports
[공유할_디렉터리] [허가할_호스트][디렉터리 권한]
디렉터리 권한
권한 | 설명 |
rw | 읽기, 쓰기 가능 (read, write) |
ro | 읽기만 가능 (read only) |
secure | 포트번호 1024 이하의 요청만 허가 |
root_squash | 클라이언트의 root권한 무시 |
no_root_squash | 클라이언트의 root권한 인정 |
all_squash | 모든 권한 무시하고 nobody 권한 부여 |
예시 ]
# mkdir /test
# vi /etc/exports
# /test *(rw) // /test 디렉터리에 접근 할 수 있는 호스트는 모두 가능하고, 읽기 및 쓰기를 허가한다.
# /etc/exports
/ihd 192.168.5.9/255.255.255.0(rw,no_root_squash) // /ihd 디렉터리에 접근 할 수 있는 호스트는 192.168.5.9대역에 속한 호스트만 허가하고, root 사용자 권한으로 읽기 및 쓰기를 허가한다. (192.168.5.9/24 도 가능)
/kait 192.168.12.22(rw,root_squash) // /kait 디렉터리에 접근할 수 있는 호스트는 ip주소가 192.168.12.22인 호스트만 가능하고, root사용자 권한은 인정하지 않는다.
4. 수정된 내용 반영
# exportfs -r
5. 방화벽 허가
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --reload
# firewall-cmd --list-all
- firewalld 실행 중일 시 nfs 서비스 허가로 방화벽 설정
6. 확인 (showmount, exportfs)
# showmount -e
# exportfs -v
- showmount 명령어로 NFS 서버의 마운트 관련 정보 출력
- exportfs 명령어로 NFS 서버에 외부에 공유된 내용을(익스포트된) 디렉터리 및 공유 정보 확인
사용 예시]
# exportfs -v
-> NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히 출력한다.
# showmount -e 192.168.12.22
-> NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인한다.
NFS 클라이언트 설정하기(import)
1. NFS 패키지 설치
# yum -y install nfs-utils
2. NFS 서버 공유 디렉터리 확인
# showmount -e [서버_IP]
3. 마운트할 디렉터리 생성
# mkdir [마운트할_디렉터리]
4. 마운트
# mount -t nfs [서버_IP]:/[서버_공유_디렉터리] /[클라이언트_마운트할_경로]
5. fstab 등록
ex) 192.111.1.1:/nfsdir /mnt/server nfs defaults 0 0
[디바이스명] [마운트포인트] [파일시스템 종류] [옵션] [덤프여부] [fsck체크여부]
- 재부팅 시에도 자동 마운트 되도록 /etc/fstab 파일에 등록
# vi /etc/fstab //NFS 클라이언트에서 부팅할 때 NFS 서버의 파일 시스템을 이용할 수 있도록 /etc/fstab 파일을 설정한다.
192.168.5.13:/nfsdata /ndata timeo=15,soft,retrans=3 0 0 // NFS서버 주소는 192.168.5.13이고, 공유 디렉터리는 /nfsdata이다. NFS클라이언트에서 마운트할 디렉터리명은 /ndata로 설정한다.
6. 마운트 확인
# df
- df 명령어로 마운트된 파일 시스템 확인
NFS 관련 명령어
RPC 관련 정보 확인 (rpcinfo)
# rpcinfo
# rpcinfo -e [IP_주소]
- RPC 관련 정보 확인
* RPC : 네트워크 상의 다른 컴퓨터에 위치하고 있는 프로그램에 서비스를 요청하는데 사용되는 프로토콜, 원격 프로시저 절차 호출
사용 예시]
# rpcinfo
-> RPC 관련 정보 출력한다.
NPC 관련 상태 정보확인 (nfsstat)
# nfsstat
-r : RPC 관련 정보 확인
-s : NFS 서버 버전 체크
-c : NFS 클라이언트 버전 체크
사용 예시]
# nfsstat -r
-> RPC 관련 정보 출력한다.
# nfsstat
-> NFS 서버 또는 클라이언트에서 NFS 관련 상태 정보 출력한다.
*NFS 서버 및 클라이언트에서 명령어를 사용해서 정보를 확인하는 과정*
가. NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히 출력한다.
# exportfs -v
나. NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인한다.
# showmount -e 192.168.12.22
다. RPC 관련 정보를 확인한다.
# rpcinfo
또는
# nfsstat -r
라. NFS 서버 또는 NFS 클라이언트에서 NFS 관련 상태 정보를 출력한다.
# nfsstat
'서버 운영 > Linux' 카테고리의 다른 글
[Linux] 아파치 httpd 웹서버 명령어 (0) | 2021.10.20 |
---|---|
Linux 백업(Backup) 관련 tar, cpio, dump, restore, dd 명령어 (0) | 2021.10.19 |
[리눅스] 인증 NIS 서버, 클라이언트 구성 및 NIS 관련 명령어 (2) | 2021.10.18 |
리눅스 apache(아파치) httpd.conf 설정 파일 (1) | 2021.10.18 |
리눅스 lsattr, chattr 파일 속성 관리 명령어 (0) | 2021.10.15 |