Tato příručka vysvětluje, jak nastavit server NFS a klienta NFS na Debian Wheezy. NFS znamená 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. V tomto tutoriálu vám ukážu dva různé exporty NFS, export adresáře klienta, který ukládá soubory jako uživatel nikdo/nogroup bez zachování oprávnění souborového systému, a export adresáře /var/www, který zachovává oprávnění a vlastnictví souborů, jako vyžadováno při nastavení hostitelského serveru.
1 předběžná poznámka
Zde používám dva systémy Debian Wheezy:
- 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:
apt-get install nfs-kernel-server nfs-common
Poté vytvoříme odkazy pro spuštění systému pro server NFS a spustíme jej:
klient:
Na klienta můžeme NFS nainstalovat následovně (je to vlastně stejné jako na serveru):
apt-get install nfs-common
3 Export adresářů na serveru
server:
Chtěl bych zpřístupnit adresáře /home/client1 a /var/www klientovi, aby ukázaly dva různé přístupové režimy serveru NFS. Adresář /home/client1 je sdílen ve standardním režimu, takže všechny soubory zapsané do tohoto adresáře jsou uloženy jako uživatel nikdo a skupina nogroup. Pro adresář /var/www používám volbu no_root_squash, která dává serveru nfs pokyn k zachování oprávnění a vlastnictví souborů. Jedná se např. vyžadováno, když chcete exportovat adresář /var/www webového serveru spravovaného pomocí ISPConfig 3
Nejprve vytvořím adresář /home/client1
mkdir /home/client1
chown Nobody:nogroup /home/client1
chmod 755 /home/client1
Adresář /var/www pravděpodobně existuje na vašem serveru. Pokud ne, vytvořte jej:
mkdir /var/www
chown root:root /var/www
chmod 755 /var/www
Nyní musíme upravit /etc/exports, kam „exportujeme“ naše sdílené složky NFS. Zadáváme /home/client1 a /var/www jako sdílení NFS a říkáme NFS, aby umožnil přístup k /home/client1 jako uživatel nikdo (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/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)
(Volba no_root_squash způsobí, že k /var/www bude přistupovat jako root.)
Abychom použili změny v /etc/exports, restartujeme kernel nfs server
/etc/init.d/nfs-kernel-server restart
4 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/client1
mkdir -p /var/www
Pokud adresář /var/www již na vašem serveru existuje, zastavte apache, přejmenujte adresář a vytvořte nový prázdný adresář jako bod připojení
/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/www
Poté je můžeme namontovat následovně:
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/www
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/client1 9,7G 1,7G 7,5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 9.7G 1.7G 7.5G 19 % /var/www
]# chráněno e-mailem 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/client1 na /mnt/nfs/home/client1 typu nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
8.0192. var/www na /var/www typ nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[e-mail chráněný] ~]#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/client1/test.txt
dotkněte se /var/www/test.txtNyní přejděte na server a zkontrolujte, zda vidíte oba testovací soubory:
server:
ls -l /home/client1/[[e-mail chráněný] ~]# ls -l /home/client1
celkem 0
-rw-r--r-- 1 nikdo nogroup 0 2. února 16:58 test.txt
[[e-mail chráněn] ~]#ls -l /var/nfs[[e-mail chráněný] ~]# ls -l /var/www
celkem 0
-rw-r--r-- 1 kořen 0 2. února 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/client1 NFS se přistupuje jako nikdo / nogroup a je vlastněna nikdo / nogroup; ke sdílené složce /var/www se přistupuje jako root, tedy /var/www/test .txt je ve vlastnictví uživatele a skupiny root.)
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/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0192.168.0.100:/var/www /var/www nfs rw,sync, hard,intr 0 0Mí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 nfsChcete-li otestovat, zda váš upravený /etc/fstab funguje, odpojte sdílené složky a spusťte příkaz mount -a:
umount /mnt/nfs/home/client1
umount /var/www
mount -aNyní 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/client1 9,7G 1,7G 7,5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 9.7G 1.7G 7.5G 19 % /var/www
]# chráněno e-mailem 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/client1 na /mnt/nfs/home/client1 typu nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
8.0192. var/www na /var/www typ nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[e-mail chráněný] ~]#7 kreditů
Tento výukový program je založen na výukovém programu Centos NFS Server od společnosti Falko Timme.
8 odkazů
- Linux NFS:http://nfs.sourceforge.net/
- Debian:http://www.debian.org/