[쿠버네티스] 우분투 NFS 서버 설치 및 설정

2023. 4. 3. 21:50스터디/쿠버네티스_이전설치(잘못됨)

728x90

NFS 서버 설치 들어가기 전

 

NFS란 ? 

NFS(Network File System)는 컴퓨터 사용자가 원격지 컴퓨터에 있는 파일을 마치 자신의 컴퓨터에 있는 것처럼 검색하고, 마음대로 저장하거나 수정이 가능하도록 해주는 클라이언트/서버형 응용프로그램. 사용자 시스템에는 NFS클라이언트가 있어야 하며 원격지 컴퓨터에는 NFS서버가 설치되어 있어야함.

 

시나리오

Ubuntu(20.04)를 OS로 하는 master, worker1 이라는 VM이 존재.

master는 원격지 컴퓨터가 되어 NFS서버가 설치되어야 하고, worker1은  사용자 시스템으로 NFS클라이언트가 존재하도록 구성.

NFS서버 , NFS클라이언트 세팅 후 마운트된 디렉터리로 내용 공유 확인.

 


NFS 서버 설치 (master 적용)

1. NFS 설치여부확인 (설치전확인)

# NFS 설치여부 확인
$ dpkg -l | grep nfs
$ dpkg -l | grep rpc

 

2. NFS 패키지설치

$ sudo apt-get update
$ sudo apt-get install -y nfs-kernel-server

 

3. NFS설치내역확인

# NFS 설치여부 확인
$ dpkg -l | grep nfs
$ dpkg -l | grep rpc

 


파일 공유 세팅(master 적용)

 

1. 클라이언트와 공유할 디렉터리 생성

# 'nfs'단어가 포함된 디렉터리명 존재여부 체크
$ ls *nfs*

# 'nfsdir'디렉터리 생성
$ sudo mkdir nfsdir

# 'nfsdir/nfsfile' 글 작성
$ sudo nano ./nfsdir/nfsfile

# 'nfsdir/nfsfile' 내용 확인
$ cat ./nfsdir/nfsfile

 

2. 파일 수정 권한 부여 

# 이미 생성된 파일도 권한부여
$ chmod 777 ./nfsdir/*

# 권한 부여내용 확인
$ ls -tlrd $PWD/nfsdir/nfsfile

 

3. 클라이언트 IP주소 확인 

클라이언트가 될 worker1에서 IP확인

# 필자의 경우 worker1에서 해당 명령어로 IP확인
$ hostname -I

 

4. 마운트를 가능하게 할 디렉터리 설정

참고(마운트) :  https://jhnyang.tistory.com/12

# /etc/exports(마운트 설정파일) 내용 확인
$ cat /etc/exports | head

# /etc/exports(마운트 설정파일) 내용 수정에디터 실행
$ sudo nano /etc/exports
# (참고) /nfsdir *(rw, sync) 작성시 모든 가상머신 접근가능하도록 설정됨
#/nfsdir_공유할디렉터리 10.100.0.101_클라이언트IP (rw,sync)_옵션
/home/zin/Desktop/nfsdir 10.100.0.101(rw,sync

 

5. 방화벽해제 

# 방화벽 상태확인
$ sudo ufw status

# 방화벽 끄기
$ sudo ufw disable

 

6.

# 재시작
$ systemctl restart nfs-kernel-server

# nfs 상시가동
$ systemd enable nfs-kernel-server

 

7.

# NFS 서버의 마운트 관련 정보 확인
$ showmount -e

# NFS 서버에 익스포트 된 디렉터리 정보
$ sudo exportfs -v

 

8.

# 데몬 동작 확인
$ sudo ps aux | grep nfs

 

master 적용 END


NFS 서버 설치 (worker1 적용)

 

1. NFS 설치여부확인 (설치전확인)

# NFS 설치여부 확인
$ dpkg -l | grep nfs
$ dpkg -l | grep rpc

 

2. NFS 패키지설치

$ sudo apt-get update
$ sudo apt-get install -y nfs-common

 


파일 공유 세팅(worker1 적용) 및 공유 내용 확인

 

1. 서버측 IP로 NFS서버에 공유된 디렉터리 확인

# 서버측IP로 NFS서버에 공유된 디렉터리 확인
$ showmount -e 10.100.0.104

 

2. NFS서버 디렉터리 마운트할 디렉터리 생성

$ sudo mkdir -p ./mnt/mnt_nfsdir

 

3. NFS서버 디렉터리 마운트

# sudo mount -t nfs [서버IP]:NFS서버에공유된디렉터리 클라이언트가마운트하기위해생성한디렉터리
$ sudo mount -t nfs 10.100.0.104:/home/zin/Desktop/nfsdir /home/zin/Desktop/mnt/mnt_nfsdir

 

4. fstab 등록 

mount는 재부팅하면 사라지기 때문에, 재부팅 할때마다 mount 명령어 적용이 필요하기에

재부팅될 때마다 NFS서버에 자동으로 마운트 되도록 설정을 위해선 fstab파일에 등록이 필요함.

# /etc/fstab 파일 수정에디터 실행
$ sudo  nano /etc/fstab
# /etc/fstab 추가내용 (중간 스페이스는 5칸씩 세팅)
10.100.0.104:/home/zin/Desktop/nfsdir     /home/zin/Desktop/mnt/mnt_nfsdir     nfs     defaults     0     0

적용내용 확인

$ df

 

5. 클라이언트에서 마운트를 하려고 생성한 디렉터리로 들어가보면, 서버측에서 생성한 파일을 그대로 접근할 수 있음을 확인할 수 있음

$ ls -tlr ./mnt/mnt_ntsdir

 

6. worker1에서 './mnt/mnt_nfsdir' 내 파일 수정 후 master './nfsdir/nfsfile' 확인

[worker1_수정]

[master_확인]

 

 

 

참고 URL : https://jhnyang.tistory.com/m/279

728x90