(Week 5 - Day 3) - (1/2)
NFS 스토리지
- Network File System
분산 파일 시스템 프로토콜
NFS를 사용하면 윈도우의 공유 폴더처럼 파일을 공유하여 사용할 수 있어
파일의 일관성을 유지할 수 있다.
NFSv3
안전한 비동기식 쓰기 지원
NFSv2에 비해 에러에 대한 처리 능력 향상
2GB 이상의 파일에 접근 가능
RPC 서비스에 의존하기에 rpcbind가 필요하다.
NFSv3 관련 서비스가 다양해 방화벽 설정이 복잡하다.
NFSv3 관련 서비스
서비스 | 설명 |
nfs | 공유된 NFS 서버에 대한 요청을 처리하기 위해 NFS 서버와 적절한 RPC 프로세스를 실행 |
nfslock | NFS 서버의 파일을 클라이언트가 잠금 할 수 있도록 하는 서비스 |
rpcbind | 로컬 RPC 서비스로부터 포트를 예약 |
rpc.mountd | NFSv3로부터 마운트 요청 처리, 요청된 공유 디렉토리가 현재 NFS 서버에서 export 파일에 등록되었는지 확인 |
rpc.nfsd | NFS 서비스의 사용자 레벨을 제공 |
lockd | 서버와 클라이언트 모두에서 실행되는 커널 쓰레드 |
rpc.statd | NSM(Network Status Monitor) RPC 프로토콜을 제공 |
rpc.rquotad | 원격 사용자에게 사용자 할당 정보를 제공 |
NFSv4
rpcbind에 의존하지 않고 서버 자체가 2049/TCP 포트로 수신 대기함
마운트, Lock이 NFS 서비스와 통합됨
NFSv3에 비해 성능 및 보안성이 향상됨
pNFS(Parallel NFS) 사용 가능함
이전 버전 NFS 서버와 하위 호황되어 작동함
NFSv4 관련 서비스
서비스 | 설명 |
rpc.mountd | NFS 서버에서 export를 설정하기 위해 필요함 |
nfs-server | NFS 서버의 파일 시스템을 공유하는 서비스 |
rpc.idmapd | NFSv4 ID와 이름을 연결 UID 또는 GID를 이름으로 전환하거나 반대로 전환하는 기능을 제공 |
NFS 공유 옵션
ro : read-only mount
rw : read-write mount (default)
no_root_squash
원격 root 사용자가 NFS 서버의 로컬 root 처럼 사용되지 않도록 root_squash가 기본값으로 설정되어있으며
해당 보안 설정을 해제하고자 할 때 사용하는 옵션
sync : 이전 요청 사항이 스토리지에 반영되기 전에 다른 요청을 처리하지 않음.
sec : 네트워크로 접근하는 파일시스템의 보안 인증 옵션을 지정함.
- sys : 서버 로컬 사용자 인증
- none : 클라이언트가 NFS 서버에 root 사용자로 접근시 nfsnobody 로 UID, GID가 할당될 때 사용
- krb5 : Kerberos 인증 사용
- krb5i : Kerberos 인증 사용 + 데이터 무결성 검증
- krb5p : Kerberos 인증 사용 + 데이터 무결성 검증 + 암호화
NFS 서버 구성
NFS 패키지 설치
yum install nfs-utils
export 파일 작성
- 공유하기 위한 디렉토리가 생성되어 있지 않으면 먼저 디렉토리를 생성해야 한다.
공유 디렉토리 생성
mkdir MOUNT_POINT
mount -t nfs -o rw SERVER_ADDRESS MOUNT_POINT
실행 및 방화벽 설정
exportfs -r
systemctl start nfs-server.service
systemctl enable nfs-server.service
firewall-cmd --add-service=nfs
firewall-cmd --add-service=nfs --permanent
'Linux' 카테고리의 다른 글
[Linux] 25. Apache 웹 서버(~ 가상 호스트_이름 기반) (0) | 2022.08.11 |
---|---|
[Linux] 24. iSCSI 블록 스토리지 (0) | 2022.08.10 |
[Linux] 22. FTP 서버 (0) | 2022.08.09 |
[Linux] 21. DNS 서버 (0) | 2022.08.09 |
[Linux] 20. SELinux (0) | 2022.08.09 |