GNU/Linux >> Znalost Linux >  >> Cent OS

Nastavení serveru a klienta NFS na CentOS 7.2

Tato příručka vysvětluje, jak nastavit server NFS a klienta NFS na CentOS 7. NFS je zkratka pro Network File System; prostřednictvím NFS může klient přistupovat (číst, zapisovat) ke vzdálené sdílené složce na serveru NFS, jako by byla na místním pevném disku. Jako základ pro instalaci použiji minimální server CentOS 7.2.

1 předběžná poznámka

Zde používám dva systémy CentOS:

  • Server NFS:server.example.com, adresa IP:192.168.1.100
  • Klient NFS:client.example.com, IP adresa:192.168.1.101

K úpravě konfiguračních souborů použiji v tomto tutoriálu nano editor. Nano lze nainstalovat takto.

yum -y install nano

2 Konfigurace brány firewall

Doporučuji mít nainstalovaný firewall. Pokud firewalld ještě nemáte nainstalovaný a chcete firewall používat, nainstalujte jej pomocí těchto příkazů:

yum -y install firewalld

spusťte bránu firewall a povolte její spuštění při spouštění.

systemctl start firewalld.service
systemctl enable firewalld.service

Dále otevřete porty SSH a NFS, abyste zajistili, že se budete moci připojit k serveru pomocí SSH pro účely správce a pomocí NFS z našeho klienta NFS.

firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload

3 Instalace NFS

server:

Na serveru NFS spustíme:

yum -y install nfs-utils

Poté povolte a spusťte službu serveru nfs.

systemctl enable nfs-server.service
systemctl start nfs-server.service

klient:

Na klienta můžeme NFS nainstalovat následovně (je to vlastně stejné jako na serveru):

yum install nfs-utils

4 Export adresářů na serveru

server:

Chtěl bych zpřístupnit adresáře /home a /var/nfs klientovi; proto je musíme "exportovat" na server.

Když klient přistupuje ke sdílené složce NFS, obvykle se to stane jako uživatel nfsnobody. Obvykle adresář /home nevlastní nfsnobody (a nedoporučuji měnit jeho vlastnictví na nfsnobody!), a protože chceme číst a psát na /home říkáme NFS, že přístupy by měly být prováděny jako root (pokud by naše sdílení /home bylo pouze pro čtení, nebylo by to nutné). Adresář /var/nfs neexistuje, takže jej můžeme vytvořit a změnit jeho vlastnictví na uživatele a skupinu nfsnobody.

mkdir /var/nfs
chown nfsnobody:nfsnobody /var/nfs
chmod 755 /var/nfs

Nyní musíme upravit /etc/exports, kam „exportujeme“ naše sdílené složky NFS. Zadáváme /home a /var/nfs jako sdílení NFS a říkáme NFS, aby přistupovalo k /home jako root (chcete-li se dozvědět více o /etc/exports, jeho formátu a dostupných možnostech, podívejte se na

man 5 exports

)

nano /etc/exports
/home           192.168.1.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.1.101(rw,sync,no_subtree_check)

(Volba no_root_squash způsobí, že k /home bude přistupovat jako root.)

Kdykoli upravíme /etc/exports, musíme spustit:

exportfs -a

poté, aby byly změny účinné.

5 Připojení sdílených složek NFS na klienta

klient:

Nejprve vytvoříme adresáře, kam chceme připojit sdílené složky NFS, např.:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

Poté je můžeme namontovat následovně:

mount 192.168.1.100:/home /mnt/nfs/home
mount 192.168.1.100:/var/nfs /mnt/nfs/var/nfs

Nyní byste měli vidět dvě sdílení NFS ve výstupech

df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.7G 26G 7% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

a

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
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/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/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/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

6 testování

Na klientovi se nyní můžete pokusit vytvořit testovací soubory na sdílených složkách NFS:

klient:

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

Nyní přejděte na server a zkontrolujte, zda vidíte oba testovací soubory:

server:

ls -l /home/
[[email protected] ~]# ls -l /home/
total 0
drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator
-rw-r--r--. 1 root root 0 Jun 29 13:07 test.txt
ls -l /var/nfs
[[email protected] ~]# ls -l /var/nfs
total 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt

(Všimněte si prosím různých vlastnictví testovacích souborů:ke sdílené složce /home NFS se přistupuje jako root, takže /home/test.txt je vlastněn rootem; ke sdílené složce /var/nfs se přistupuje jako nikdo/65534, tedy /var/ nfs/test.txt vlastní 65534.)

7 Připojení sdílených složek NFS při spouštění

Namísto ručního připojování sdílených složek NFS na klienta můžete upravit /etc/fstab tak, aby se sdílené složky NFS připojily automaticky při spuštění klienta.

klient:

Otevřete /etc/fstab a připojte následující řádky:

nano /etc/fstab
[...]
192.168.1.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
192.168.1.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Místo rw,sync,hard,intr můžete použít různé možnosti připojení. Chcete-li se dozvědět více o dostupných možnostech, podívejte se na

man nfs

Chcete-li otestovat, zda váš upravený /etc/fstab funguje, restartujte klienta:

reboot

Po restartu byste měli najít dvě sdílené složky NFS ve výstupech

df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.7G 26G 7% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

a

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
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/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/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/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

  • Linux NFS:http://nfs.sourceforge.net/
  • CentOS:http://www.centos.org/

Cent OS
  1. Nastavení serveru a klienta NFS v systému Scientific Linux 6.3

  2. Instalace serveru a klienta NFS na CentOS 7

  3. Nastavení serveru a klienta NFS na Debian 9 (Stretch)

  1. Nastavení serveru a klienta NFS na CentOS 6.3

  2. Nastavení serveru a klienta NFS na OpenSUSE 12.2

  3. Naučte se NFS prostřednictvím konfigurace serveru a klienta

  1. Nastavení serveru a klienta NFS na Debian Wheezy

  2. CentOS / RHEL 7 :Konfigurace serveru NFS a klienta NFS

  3. Jak nakonfigurovat NTP server a klienta v CentOS / RHEL 7