본문 바로가기
Base/Linux(CentOS)

17. NFS / autofs 네크워트 마운트 사용

by 귀멸 2022. 6. 27.

0. NFS
  - Network Filesystem; 네트워크를 통해 다른 장치의 파티션을 나에게 마운트

  - 최초에는 Unix 중에 하나가 사용하던 Service
     > 유용성이 굉장히 높아 다른 OS에서도 사용
 
  - 정보
    패키지 : nfs-*
    데몬 : nfs
    방화벽 : service=nfs
    설정파일 : /etc/exports

  - 설치 및 사용
    [root@server ~]# rpm -qa | grep nfs
    libnfsidmap-0.25-19.el7.x86_64
    nfs-utils-1.3.0-0.68.el7.x86_64

   기본으로  설치가 되어 있는 상태

   Step1. 디렉토리를 하나 생성하고
   [root@server ~]# mkdir /nfs_server

   Step2. 설정파일 세팅
   [root@server ~]# vi /etc/exports : 들어있는 내용 없음
   /nfs_server     192.168.10.128(rw,no_root_squash,sync)     : 입력 후 저장

** 구문 설명
/nfs_server          : 어느 디렉토리를 클라이언트에게 공유해 줄것인가
192.168.10.128   : 누구에게 디렉토리를 공유해 줄것인가
ro / rw                  : read only (디폴트) / read + write
root_squash         : 클라이언트에서 root 권한으로 접속했어도 root 사용자 권한 X

no_root_squash   : 클라이언트에서 root 권한으로 접속 가능
all_squash           : 클라이언트에서 사용자 권한으로 접속했어도 사용자 권한 X
no_all_squash     : 클라이언트에서 사용자 권한으로 접속 가능
sync                     : 양쪽을 동기화

    [root@server ~]# systemctl restart nfs : 데몬 재실행

    Step3. 마운트 포인트로 사용 할 디렉토리 생성
    [root@server ~]# mkdir /nfs_client
    [root@server ~]# mount -t nfs 192.168.10.128:/nfs_server /nfs_client : 마운트
    [root@server ~]# cp /etc/inittab /nfs_client
    [root@server ~]# ll /nfs_client
    합계 4
    -rw-r--r-- 1 root root 511  6월 16 10:47 inittab
    [root@server ~]# ll /nfs_server
    합계 4
    -rw-r--r-- 1 root root 511  6월 16 10:47 inittab   : 양쪽에서 파일 확인 가능

[root@server ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    471M     0  471M   0% /dev
tmpfs                       487M     0  487M   0% /dev/shm
tmpfs                       487M  8.4M  478M   2% /run
tmpfs                       487M     0  487M   0% /sys/fs/cgroup
/dev/sda3                    17G  5.0G   13G  29% /
/dev/sda1                  1014M  169M  846M  17% /boot
tmpfs                        98M   20K   98M   1% /run/user/0
/dev/sr0                    9.5G  9.5G     0 100% /run/media/root/CentOS 7 x86_64
192.168.10.128:/nfs_server   17G  5.0G   13G  29% /nfs_client

   nfs에 할당한 용량이 전체 /가 쓸 수 있는 용량 전체로 되어있기 때문에 문제가 생긴다.
   따라서 용량을 제어해야한다.
   [root@server ~]# umount /nfs_client : 마운트 해제

   Step4. 100MB 파티션을 /nfs_server에 오토마운트
   [root@server ~]# vi /etc/fstab
   /dev/sdb1       /nfs_server     xfs     defaults        0 0
   저장 후 종료
   [root@server ~]# init 6
   [root@server ~]# systemctl restart nfs : 재부팅 후 데몬 재실행
   [root@server ~]# mount -t nfs 192.168.10.128:/nfs_server /nfs_client
   [root@server ~]# systemctl enable nfs : 부팅 시 자동실행 모드 변경

 

1. autofs
  - auto filesystem; 자동으로 filesystem(= partition)을 사용할 수 있도록 해주는 서비스
     > /etc/fstab 파일과 동일한 역할(OS 기본 설정이 아닌 별도의 서비스로 동작하는 오토마운트)

  - 정보
    패키지 : autofs-*
    데몬 : autofs
    방화벽 : X (접속을 위한 service가 아니기 때문에)
    설정파일  : /etc/autofs.conf

  - 설치 및 사용
    [root@server ~]# yum -y install autofs-*

 

  - 설정파일
    [root@server ~]# vi /etc/autofs.conf
     51 browse_mode = yes                          : no -> yes로 변경 설정내용 보기 위함
     63 mount_nfs_default_protocol = 4        : protocol version 4  저장 후 나가기
    [root@server ~]# vi /etc/auto.master
     7 /misc   /etc/auto.misc                           : auto.misc의 설정 내용이 /misc에 적용 된다
    [root@server ~]# vi /etc/auto.misc
    16 nfs_auto        -rw,hard,intr           192.168.10.128:/nfs_server : 구문 작성
     nfs_auto : /misc/nfs_auto에 만들어진다.

 

** 구문 설명
soft : 연결 실패 시 종료
hard : 연결 실패 시 timeout 설정 시간까지 재시도
intr : 비정상적인 종료 되었을 때 재접속

    [root@server ~]# umount /nfs_client
    [root@server ~]# systemctl restart autofs
    [root@server ~]# ll /misc
    합계 0
    dr-xr-xr-x 2 root root 0  6월 16 11:57 cd
    dr-xr-xr-x 2 root root 0  6월 16 11:57 nfs_auto
    [root@server ~]# touch /misc/nfs_auto/test1
    [root@server ~]# ll /nfs_server
    합계 0
    -rw-r--r-- 1 root root 0  6월 16 11:57 test1
    [root@server ~]# systemctl enable autofs

 

2. 실습 문제 풀이


서울지사에서 서버관리자로 일하고 있는 도중 본사에서 급한 연락을 받았다
본사 서버에 용량이 부족한데 본사 서버관리자가 휴가 및 외근으로 인해 작업을 할수 있는 사람이 없다고 할 때
서울지사에서 본사에 5G 용량을 확보해 주기 
(단 지사 머신에 HDD 추가 후 진행)

* 용량 제공은 재부팅 후에도 자동으로 동작되도록 설정
* 스냅샷 되돌린 후에는 Putty를 하나만 켜고 수행
   (PuTTY를 nfs server에 연결, nfs client는 nfs server에서 원격제어)

Step 1. server 에 마운트 포인트로 사용할 디렉토리 생성
    [root@server ~]# mkdir /nfs_server

Step 2. server 컴퓨터에 5G 파티션 나누고, 파일 시스템 형식 지정, 마운트
    server 컴퓨터 하드 생성 5GB + 파티션 작업
    [root@server ~]# mkfs.xfs /dev/sdb1
    [root@server ~]# mount /dev/sdb1 /nfs_server
    [root@server ~]# vi /etc/fstab
    /dev/sdb1       /nfs_server     xfs     defaults        0 0
   저장 후 아웃

Step 3. server에서 nfs 설정 / 방화벽 nfs 설정
    [root@server ~]# vi /etc/exports
    /nfs_server     192.168.10.129(rw,no_root_squash,sync)
    [root@server ~]# systemctl enable nfs
    [root@server ~]# systemctl restart nfs
    [root@server ~]# firewall-cmd --permanent --add-service=nfs
    [root@server ~]# firewall-cmd --reload

Step 4. client에서 오토마운트 후 파일 폴더에 복사해서 

            서버에서도 있는지 확인 ssh로 client접속
    [root@server ~]# yum -y install autofs-* : 설치
    [root@server ~]# vi /etc/autofs.conf
    51 browse_mode = yes : 설정 변경 후 저장하고 나가기

    [root@server ~]# vi /etc/auto.misc
    16 nfs_client    -rw,hard,intr   192.168.10.128:/nfs_server : 설정 변경 후 저장하고 나가기
    [root@server ~]# systemctl enable autofs
    [root@server ~]# systemctl restart autofs : autofs 설정 완료하고 재시작 하면
    /misc/nfs_client 폴더 생성되고 오토마운트 설정 완료됨

Step 5. 마운트 확인
    client 컴퓨터에서
    [root@server ~]# touch /misc/nfs_client/test1
    ssh 접속 종료 후 
    [root@server ~]# ll /nfs_server  : test1 파일 확인 완료

'Base > Linux(CentOS)' 카테고리의 다른 글

19. Server (1 - DNS)  (0) 2022.06.28
18. samba / DHCP  (0) 2022.06.28
16 . auto mount  (0) 2022.06.27
15. FTP  (0) 2022.06.26
14. remote access (3- VNC)  (0) 2022.06.25

댓글