The automatic nightly incremental backups are written to the puma:/root/snapshots directory, which is itself a mounted disk partition (to one of our external drives). To allow users to retrieve their own lost files, but not to modify them, that directory is re-mounted read-only as /archives. This idea, which I believe I learned about from the rsnapshot website, has worked well for a long time.
One thing I’ve known is that after un-mounting /archives, I can’t immediately un-mount /root/snapshots — it will say “device busy.” I need to restart the nfs server (so that it will let go of /archives) and then I can do the second un-mount. A little annoying, but not really a problem. (It’s annoying because I haven’t scripted this as part of a server shut-down/reboot, so I have to do it by hand if I want to reboot the server. But that’s something I do 1-2 times a year, so not a big deal.)
However, today I wanted to reboot that server. I un-mounted /archives and then tried to restart nfs, and got:
[root@puma ~] service nfs restart
Shutting down NFS mountd: [FAILED]
Shutting down NFS daemon: [ OK ]
Shutting down NFS quotas: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [FAILED]
[root@puma ~]
Hunh? This is new. Some diagnostic info:
[root@puma ~] showmount -e
mount clntudp_create: RPC: Program not registered
[root@puma ~] exportfs -a
[root@puma ~] rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100021 1 udp 58804 nlockmgr
100021 3 udp 58804 nlockmgr
100021 4 udp 58804 nlockmgr
100021 1 tcp 43429 nlockmgr
100021 3 tcp 43429 nlockmgr
100021 4 tcp 43429 nlockmgr
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100024 1 udp 745 status
100024 1 tcp 748 status
100011 1 udp 704 rquotad
100011 2 udp 704 rquotad
100011 1 tcp 707 rquotad
100011 2 tcp 707 rquotad
Still working on this:
[root@puma ~] mount -v /archives/
mount: trying 127.0.0.1 prog 100003 vers 3 prot tcp port 2049
mount: trying 127.0.0.1 prog 100003 vers 2 prot tcp port 2049
mount: trying 127.0.0.1 prog 100003 vers 2 prot tcp port 2049
mount: mount to NFS server ‘localhost’ failed: RPC Error: Program not registered.
[root@puma ~]
I really can’t see what’s wrong.