728x90
우분투에서 NFS(Network File Service) Server를 설치하고 NFS 볼륨을 마운트하는 방법
테스트 환경
- 운영체제 버전 정보
$ lsb_release -d
Description: Ubuntu 20.04.5 LTS
NFS 서버 설치
NFS 서버 패키지 설치
sudo apt update
sudo apt install -y nfs-kernel-server
sudo systemctl --now enable nfs-server.service
sudo systemctl status nfs-server
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2022-10-07 22:27:17 KST; 1min 12s ago
Main PID: 3357495 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4677)
Memory: 0B
CGroup: /system.slice/nfs-server.service
Oct 07 22:27:16 kube-control1 systemd[1]: Starting NFS server and services...
Oct 07 22:27:17 kube-control1 systemd[1]: Finished NFS server and services.
NFS 공유 디렉토리 생성 및 권한 설정
sudo mkdir -p /nfs-directory/shares-data1
sudo chown nobody:nogroup /nfs-directory/shares-data1
sudo chmod -R 777 /nfs-directory/shares-data1
NFS 서버 설정(엑세스 권한 부여)
sudo vim /etc/exports
$ sudo vim /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
/nfs-directory/shares-data1 0.0.0.0/0(rw,sync,subtree_check)
- rw : 읽기 및 쓰기 권한을 부여합니다.
- sync : 요청을 동기적으로 처리합니다.
- no_subtree_check : 서브트리 검사 비활성화
- subtree_check : 서브트리 검사 활성화
728x90
설정 파일을 저장한 후 NFS 서버를 재시작
sudo systemctl restart nfs-server.service
NFS 설정을 업데이트하고 모든 내보내기 항목에 대해 자세한 정보를 표시
sudo exportfs -av
$ sudo exportfs -av
exporting 0.0.0.0/0:/nfs-directory/shares-data1
현재 내보내기 상태를 확인
sudo exportfs -s
$ sudo exportfs -s
/nfs-directory/shares-data1 0.0.0.0/0(sync,wdelay,hide,sec=sys,rw,secure,root_squash,no_all_squash)
NFS 클라이언트에서 NFS 볼륨 마운트
NFS 클라이언트 패키지 설치
sudo apt update
sudo apt install nfs-common
NFS 서버에서 공유된 디렉토리를 확인
showmount -e 127.0.0.1
$ showmount -e 127.0.0.1
Export list for 127.0.0.1:
/nfs-directory/shares-data1 0.0.0.0/0
NFS 볼륨 마운트
- NFS 서버의 IP 주소 및 공유 디렉토리를 이용하여 클라이언트에서 NFS 볼륨을 마운트합니다
sudo mount -t nfs [NFS 서버의 IP 주소]:/nfs-directory/shares-data1 /mnt
자동으로 NFS를 마운트
sudo vim /etc/fstab
[NFS 서버의 IP 주소]:/nfs-directory/shares-data1 /mnt nfs defaults 0 0
- /nfs-directory/shares-data1 : 서버의 NFS 공유 디렉토리 경로입니다.
- /mnt : 클라이언트에서 마운트할 로컬 디렉토리입니다.
- nfs : 파일 시스템 유형을 지정합니다.
- defaults : 기본 마운트 옵션을 사용합니다. 필요에 따라 rw, noexec, nosuid, hard, soft 같은 추가 옵션을 넣을 수 있습니다.
- 0 0 : 파일시스템 덤프와 fsck 검사를 하지 않겠다는 의미입니다.
적용
sudo mount -a
시스템이 부팅할 때 자동으로 해당 NFS 공유를 마운트하게 됩니다.
728x90
'리눅스' 카테고리의 다른 글
[kubernetes] 쿠버네티스 볼륨(Volume) - hostPath 볼륨 (0) | 2022.10.10 |
---|---|
[kubernetes] 쿠버네티스 볼륨(Volume) - emptyDir 볼륨 (0) | 2022.10.10 |
[kubernetes] 쿠버네티스 워크로드 - 워크로드 리소스 (0) | 2022.10.04 |
쿠버네티스 네임스페이스를 생성하고 확인하고 삭제하는 방법(namespaces) (0) | 2022.10.03 |
[kubernetes] 쿠버네티스 워크로드 - 파드(pods) (0) | 2022.10.03 |