
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 디렉토리 내보내기를 보여드리겠습니다. 호스팅 서버 설정에 필요합니다.
저는 여기에 두 개의 Debian Wheezy 시스템을 사용하고 있습니다.
NFS 서버: server.example.com, IP 주소: 192.168.0.100
NFS 클라이언트: client.example.com, IP 주소: 192.168.0.101
섬기는 사람:
NFS 서버에서 다음을 실행합니다.
고객:
클라이언트에서 다음과 같이 NFS를 설치할 수 있습니다(실제로 서버에서와 동일).
섬기는 사람:
NFS 서버의 두 가지 다른 액세스 모드를 표시하기 위해 클라이언트가/home/client1 및/var/www 디렉토리에 액세스할 수 있도록 하고 싶습니다./home/client1 디렉토리는 표준 모드에서 공유되므로 이 디렉토리에 기록된 모든 파일은 사용자 nobody 및 그룹 nogroup으로 저장됩니다./var/www 디렉토리의 경우 nfs 서버에 파일의 권한과 소유권을 유지하도록 지시하는 no_root_squash 옵션을 사용합니다. 이것은 예를 들어 ISPConfig 3으로 관리되는 웹 서버의/var/www 디렉토리를 내보낼 때 필요합니다.
먼저/home/client1 디렉토리를 생성하겠습니다.
/etc/exports의 변경 사항을 적용하기 위해 커널 nfs 서버를 다시 시작합니다.
고객:
먼저 NFS 공유를 마운트할 디렉토리를 생성합니다. 예:
이제 클라이언트에서 NFS 공유에 테스트 파일을 생성할 수 있습니다.
고객:
섬기는 사람:
NFS 공유를 클라이언트에 수동으로 마운트하는 대신/etc/fstab을 수정하여 클라이언트가 부팅될 때 NFS 공유가 자동으로 마운트되도록 할 수 있습니다.
고객:
/etc/fstab을 열고 다음 줄을 추가합니다.
이 자습서는 Falko Timme의 Centos NFS Server 자습서를 기반으로 합니다.
Linux NFS: http://nfs.sourceforge.net/
데비안: http://www.debian.org/
1 서문
저는 여기에 두 개의 Debian Wheezy 시스템을 사용하고 있습니다.
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/var/www 디렉토리는 서버에 있을 가능성이 큽니다. 그렇지 않은 경우 다음을 작성하십시오.
chown nobody:nogroup /home/client1
chmod 755 /home/client1
mkdir /var/www이제 NFS 공유를 "내보내는"위치에서/etc/exports를 수정해야 합니다./home/client1 및/var/www를 NFS 공유로 지정하고 NFS에 사용자 nobody로/home/client1에 액세스하도록 지시합니다(/etc/exports, 형식 및 사용 가능한 옵션에 대한 자세한 내용은 다음을 참조하십시오.
chown root:root /var/www
chmod 755 /var/www
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/var/www 디렉토리가 서버에 이미 존재하는 경우 아파치를 중지하고 디렉토리 이름을 변경한 다음 마운트 지점으로 비어 있는 새 디렉토리를 만듭니다.
mkdir -p /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이제 출력에 두 개의 NFS 공유가 표시되어야 합니다.
mount 192.168.0.100:/var/www /var/www
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(테스트 파일의 다른 소유권에 유의하십시오./home/client1 NFS 공유는 nobody/nogroup으로 액세스되고 nobody/nogroup이 소유합니다./var/www 공유는 루트로 액세스되므로/var/www/test .txt는 사용자 및 그룹 루트가 소유합니다.)
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[[email protected] ~]#
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 0rw,sync,hard,intr 대신 다른 마운트 옵션을 사용할 수 있습니다. 사용 가능한 옵션에 대해 자세히 알아보려면
man nfs수정된/etc/fstab이 작동하는지 테스트하려면 공유를 마운트 해제하고 mount -a를 실행합니다.
umount /mnt/nfs/home/client1이제 출력에 두 개의 NFS 공유가 표시되어야 합니다.
umount /var/www
mount -a
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 자습서를 기반으로 합니다.