Installation NFS Network File System
Analog zur FreeBSD Installation, hier die Anleitung unter Ubuntu.
Installation
Hier der Link zum offiziellen Ubuntu Manual.
NFS Server
Der Daemon wird auf dem Server installiert, der die Harddisks sharen möchte.
sudo apt-get install nfs-kernel-server
Anmerkung zum /etc/exports File
Unter Ubuntu existiert die maproot=root Option nicht. Was unter FreeBSD so aussieht:
/backup -maproot=root -alldirs 10.0.0.2 10.0.0.3 10.0.0.4
sieht unter Ubuntu so aus:
/backup 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) 10.0.0.3(rw,sync,no_root_squash,no_subtree_check) 10.0.0.4(rw,sync,no_root_squash,no_subtree_check)
Wichtig: zwischen IP Adresse und der Klammer „(“ darf kein Abstand/Space sein.
Nachdem der NFS Server wie gewünscht konfiguriert wurde, diesen neu starten.
sudo exportfs -ra
Nun werden die konfigurierten Shares auf den remoten Maschinen mit
showmount -e <serveradresse>
angezeigt.
NFS Client
Der Client wird bei der NFS Server Installation automatisch mitinstalliert. Soll die Maschine aber nur als Client eingerichtet werden, kann man den Client einzeln installieren:
sudo apt-get install nfs-common
Schon kann man loslegen und die Partitionen der Remote Server mounten.
-> Analog zum FreeBSD Tutorial.
Fehlermeldungen
rpc.statd is not running but is required for remote locking.
sudo mount violet:/backup /backup_global
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
Lösung:
Im /etc/hosts.allow File vom Client musste nach der IP Adresse jeweils noch die Localhost IP (127.0.0.1) stehen – dann klappts!
$ cat /etc/hosts.allow
sendmail: all
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#
rpcbind : 10.0.0.1 127.0.0.1 : allow
rpcbind : 10.0.0.2 127.0.0.1 : allow
rpcbind : 10.0.0.3 127.0.0.1 : allow
rpcbind : 10.0.0.4 127.0.0.1 : allow
rpcbind : ALL : deny
RPC: Program not registered
Fehler:
$ showmount -e patsy
RPC: Program not registered
In dem Fall als erstes prüfen, ob der NFS Server überhaupt läuft mit rpcinfo -p :
$ rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 40292 status
100024 1 tcp 36683 status
100021 1 udp 49318 nlockmgr
100021 3 udp 49318 nlockmgr
100021 4 udp 49318 nlockmgr
100021 1 tcp 38697 nlockmgr
100021 3 tcp 38697 nlockmgr
100021 4 tcp 38697 nlockmgr
Es müssten hier mindestens portmapper
, nfs
und mountd
aufgelistet sein. Ist dies nicht der Fall, starte den NFS Server neu:
sudo /etc/init.d/nfs-kernel-server start
Nun müsste der Output von rpcinfo -p die fehlenden Services auflisten:
$ rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 40292 status
100024 1 tcp 36683 status
100021 1 udp 49318 nlockmgr
100021 3 udp 49318 nlockmgr
100021 4 udp 49318 nlockmgr
100021 1 tcp 38697 nlockmgr
100021 3 tcp 38697 nlockmgr
100021 4 tcp 38697 nlockmgr
100005 1 udp 34536 mountd
100005 1 tcp 60529 mountd
100005 2 udp 43840 mountd
100005 2 tcp 34175 mountd
100005 3 udp 43592 mountd
100005 3 tcp 39509 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049
100003 3 udp 2049 nfs
100227 3 udp 2049
Nun funktioniert auch der showmount:
$ showmount -e patsy
Exports list on patsy:
/backup_local/share tesla corky violet
Sollte es weiterhin nicht klappen, prüfe noch /var/log/messages