Linux, NFS 마운트 하기

Develop/Linux 2021.02.01 댓글 PSJco
728x90
반응형

안녕하세요, PSJ입니다.

오늘은 Linux 서버에 NFS(Network File System)을 Mount 하는 방법을 공유해보려 합니다. 

 

먼저 공유할 서버 측 작업입니다. 

1. NFS 서버 설정

NFS Package 설치 확인 후 미설치 시 설치를 진행합니다. 

## yum package 설치여부를 확인해서 설치되지 않았을경우 설치 진행  
# yum list installed | grep nfs-utils

# yum install nfs-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: ftp.jaist.ac.jp

NFS Package 설치가 완료되면 서비스 실행 및 재부팅 시 자동 실행을 등록해 줍니다. 

## NFS 서버 서비스 실행
# systemctl start nfs-server 

## NFS 서버 서비스 자동실행 활성화
# systemctl enable nfs-server 

공유할 클라이언트 정보를 exports 파일에 추가 

# vi /etc/exports
## [공유할 경로][허용할 IP/대역]/[서브넷](권한) 으로 설정
## /etc/gitlab/ssl 폴더를 192.168.1.206 IP에 Client에 (읽기쓰기, 싱크)권한을 부여함
/etc/gitlab/ssl 192.168.1.206(rw,sync)

권한 옵션은 아래와 같습니다. 

옵션코드 설명
rw read write
ro read only
secure 클라이언트 마운트 요청시 포트를 1024 이하로 설정
noaccess 액세스 거부
root_squach 클라이언트 root 로 접근시 anonymous uid/gid로 변경
no_root_squash 클라이언트의 root 로 접근을 허용
sync 파일시스템이 변경되면 즉시 동기화
all_squach root를 제외한 서버/클라이언트 사용자를 동일한 권한으로 설정
no_all_squach root를 제외한 서버/클라이언트 사용자를 하나의 권한만 가지도록 설정

이렇게 설정된 exports 파일의 내용을 적용해 줍니다. 

## exports 변경내용 적용
# exportfs -r
## exports 파일의 설정된 정보 확인
# exportfs -v
/etc/gitlab/ssl 192.168.1.206(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

## showmount 명령으로 공유가능한 디렉토리 확인 
## showmount -e [서버IP] 
# showmount -e 192.168.1.216
Export list for 192.168.1.216:
/etc/gitlab/ssl 192.168.1.206 

설정된 내용을 확인까지 해주면 서버측 작업은 끝납니다. 

 

2. Client 설정

Clinet 역시 NFS Package가 없다면 서버와 마찬가지로 설치해 줍니다. 

## yum package 설치여부를 확인해서 설치되지 않았을경우 설치 진행  
# yum list installed | grep nfs-utils

# yum install nfs-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: ftp.jaist.ac.jp

자, 이제 showmount 명령으로 NFS 서버의 공유 가능 디렉터리를 확인합니다. 

## showmount 명령으로 공유가능한 디렉토리 확인 
## showmount -e [서버IP] 
# showmount -e 192.168.1.216
Export list for 192.168.1.216:
/etc/gitlab/ssl 192.168.1.206 

※ NFS서버의 마운팅 포인트가 조회되지 않는다면, 방화벽이나 통신 가능 여부를 확인해 주세요.

 

정상적으로 통신이 가능한 서버간에는 잘 조회될 것입니다. 이제 mount 명령을 통해 Client에 마운트 해보겠습니다.

## Client에 마운팅 포인트 디렉토리 생성
# mkdir /usr/local/ssl 

## NFS서버ip 서버디렉터리 Client마운트포인트
# mount -t nfs 192.168.1.216:/etc/gitlab/ssl /usr/local/ssl

끝났습니다. df 명령으로 확인해보면 잘 마운트 된 걸 보실 수 있습니다.

# df -h
Filesystem                     Size  Used Avail Use% Mounted on
192.168.1.216:/etc/gitlab/ssl   88G  6.6G   82G   8% /usr/local/ssl

마지막으로 fstab에 등록해서 재부팅시 자동으로 마운트 되도록 설정하면 깔끔하겠죠.


# cat /etc/fstab

# /etc/fstab
# Created by anaconda on Wed Oct 14 08:43:48 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
192.168.1.216:/etc/gitlab/ssl   /usr/local/ssl  nfs     defaults        0 0

이상입니다.

 

공감과 댓글은 큰 힘이됩니다.

 

728x90
반응형

댓글