반응형

사전준비

  • NAS는 준비되어 있다고 가정한다
    • NAS volume Source (예) :192.168.20.254:/nasvolume1
  • 리눅스서버에는 Nas volume을 연결할 폴더를 준비한다
    • 리눅스 폴더 (예) /data

절차

    필요한 패키지 설치 > rpcbind 서비스 실행 > 폴더 생성 > mount > 확인    

step1. nfs 패키지를 설치한다 (nfs-utils, rpcbind)

     * linux가 Debian, Ubuntu 계열인 경우 : nfs-common, rpcbind 설치        

ubuntu / $ sudo apt-get install nfs-common rpcbind

     * linux가 CentOS, RedHat 계열인 경우 : nfs-utils, rpcbind 설치

centos / $ sudo yum install nfs-utils rpcbind

 

step2. rpcbind 서비스를 실행한다

$ sudo service rpcbind start
또는
$ sudo systemctl start rpcbind.service


step3. nas volume을 연결할 linux의 폴더를 생성한다

$ sudo mkdir /data


step4. mount 실행, 확인

명령어 포맷 : mount -t nfs {nas-source} {linux-mount-point-folder}
$ sudo mount -t nfs 192.168.20.254:/nasvolume1 /data

확인
$ df -h
192.168.20.254:/nasvolume1  285G  384K  285G   1% /data


step5. fstab에 영구 등록

    - linux 리부팅하면 mount 명령으로 실행한 것은 유지되지 않는다
    - 리부팅될 때에도 mount 실행되도록 fstab에 등록해둔다

$ sudo vi /etc/fstab
...
192.168.20.254:/nasvolume1 /data nfs defaults 1 2
...

이제, /data에 데이터를 등록하면, 같은 mount 정보를 이용하는 시스템들간에 데이터를 공유할 수 있다

추가설정. nfs mount version 3로 변경하기 (default= version 4)

  - version 3 사용하는 이유 : nfs v4에서는 파일 사용시 lock이 걸린 후 lock 해제가 바로 되지 않아서 파일 쓰기의 오류가 발생하는 사례가 있어서 nfs v3을 권장함   

1. client측 config 설정하기
    1)/etc/nfs.conf
        vers3=y   --> #제거 
    
   2) /etc/nfsmount.conf
      Defaultvers=3   --> 4를 3으로 
      Nfsvers=3       --> 4를 3으로 
   

2. nfs server측  설정
  1) /etc/autofs.conf 
      mount_nfs_default_protocol = 3

  2) /etc/sysconfig/nfs
      MOUNTD_NFS_V3 = "yes"
  
  3)  / etc / sysconfig / autofs   
     MOUNT_NFS_DEFAULT_PROTOCOL = 3 OPTIONS="-O vers=3"

3. umount 후 다시 mount 설정하기 
  $ sudo umount -l /data
  $ sudo mount -t nfs -o vers=3 192.168.0.254:nas1 /data 

3. mount 결과 확인하기 (vers=3 인지 vers=4 인지 확인하기 )
  $ sudo mount
  ...
  192.168.0.254:nas1 on /data type nfs (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,
  mountaddr=192.168.0.254,mountvers=3,mountport=635,mountproto=udp,local_lock=none,addr=192.168.0.254)

 

참고 : fstab 구문 구조 설명

    (예문) 192.168.20.254:/nasvolume1 /data nfs defaults 1 2
    (설명)
       192.168.20.254 = {filesystem-id}
                              ip 또는 url. NAS 또는 파일시스템에 접근할 수 있는 위치정보
       :/nasvolume1 = :/{devicename}
                              NAS 또는 파일시스템에 준비된 공유디바이스 정보, 공유폴더이름에 해당한다
       /data = {mount-point} 
                              리눅스 (클라이언트측)에 준비된 디렉토리 (폴더) 정보
                              여기에 NAS 공유 디바이스를 연결한다
       nfs = {filesystem-type}
                              여러 종류의 파일시스템 타입이 있다
                              ext, ext2, ext3, ext4, iso9660, nfs, swap, ufs, vfat, msdos, ntfs, hpfs, sysv, ramdisk 등이 있고,
                              일반적으로 네트워크상의 NAS는 nfs를 표준으로 사용한다
                              그 외, 클라이언트측이나 파일시스템측의 특성에 맞춰 타입을 써줘야할 경우가 있다
       default = {mount-option}
                             default : rw, nouser, auto, exec, suid 속성을 모두 갖는다
                             auto / noauto : 부팅시 자동으로 마운트한다 / 안한다 
                             exec / noexec : 실행파일의 실행을 허용한다 / 안한다 
                             suid / nosuid : SetUID, SetGID 사용을 허용한다 / 안한다 
                             ro / rw : 읽기전용 / 일기쓰기 허용한다 
                             user / nouser : 일반사용자 계정으로 마운트를 허용한다 / 안한다(root만 허용)
                             quota / noquota : Quota(용량제한) 설정이 가능 / 불가능하다      
        1 = {dump-option}
                             0 / 1 : dump 불가능 / 가능 
        2 = {fsck:file sequence check option}
                             0 : 무결성 검사를 하지 않는다 
                             1 : 1순위 검사대상이 된다 (주로 root (/)에 해당
                             2 : 2순위 대상이 된다 ( root 폴더 이외의 경우에 해당) 

이 정도 알면 사용할 수 있지 않을까              

 

 

 

 

 

 

 

반응형

+ Recent posts