Tato příručka vysvětluje, jak nastavit server NFS a klienta NFS na Scientific Linux 6.3. 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 Scientific Linux:
- 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:
yum install nfs-utils nfs-utils-lib
Poté vytvoříme odkazy pro spuštění systému pro server NFS a spustíme jej:
chkconfig --levels 235 nfs na
/etc/init.d/nfs start
klient:
Na klienta můžeme NFS nainstalovat následovně (je to vlastně stejné jako na serveru):
yum install nfs-utils nfs-utils-lib
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í; v mých testech měl uživatel i skupina nikdo ID 99 na obou mých testovacích systémech Scientific Linux (server i klient); při pokusu o zápis do /var/nfs z klienta NFS se mi zobrazila chyba Permission denied, takže jsem provedl chmod 777 /var/nfs, aby do tohoto adresáře mohl zapisovat každý; zápis do /var/nfs z klienta tehdy fungoval a na klientovi se zdálo, že soubory zapsané do /var/nfs jsou vlastněny uživatelem a skupinou nikdo, ale na serveru je vlastnil (neexistující) uživatel a skupina s ID 65534; tak jsem změnil vlastnictví /var/nfs na uživatele/skupinu 65534 na serveru a změnil oprávnění /var/nfs zpět na 755 a voilà, klient mohl zapisovat do /var/nfs:
mkdir /var/nfs
chown 65534:65534 /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 exportuje
)
vi /etc/exports
/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
[[email protected] ~]# df -h
Systém souborů Velikost Použitá Využití % Připevněno na
/dev/mapper/vg_server2-LogVol00
9. 7 /
tmpfs 499m 0 499m 0%/dev/shm
/dev/sda1 504m 39m 440m 9%/boot
192.168.0.100:/home 9,7g 1,7G 7,5G 19%/mnt /nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19 % /mnt/nfs/var/nfs #[e-mail chráněno] #[e-mail] před>a
mount[[email chráněno] ~]# připojení
/dev/mapper/vg_server2-LogVol00 zapnuto / zadejte ext4 (rw)
proc na /proc typ proc (rw)
sysfs zapnuto /sys typ sysfs (rw)
devpts na /dev/pts typ devpts (rw,gid=5,mode=620)
tmpfs na /dev/shm typ tmpfs (rw)
/ dev/sda1 na /boot typu ext4 (rw)
žádný na /proc/sys/fs/binfmt_misc typ binfmt_misc (rw)
sunrpc na /var/lib/nfs/rpc_pipefs typ rpc_pipefs (rw)
192.168.0.100:/home na /mnt/nfs/home typ nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.108.0.101 /mnt/nfs/var/nfs typ nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#
5 testování
Na klientovi se nyní můžete pokusit vytvořit testovací soubory na sdílených složkách NFS:
klient:
klepněte na /mnt/nfs/home/test.txt
dotkněte se /mnt/nfs/var/nfs/test.txtNyní přejděte na server a zkontrolujte, zda vidíte oba testovací soubory:
server:
ls -l /home/[[email protected] ~]# ls -l /home/
celkem 0
-rw-r--r-- 1 root root 0 11. prosince 16:58 test.txt
[[e-mail chráněn] ~]#ls -l /var/nfs[[e-mail chráněný] ~]# ls -l /var/nfs
celkem 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11. prosince 16:58 test.txt
[[e-mail chráněn] ~]#(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.)
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
[[email protected] ~]# df -h
Systém souborů Velikost Použitá Využití % Připevněno na
/dev/mapper/vg_server2-LogVol00
9. 7 /
tmpfs 499m 0 499m 0%/dev/shm
/dev/sda1 504m 39m 440m 9%/boot
192.168.0.100:/home 9,7g 1,7G 7,5G 19%/mnt /nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19 % /mnt/nfs/var/nfs #[e-mail chráněno] #[e-mail] před>a
mount[[email chráněno] ~]# připojení
/dev/mapper/vg_server2-LogVol00 zapnuto / zadejte ext4 (rw)
proc na /proc typ proc (rw)
sysfs zapnuto /sys typ sysfs (rw)
devpts na /dev/pts typ devpts (rw,gid=5,mode=620)
tmpfs na /dev/shm typ tmpfs (rw)
/ dev/sda1 na /boot typu ext4 (rw)
žádný na /proc/sys/fs/binfmt_misc typ binfmt_misc (rw)
sunrpc na /var/lib/nfs/rpc_pipefs typ rpc_pipefs (rw)
192.168.0.100:/home na /mnt/nfs/home typ nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
8.0192. :/var/nfs na /mnt/nfs/var/nfs typ nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#
7 odkazů
- Linux NFS:http://nfs.sourceforge.net/
- Scientific Linux:https://www.scientificlinux.org/