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.