Tato příručka vysvětluje, jak nastavit server NFS a klienta NFS na OpenSUSE 12.2. 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.
1 předběžná poznámka
Zde používám dva systémy OpenSUSE:
- Server NFS:server.example.com, adresa IP:192.168.0.100
- Klient NFS:client.example.com, IP adresa:192.168.0.101
2 Instalace NFS
server:
Na serveru NFS spustíme:
zypper install nfs-kernel-server
Poté vytvoříme odkazy pro spuštění systému pro server NFS a spustíme jej:
systemctl povolit rpcbind.service
systemctl spustit rpcbind.service
systemctl povolit nfsserver.service
systemctl spustit nfsserver.service
klient:
Na klienta můžeme NFS nainstalovat následovně:
zypper install nfs-client
3 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 nikdo. Obvykle adresář /home nevlastní nikdo (a nedoporučuji měnit jeho vlastnictví na nikoho!), 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 none a nogroup:
mkdir /var/nfs
chown none:nogroup /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 exportuje
)
vi /etc/exports
# Popis syntaxe tohoto souboru naleznete na manuálové stránce exports(5).# Tento soubor obsahuje seznam všech adresářů, které mají být exportováno do # dalších počítačů přes NFS (Network File System).# Tento soubor používají rpc.nfsd a rpc.mountd. Podrobnosti o tom, jak provést změny v tomto souboru, najdete na jejich manuálových stránkách./home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)/var/nfs 192.168.0.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 se změny projevily.
4 Připojení akcií 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.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs
Nyní byste měli vidět dvě sdílení NFS ve výstupech
df -h
Velikost souborového systému Používá se k dispozici /> tmpfs 1004m 96k 1004m 1%/dev/shm
tmpfs 1004m 580k 1003m 1%/běh
/dev/sda2 12g 3,4g 7,5g 31%/
tmpfs 1004m 0 1004m 0% /sys/fs/cgroup
tmpfs 1004m 580k 1003m 1%/var/zámek
tmpfs 1004m 580k 1003m 1%/var/běh
tmpfs 1004m 0 1004m 0%/média
/dev/sda3 17G 387 M 16G 3 % /home
192.168.0.100:/home/ 12G 1,5 G me 9,6 G / 13 % s / m. 1.0. 9,6 G 13 % /mnt/nfs/var/nfs
klient:~ #
a
mount
client:~ # mount
devtmpfs na /dev typ devtmpfs (rw,relatime,size=1020060k,nr_inodes=255015,mode=755)
tmpfs na /dev/shm typ tmpfs (rw, relatime)
tmpfs na /run typu tmpfs (rw,nosuid,nodev,relatime,mode=755)
devpts na /dev/pts typu devpts (rw,relatime,gid=5,mode=620, ptmxmode=000)
/dev/sda2 on / typ ext4 (rw,relatime,data=ordered)
proc on /proc typ proc (rw,relatime)
sysfs na /sys typ sysfs (rw,relatime)
tmpfs na /sys/fs/cgroup typu tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
cgroup na /sys/fs/cgroup/systemd typ cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup na /sys/fs/cgroup/cpuset typu cgroup (rw,nosuid,nodev ,noexec,relatime,cpuset)
cgroup na /sys/fs/cgroup/cpu,cpuacct typu cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup na /sys/fs /cgroup/memory typ cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup na /sys/fs/cgroup/devices typu cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup na /sys/fs/cgroup/freezer typu cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup na / cgroup typu sys/fs/cgroup/net_cls (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup na /sys/fs/cgroup/blkio typu cgroup (rw,nosuid,nodev,noexec,relatime,blkio )
cgroup na /sys/fs/cgroup/perf_event typ cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 na /proc/sys/fs/binfmt_misc typ autofs (rw ,relatime,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
tmpfs na /var/lock type tmpfs (rw,nosuid,nodev,relatime,mode=755)
securityfs na /sys/kernel/security type securityfs (rw,relatime)
tmpfs na /var/run typu tmpfs (rw,nosuid,nodev,relatime,mode=755)
mqueue on /dev/mqueue typ mqueue (rw,relatime)
debugfs na /sys/kernel/debug typ debugfs (rw,relatime)
hugetlbfs na /dev/hugepages typ hugetlbfs (rw,relatime)
tmpfs na /media type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=7 55)
/dev/sda3 na /home typ ext4 (rw,relatime,data=ordered)
žádný na /proc/fs/vmblock/mountPoint typu 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 typ 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 na /mnt/nfs/var/nfs typ nfs4 (rw=4.0.0.100) =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.0.1 br />klient:~ #
5 testování
Na klientovi se nyní můžete pokusit vytvořit testovací soubory na sdílených složkách NFS:
klient:
dotkněte se /mnt/nfs/home/test.txt
dotkněte se /mnt/nfs/var/nfs/test.txt
Nyní přejděte na server a zkontrolujte, zda vidíte oba testovací soubory:
server:
ls -l /home/
server:~ # ls -l /home/
celkem 4
drwxr-xr-x 6 uživatelů správce 4096 19. července 17:26 administrátor
-rw-r--r- - 1 kořen kořen 0 14. září 20:47 test.txt
server:~ #
ls -l /var/nfs
server:~ # ls -l /var/nfs
celkem 0
-rw-r--r-- 1 nikdo nogroup 0 14. září 20:47 test.txt
server :~ #
(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, proto /var/nfs/ test.txt nikdo nevlastní.)
6 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:
vi /etc/fstab
[...]192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0192.168.0.100:/ var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |
Místo
man nfs
Chcete-li otestovat, zda váš upravený /etc/fstab funguje, restartujte klienta:
restartovat
Po restartu byste měli najít dvě sdílené složky NFS ve výstupech
df -h
a
mount
7 odkazů
- Linux NFS:http://nfs.sourceforge.net/
- OpenSUSE:http://www.opensuse.org/