14.1 - 14.3 NFS 소개, 서버 설치, 클 라 이언 트 마 운 트 NFS

14.1 NFS 소개
  • NFS 는 Network File System 의 줄 임 말
  • NFS 는 최초 로 Sun 회사 가 개발 하여 2, 3, 4 세 가지 버 전 으로 나 뉘 었 고 2 와 3 은 Sun 이 초안 을 잡 아 개발 하 였 으 며 4.0 부터 Netapp 회사 가 참여 하여 개발 을 주도 하 였 으 며 최신 은 4.1 버 전
  • 이다.
  • NFS 데이터 전송 은 RPC 프로 토 콜 을 기반 으로 하고 RPC 는 Remote Procedure Call 의 약자 입 니 다.
  • NFS 응용 장면 은 A, B, C 세 대의 기기 에서 방문 한 파일 이 똑 같 음 을 보증 해 야 한다. A 가 데 이 터 를 공유 하고 B 와 C 가 각각 A 가 공유 한 데이터 디 렉 터 리 를 마 운 트 하여 B 와 C 가 방문 한 데이터 와 A 의 일치
  • NFS 구조
    응용 필드:
    A, B, C 는 세 대의 기계 가 따로 있어 요.
    그들 은 각각 같은 디 렉 터 리 에 접근 해 야 하고 디 렉 터 리 에 그림 이 있다.전통 적 인 방법 은 이 그림 들 을 각각 A, B, C 에 넣 는 것 이다.
    그러나 NFS 를 사용 하면 그림 을 A 위 에 올 려 놓 고 A 를 B 와 C 에 공유 하면 된다.B 와 C 를 방문 할 때 네트워크 를 통 해 A 에 있 는 디 렉 터 리 를 방문 합 니 다.
    NFS 원리 도
    NFS 서버 에서 NFS 서 비 스 를 시작 하고 RPC 서비스 (rpcbid 시작, RPC 통신 실현) 를 이용 하여 NFS 클 라 이언 트 가 NFS 서 비 스 를 사용 하도록 제공 합 니 다.
    rpcbid 감청 111 포트
    NFS 서 비 스 는 RPC 프로 토 콜 을 통 해 통신 을 실현 해 야 한다.
    14.2 NFS 서버 설치 설정
    대강
    준비 작업:
    2 대 이상 Liux 기기 
    centos 7 - 01 (192.168.189.128) 클 라 이언 트
    centos 7 - 02 (192.168.189.129) 서버
    * 아래 의 모든 작업 은 서버 에서 실 행 됩 니 다.
    1. 서버 와 클 라 이언 트 에 두 개의 가방 을 설치 합 니 다.
    yum install -y nfs-utils rpcbindc

    2 설치 완료 후 exports 파일 편집
    vim /etc/exports //      
    /home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

    형식 설명:
    스페이스 바 (스페이스 바) 로 나 누 어 세 부분 으로 나눈다.
    첫 번 째 부분 은 로 컬 에서 공유 할 디 렉 터 리 입 니 다. (존재 하지 않 으 면 자체 적 으로 만들어 야 합 니 다)
    두 번 째 부분 은 접근 이 가능 한 호스트 입 니 다.
    세 번 째 부분 은 소괄호 안의 권한 옵션 입 니 다.
    3. 서비스 시작
    3.1 서비스 시작 전 준비
    mkdir /home/nfstestdir    
    #      
    chmod 777 /home/nfstestdir    
    #  777  ,          

    감청 포트 를 검사 하고 rpcbid 감청 포트 상 태 를 보십시오
    [root@centos7-01 ~]# netstat -lntp |grep 111
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd

    사실 111 포트 는 rpcbid 의 서비스 입 니 다. 시스템 d 가 rpcbid 가 감청 되 지 않 았 다 는 것 을 의미 하 는 것 은 아 닙 니 다.
    111 포트 가 rpcbid 서비스 라 는 것 만 기억 하면 됩 니 다.
    3.2 서비스 시작
    systemctl start rpcbind 
    systemctl start nfs 
    systemctl enable rpcbind 
    systemctl enable nfs

    이상 명령 의 순 서 는 rpc 서 비 스 를 시작 하 는 것 입 니 다. nfs 서비스 시작 rpc 서비스 시작 nfs 서비스 시작 (서버)
    14.3 NFS 설정 옵션
    대강
    서버 설정 의 매개 변수 옵션 을 먼저 봅 니 다.
    [root@centos7-01 home]# cat /etc/exports
    /home/nfstestdir 192.168.189.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

    옵션 설명:
     읽 기와 쓰기
     읽 기 전용
     sync 동기 화 모드, 메모리 데 이 터 를 실시 간 으로 디스크 에 기록 합 니 다 (디스크 효율 감소)
     async 비동기 모드 는 메모리 에 있 는 데 이 터 를 정기 적 으로 디스크 에 기록 하 는 것 을 표시 합 니 다.(장점: 디스크 효율 확보, 나 쁜 점: 전기 가 끊 기 면 일부 데 이 터 를 잃 어 버 릴 수 있 습 니 다)
     no_root_squash 클 라 이언 트 가 NFS 공유 디 렉 터 리 를 마 운 트 한 후 루트 사용 자 는 제약 을 받 지 않 고 권한 이 큽 니 다.
     root_squash 는 위 옵션 과 상대 적 으로 클 라 이언 트 의 루트 사용자 가 제약 을 받 아 일반 사용자 로 한정 되 었 습 니 다.
     all_squash 클 라 이언 트 의 모든 사용자 가 NFS 공유 디 렉 터 리 를 사용 할 때 일반 사용자 로 한정 되 어 있 습 니 다.
     anonuid / anongid 는 위의 몇 가지 옵션 과 조합 하여 사용 합 니 다. 한 정 된 사용자 의 uid 와 gid 를 정의 합 니 다.
    클 라 이언 트 NFS 마 운 트
    대강
    1 nfs - utils 패키지 설치
    yum install -y nfs-utils

    2 지정 한 ip 마 운 트 서비스 상 태 를 보고 아래 ip 는 NFS 서버 ip 입 니 다.
    # showmount -e 192.168.189.128
    clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

    오류 알림, 네트워크 가 통 하지 않 고 통신 이 실 패 했 습 니 다. (원인: 방화벽, rpc 의 포트 가 감청 되 지 않 았 습 니 다)
    2.1 클 라 이언 트 와 서버 의 방화벽 서 비 스 를 닫 습 니 다.
    systemctl stop firewalld
    setenforce 0
    systemctl stop firewalld
    setenforce 0

    2.2 방화벽 을 닫 은 후 다시 showmount
    showmount -e 192.168.189.128
    Export list for 192.168.189.128:
    /home/nfstestdir 192.168.189.0/24

    방화벽 을 닫 고 정상적으로 출력 하면 서버 의 NFS 설정 과 같은 상태 정 보 를 볼 수 있 습 니 다.
    3 NFS 마 운 트
    mount -t nfs 192.168.189.128:/home/nfstestdir /mnt/

    3.1 마 운 트 검사
    #df -h
                                               %    
    /dev/sda3                          28G  1.1G   27G    4% /
    devtmpfs                          483M     0  483M    0% /dev
    tmpfs                             493M     0  493M    0% /dev/shm
    tmpfs                             493M  6.8M  486M    2% /run
    tmpfs                             493M     0  493M    0% /sys/fs/cgroup
    /dev/sda1                         187M   97M   91M   52% /boot
    tmpfs                              99M     0   99M    0% /run/user/0
    192.168.189.128:/home/nfstestdir   28G  9.3G   19G   34% /mnt

    3.2 클 라 이언 트 에서 파일 생 성 테스트
    3.2.1 클 라 이언 트 에 파일 만 들 기
    cd /mnt/
    touch client.test
    ls -l
        0
    -rw-r--r--. 1 user5 user5 0 5    9 16:14 client.test

    3.2.2 서버 에서 파일 이 만 들 어 졌 는 지 확인 합 니 다.
    [root@centos7-01 home]# cd /home/nfstestdir/
    [root@centos7-01 nfstestdir]# ls -l
        0
    -rw-r--r-- 1 aming aming 0 5    9 16:14 client.test

    파일 이 생 성 되 었 습 니 다.
    클 라 이언 트 가 만 든 파일 의 사용자 이름과 그룹 이 모두 다르다 는 것 을 볼 수 있 습 니 다.
    이 유 는 서버 에서 uid 와 gid 를 1000 으로 제한 하기 때문에 클 라 이언 트 와 서버 의 사용자 와 사용자 그룹 이 다 릅 니 다.
    서버 ID 1000 사용자
    [root@centos7-01 nfstestdir]# cat /etc/passwd |grep 1000
    aming:x:1000:1000::/home/aming:/bin/bash

    클 라 이언 트 ID 1000 사용자
    [root@centos7-02 mnt]# cat /etc/passwd |grep 1000
    user5:x:1000:1000::/home/user5:/bin/bash

    이로써 NFS 구축 이 성공 했다 는 것 을 증명 할 수 있다.

    좋은 웹페이지 즐겨찾기