
OpenSUSE 12.2에서 NFS 서버 및 클라이언트 설정
이 가이드는 OpenSUSE 12.2에서 NFS 서버와 NFS 클라이언트를 설정하는 방법을 설명합니다. NFS는 네트워크 파일 시스템을 의미합니다. NFS를 통해 클라이언트는 NFS 서버의 원격 공유가 로컬 하드 디스크에 있는 것처럼 액세스(읽기, 쓰기)할 수 있습니다.
여기에서 두 개의 OpenSUSE 시스템을 사용하고 있습니다.
NFS 서버: server.example.com, IP 주소: 192.168.0.100
NFS 클라이언트: client.example.com, IP 주소: 192.168.0.101
섬기는 사람:
NFS 서버에서 다음을 실행합니다.
클라이언트에서 다음과 같이 NFS를 설치할 수 있습니다.
섬기는 사람:
클라이언트가/home 및/var/nfs에 액세스할 수 있도록 디렉토리를 만들고 싶습니다. 따라서 서버에서 "내보내기"해야 합니다.
클라이언트가 NFS 공유에 액세스할 때 이것은 일반적으로 사용자 없음으로 발생합니다. 일반적으로/home 디렉토리는 아무도 소유하지 않으며(소유권을 nobody로 변경하는 것을 권장하지 않습니다!)/home에서 읽고 쓰기를 원하기 때문에 NFS에 루트(루트)로 액세스해야 한다고 알려줍니다./home 공유가 읽기 전용이라면 이것은 필요하지 않을 것입니다)./var/nfs 디렉토리가 존재하지 않으므로 디렉토리를 생성하고 소유권을 nobody 및 nogroup으로 변경할 수 있습니다.
(no_root_squash 옵션은/home이 루트로 액세스되도록 합니다.)
/etc/exports를 수정할 때마다 다음을 실행해야 합니다.
고객:
먼저 NFS 공유를 마운트하려는 디렉토리를 생성합니다. 예:
이제 클라이언트에서 NFS 공유에 테스트 파일을 생성할 수 있습니다.
고객:
섬기는 사람:
NFS 공유를 클라이언트에 수동으로 마운트하는 대신/etc/fstab을 수정하여 클라이언트가 부팅될 때 NFS 공유가 자동으로 마운트되도록 할 수 있습니다.
고객:
/etc/fstab을 열고 다음 줄을 추가합니다.
rw,sync,hard,intr 대신 다른 마운트 옵션을 사용할 수 있습니다. 사용 가능한 옵션에 대해 자세히 알아보려면
리눅스 NFS: http://nfs.sourceforge.net/
오픈수세: http://www.opensuse.org/
1 서문
여기에서 두 개의 OpenSUSE 시스템을 사용하고 있습니다.
2 NFS 설치
섬기는 사람:
NFS 서버에서 다음을 실행합니다.
zypper install nfs-kernel-server그런 다음 NFS 서버에 대한 시스템 시작 링크를 만들고 시작합니다.
systemctl enable rpcbind.service고객:
systemctl start rpcbind.service
systemctl enable nfsserver.service
systemctl start nfsserver.service
클라이언트에서 다음과 같이 NFS를 설치할 수 있습니다.
zypper install nfs-client
3 서버에서 디렉토리 내보내기
섬기는 사람:
클라이언트가/home 및/var/nfs에 액세스할 수 있도록 디렉토리를 만들고 싶습니다. 따라서 서버에서 "내보내기"해야 합니다.
클라이언트가 NFS 공유에 액세스할 때 이것은 일반적으로 사용자 없음으로 발생합니다. 일반적으로/home 디렉토리는 아무도 소유하지 않으며(소유권을 nobody로 변경하는 것을 권장하지 않습니다!)/home에서 읽고 쓰기를 원하기 때문에 NFS에 루트(루트)로 액세스해야 한다고 알려줍니다./home 공유가 읽기 전용이라면 이것은 필요하지 않을 것입니다)./var/nfs 디렉토리가 존재하지 않으므로 디렉토리를 생성하고 소유권을 nobody 및 nogroup으로 변경할 수 있습니다.
mkdir /var/nfs이제 NFS 공유를 "내보내는"위치에서/etc/exports를 수정해야 합니다./home 및/var/nfs를 NFS 공유로 지정하고 루트로/home에 액세스하도록 NFS에 지시합니다(/etc/exports, 형식 및 사용 가능한 옵션에 대한 자세한 내용은 다음을 참조하십시오.
chown nobody:nogroup /var/nfs
man 5 exports)
vi /etc/exports
# See the exports(5) manpage for a description of the syntax of this file. # This file contains a list of all directories that are to be exported to # other computers via NFS (Network File System). # This file used by rpc.nfsd and rpc.mountd. See their manpages for details # on how make changes in this file effective. /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check)
(no_root_squash 옵션은/home이 루트로 액세스되도록 합니다.)
/etc/exports를 수정할 때마다 다음을 실행해야 합니다.
exportfs -a변경 사항을 적용합니다.
4 클라이언트에 NFS 공유 마운트
고객:
먼저 NFS 공유를 마운트하려는 디렉토리를 생성합니다. 예:
mkdir -p /mnt/nfs/home그런 다음 다음과 같이 마운트할 수 있습니다.
mkdir -p /mnt/nfs/var/nfs
mount 192.168.0.100:/home /mnt/nfs/home이제 출력에 두 개의 NFS 공유가 표시되어야 합니다.
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs
df -h
client:~ # df -h그리고
Filesystem Size Used Avail Use% Mounted on
rootfs 12G 3.4G 7.5G 31% /
devtmpfs 997M 4.0K 997M 1% /dev
tmpfs 1004M 96K 1004M 1% /dev/shm
tmpfs 1004M 580K 1003M 1% /run
/dev/sda2 12G 3.4G 7.5G 31% /
tmpfs 1004M 0 1004M 0% /sys/fs/cgroup
tmpfs 1004M 580K 1003M 1% /var/lock
tmpfs 1004M 580K 1003M 1% /var/run
tmpfs 1004M 0 1004M 0% /media
/dev/sda3 17G 387M 16G 3% /home
192.168.0.100:/home/ 12G 1.5G 9.6G 13% /mnt/nfs/home
192.168.0.100:/var/nfs 12G 1.5G 9.6G 13% /mnt/nfs/var/nfs
client:~ #
mount
client:~ # mount
devtmpfs on /dev type devtmpfs (rw,relatime,size=1020060k,nr_inodes=255015,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda2 on / type ext4 (rw,relatime,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,relatime,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
tmpfs on /media type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
/dev/sda3 on /home type ext4 (rw,relatime,data=ordered)
none on /proc/fs/vmblock/mountPoint type vmblock (rw,relatime)
gvfs-fuse-daemon on /run/user/falko/gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
192.168.0.100:/home/ on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.15,local_lock=none,addr=192.168.0.100)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.15,local_lock=none,addr=192.168.0.100)
client:~ #
5 테스트
이제 클라이언트에서 NFS 공유에 테스트 파일을 생성할 수 있습니다.
고객:
touch /mnt/nfs/home/test.txt이제 서버로 이동하여 두 테스트 파일을 모두 볼 수 있는지 확인합니다.
touch /mnt/nfs/var/nfs/test.txt
섬기는 사람:
ls -l /home/
server:~ # ls -l /home/
total 4
drwxr-xr-x 6 administrator users 4096 Jul 19 17:26 administrator
-rw-r--r-- 1 root root 0 Sep 14 20:47 test.txt
server:~ #
ls -l /var/nfs
server:~ # ls -l /var/nfs(테스트 파일의 다른 소유권에 유의하십시오./home NFS 공유는 루트로 액세스되므로/home/test.txt는 루트가 소유하고/var/nfs 공유는 아무도 액세스하지 않으므로/var/nfs/test.txt는 누구의 소유도 아닙니다.)
total 0
-rw-r--r-- 1 nobody nogroup 0 Sep 14 20:47 test.txt
server:~ #
6 부팅 시 NFS 공유 마운트
NFS 공유를 클라이언트에 수동으로 마운트하는 대신/etc/fstab을 수정하여 클라이언트가 부팅될 때 NFS 공유가 자동으로 마운트되도록 할 수 있습니다.
고객:
/etc/fstab을 열고 다음 줄을 추가합니다.
vi /etc/fstab
[...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0
rw,sync,hard,intr 대신 다른 마운트 옵션을 사용할 수 있습니다. 사용 가능한 옵션에 대해 자세히 알아보려면
man nfs수정된/etc/fstab이 작동하는지 테스트하려면 클라이언트를 재부팅하십시오.
reboot재부팅 후 출력에서 두 개의 NFS 공유를 찾아야 합니다.
df -h
and
mount