Debian Wheezy에서 NFS 서버 및 클라이언트 설정

Debian Wheezy에서 NFS 서버 및 클라이언트 설정

2022-10-19 last update

8 minutes reading apache ispconfig web server debian
이 안내서는 Debian Wheezy에서 NFS 서버와 NFS 클라이언트를 설정하는 방법을 설명합니다. NFS는 네트워크 파일 시스템을 의미합니다. NFS를 통해 클라이언트는 NFS 서버의 원격 공유가 로컬 하드 디스크에 있는 것처럼 액세스(읽기, 쓰기)할 수 있습니다. 이 튜토리얼에서는 두 가지 다른 NFS 내보내기, 즉 파일 시스템 권한을 유지하지 않고 사용자 nobody/nogroup으로 파일을 저장하는 클라이언트 디렉토리 내보내기와 파일의 권한과 소유권을 보존하는/var/www 디렉토리 내보내기를 보여드리겠습니다. 호스팅 서버 설정에 필요합니다.

1 서문


저는 여기에 두 개의 Debian Wheezy 시스템을 사용하고 있습니다.
  • NFS 서버: server.example.com, IP 주소: 192.168.0.100
  • NFS 클라이언트: client.example.com, IP 주소: 192.168.0.101
  • 2 NFS 설치


    섬기는 사람:

    NFS 서버에서 다음을 실행합니다.
    apt-get install nfs-kernel-server nfs-common
    그런 다음 NFS 서버에 대한 시스템 시작 링크를 만들고 시작합니다.
    고객:
    클라이언트에서 다음과 같이 NFS를 설치할 수 있습니다(실제로 서버에서와 동일).
    apt-get install nfs-common

    3 서버에서 디렉토리 내보내기


    섬기는 사람:
    NFS 서버의 두 가지 다른 액세스 모드를 표시하기 위해 클라이언트가/home/client1 및/var/www 디렉토리에 액세스할 수 있도록 하고 싶습니다./home/client1 디렉토리는 표준 모드에서 공유되므로 이 디렉토리에 기록된 모든 파일은 사용자 nobody 및 그룹 nogroup으로 저장됩니다./var/www 디렉토리의 경우 nfs 서버에 파일의 권한과 소유권을 유지하도록 지시하는 no_root_squash 옵션을 사용합니다. 이것은 예를 들어 ISPConfig 3으로 관리되는 웹 서버의/var/www 디렉토리를 내보낼 때 필요합니다.
    먼저/home/client1 디렉토리를 생성하겠습니다.
    mkdir /home/client1
    chown nobody:nogroup /home/client1
    chmod 755 /home/client1
    /var/www 디렉토리는 서버에 있을 가능성이 큽니다. 그렇지 않은 경우 다음을 작성하십시오.
    mkdir /var/www
    chown root:root /var/www
    chmod 755 /var/www
    이제 NFS 공유를 "내보내는"위치에서/etc/exports를 수정해야 합니다./home/client1 및/var/www를 NFS 공유로 지정하고 NFS에 사용자 nobody로/home/client1에 액세스하도록 지시합니다(/etc/exports, 형식 및 사용 가능한 옵션에 대한 자세한 내용은 다음을 참조하십시오.
    man 5 exports
    )
    vi /etc/exports
    /home/client1           192.168.0.101(rw,sync,no_subtree_check)
    /var/www        192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)
    (no_root_squash 옵션은/var/www가 루트로 액세스되도록 합니다.)
    /etc/exports의 변경 사항을 적용하기 위해 커널 nfs 서버를 다시 시작합니다.
    /etc/init.d/nfs-kernel-server restart

    4 클라이언트에 NFS 공유 마운트


    고객:
    먼저 NFS 공유를 마운트할 디렉토리를 생성합니다. 예:
    mkdir -p /mnt/nfs/home/client1
    mkdir -p /var/www
    /var/www 디렉토리가 서버에 이미 존재하는 경우 아파치를 중지하고 디렉토리 이름을 변경한 다음 마운트 지점으로 비어 있는 새 디렉토리를 만듭니다.
    /etc/init.d/apache2 stop
    mv /var/www /var/www_bak
    mkdir -p /var/www
    그런 다음 다음과 같이 마운트할 수 있습니다.
    mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
    mount 192.168.0.100:/var/www /var/www
    이제 출력에 두 개의 NFS 공유가 표시되어야 합니다.
    df -h
    [[email protected] ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_server2-LogVol00
                          9.7G  1.7G  7.5G  18% /
    tmpfs                 499M     0  499M   0% /dev/shm
    /dev/sda1             504M   39M  440M   9% /boot
    192.168.0.100:/home/client1   9.7G  1.7G  7.5G  19% /mnt/nfs/home/client1
    192.168.0.100:/var/www
                          9.7G  1.7G  7.5G  19% /var/www
    [[email protected] ~]#
    그리고
    mount
    [[email protected] ~]# mount
    /dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda1 on /boot type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
    192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
    [[email protected] ~]#

    5 테스트


    이제 클라이언트에서 NFS 공유에 테스트 파일을 생성할 수 있습니다.
    고객:
    touch /mnt/nfs/home/client1/test.txt
    touch /var/www/test.txt
    이제 서버로 이동하여 두 테스트 파일을 모두 볼 수 있는지 확인합니다.
    섬기는 사람:
    ls -l /home/client1/
    [[email protected] ~]# ls -l /home/client1
    total 0
    -rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
    [[email protected] ~]#
    ls -l /var/nfs
    [[email protected] ~]# ls -l /var/www
    total 0
    -rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
    [[email protected] ~]#
    (테스트 파일의 다른 소유권에 유의하십시오./home/client1 NFS 공유는 nobody/nogroup으로 액세스되고 nobody/nogroup이 소유합니다./var/www 공유는 루트로 액세스되므로/var/www/test .txt는 사용자 및 그룹 루트가 소유합니다.)

    6 부팅 시 NFS 공유 마운트


    NFS 공유를 클라이언트에 수동으로 마운트하는 대신/etc/fstab을 수정하여 클라이언트가 부팅될 때 NFS 공유가 자동으로 마운트되도록 할 수 있습니다.
    고객:
    /etc/fstab을 열고 다음 줄을 추가합니다.
    vi /etc/fstab
    [...]
    192.168.0.100:/home/client1  /mnt/nfs/home/client1   nfs      rw,sync,hard,intr  0     0
    192.168.0.100:/var/www  /var/www   nfs      rw,sync,hard,intr  0     0
    rw,sync,hard,intr 대신 다른 마운트 옵션을 사용할 수 있습니다. 사용 가능한 옵션에 대해 자세히 알아보려면
    man nfs
    수정된/etc/fstab이 작동하는지 테스트하려면 공유를 마운트 해제하고 mount -a를 실행합니다.
    umount /mnt/nfs/home/client1
    umount /var/www
    mount -a
    이제 출력에 두 개의 NFS 공유가 표시되어야 합니다.
    df -h
    [[email protected] ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_server2-LogVol00
                          9.7G  1.7G  7.5G  18% /
    tmpfs                 499M     0  499M   0% /dev/shm
    /dev/sda1             504M   39M  440M   9% /boot
    192.168.0.100:/home/client1   9.7G  1.7G  7.5G  19% /mnt/nfs/home/client1
    192.168.0.100:/var/www
                          9.7G  1.7G  7.5G  19% /var/www
    [[email protected] ~]#
    그리고
    mount
    [[email protected] ~]# mount
    /dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda1 on /boot type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
    192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
    [[email protected] ~]#

    7학점


    이 자습서는 Falko Timme의 Centos NFS Server 자습서를 기반으로 합니다.

    8 링크


  • Linux NFS: http://nfs.sourceforge.net/
  • 데비안: http://www.debian.org/