Linux 시스템에서 Shared 구조의 파일시스템을 제공하기 위한 방법중 하나로 NFS 방식이 제공되며 아래와 같이 구성 가능
1. NFS 서버를 구성하기 위해서는 아래와 같은 서비스 데몬이 활성화 되어야 함.
[root@s-node01 ~]# [root@s-node01 ~]# chkconfig --list | egrep 'netfs|nfs|portmap' nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off nfslock 0:off 1:off 2:off 3:on 4:off 5:on 6:off portmap 0:off 1:off 2:off 3:on 4:off 5:on 6:off [root@s-node01 ~]# |
2. NFS 서버 관련 서비스 데몬이 없을 경우 yum 을 통하여 설치
[root@s-node01 ~]# [root@s-node01 ~]# yum -y install nfs*
[root@s-node01 ~]# |
3. NFS 서버를 구성하기 위해 아래와 같이 수행하며 iptable 방화벽은 stop 또는 관련 정책을 추가토록 한다.
※ 아래 /etc/exports 파일 설정 시 사용가능한 옵션과 그 정의
ro - 읽기 전용 (기본값)
rw - 읽기/쓰기 모드
root_squash - Client의 root를 익명 사용자(nobody)로 매핑 (기본값)
no_root_squash - Client의 root를 NFS 서버의 root로 매핑
all_squash - 모든 사용자를 익명 사용자(nobody)로 매핑
sync - Client와 NFS 서버간 동기적 통신 모드 (기본값, 안전성 향상)
async - Client와 NFS 서버간 비동기 통신 모드 (속도 향상)
secure - 마운트 요청 시 포트를 1024 이하로 할당 허용 (기본값, 1024 이하 포트는 root만 설정 가능)
insecure - 마운트 요청 시 1024 포트 이상도 할당 허용
[root@s-node01 ~]# [root@s-node01 /]# service iptables status Firewall is stopped. [root@s-node01 /]# [root@s-node01 /]# [root@s-node01 /]# fdisk -l 2>&- | grep Disk | grep sdc Disk /dev/sdc: 42.9 GB, 42949672960 bytes [root@s-node01 ~]# [root@s-node01 /]# mkdir /NFS [root@s-node01 /]# mount -t ext3 /dev/sdc1 /NFS [root@s-node01 /]# echo "/dev/sdc1 /NFS ext3 defaults 0 0" >> /etc/fstab [root@s-node01 /]# [root@s-node01 /]# mkdir -p /NFS/shared_storage [root@s-node01 /]# [root@s-node01 /]# vi /etc/exports /NFS/shared_storage 192.168.10.*(rw,no_root_squash,sync) [root@s-node01 /]# [root@s-node01 /]# [root@s-node01 /]# service portmap restart Stopping portmap: [ OK ] Starting portmap: [ OK ] [root@s-node01 /]# service nfs restart Shutting down NFS mountd: [ OK ] Shutting down NFS daemon: [ OK ] Shutting down NFS quotas: [ OK ] Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] [root@s-node01 /]# [root@s-node01 /]# exportfs -v /NFS/shared_storage 192.168.10.*(rw,wdelay,no_root_squash,no_subtree_check,anonuid=65534,anongid=65534) [root@s-node01 /]# |
4. NFS 서버 구성 완료후 Client 서버에서 아래와 같이 NFS 마운트
(CentOS 6.x 혹은 Redhat 6 이상일 경우 portmap 데몬은 불필요하며 netfs 및 rpcbind 데몬으로 마운트 가능)
[root@m-node01 /]# [root@m-node01 /]#
[root@m-node01 /]# chkconfig --list | egrep 'portmap|netfs' netfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# chkconfig --level 35 netfs on [root@m-node01 /]# chkconfig --level 35 rpcbind on [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# service rpcbind start [root@m-node01 /]# service netfs start NFS filesystems queued to be mounted Mounting filesystems: [ OK ] [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# mount -t nfs -o proto=tcp,port=2049, 192.168.10.20:/NFS/shared_storage /secondary_storage [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_mnode01-lv_root 8.4G 2.5G 5.5G 31% / tmpfs 499M 0 499M 0% /dev/shm /dev/sda1 485M 34M 426M 8% /boot 192.168.10.20:/NFS/shared_storage 40G 176M 38G 1% /secondary_storage [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# service netfs status Configured NFS mountpoints: /secondary_storage Active NFS mountpoints: /secondary_storage [root@m-node01 /]# [root@m-node01 /]# [root@m-node01 /]# echo "192.168.10.20:/NFS/shared_storage /secondary_storage nfs defaults, _netdev 0 0" >> /etc/fstab [root@m-node01 /]# [root@m-node01 /]# |
5. NFS Client의 Mount 완료 후 NFS Server 최종 상태 확인
[root@s-node01 ~]# [root@s-node01 ~]# exportfs -v /NFS/shared_storage <world>(rw,wdelay,no_root_squash,no_subtree_check,anonuid=65534,anongid=65534) [root@s-node01 ~]# [root@s-node01 ~]# [root@s-node01 ~]# showmount -a All mount points on s-node01: 192.168.10.30:/NFS/shared_storage 192.168.10.40:/NFS/shared_storage [root@s-node01 ~]# [root@s-node01 ~]# |