Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
nfs umount error : Bad MNT RPC: RPC: Timed out
Hi,
I do have access, at work, to a new NFS filer (Isilon). Unfortunately
this new beast is in a different subnet ... and, on that subnet, most
UDP ports are filtered. Using TCP to mount exported filesystems works
just fine, but problems arise when trying to unmount them.
njoly@lanfeust [~]> sudo mount -t nfs -o ro,tcp
filer.yyy.pasteur.fr:/exported/fs /mnt
njoly@lanfeust [~]> sudo umount /mnt
Bad MNT RPC: RPC: Timed out
Network trace show that UDP packets are sent to the filer (sunrpc port
is ok, but port 300 gets filtered) :
17:45:23.906523 IP (tos 0x0, ttl 64, id 7200, offset 0, flags [none], proto UDP
(17), length 84)
lanfeust.xxx.pasteur.fr.exp1 > filer.yyy.pasteur.fr.sunrpc: [udp sum ok]
UDP, length 56
17:45:23.906908 IP (tos 0x0, ttl 63, id 38862, offset 0, flags [none], proto
UDP (17), length 56)
filer.yyy.pasteur.fr.sunrpc > lanfeust.xxx.pasteur.fr.exp1: [udp sum ok]
UDP, length 28
17:45:23.906997 IP (tos 0x0, ttl 64, id 7201, offset 0, flags [none], proto UDP
(17), length 192)
lanfeust.xxx.pasteur.fr.1020 > filer.yyy.pasteur.fr.300: [udp sum ok] UDP,
length 164
17:45:24.012627 IP (tos 0x0, ttl 64, id 7212, offset 0, flags [none], proto UDP
(17), length 192)
lanfeust.xxx.pasteur.fr.1020 > filer.yyy.pasteur.fr.300: [udp sum ok] UDP,
length 164
Looking into umount(8) the code, show that lastest communication with
the server is unconditionnaly made over UDP (from sbin/umount/umount.c) :
#ifndef SMALL
if (ai != NULL && !(fflag & MNT_FORCE)) {
clp = clnt_create(hostp, RPCPROG_MNT, RPCMNT_VER1, "udp");
if (clp == NULL) {
clnt_pcreateerror("Cannot MNT PRC");
return 1;
}
clp->cl_auth = authsys_create_default();
try.tv_sec = 20;
try.tv_usec = 0;
clnt_stat = clnt_call(clp, RPCMNT_UMOUNT, xdr_dir,
__UNCONST(name), xdr_void, NULL, try);
if (clnt_stat != RPC_SUCCESS) {
clnt_perror(clp,"Bad MNT RPC");
return 1;
}
auth_destroy(clp->cl_auth);
clnt_destroy(clp);
}
#endif /* ! SMALL */
Hacking it to use "tcp" instead instead of "udp" makes the problem
vanish.
While i can ask network admins to open a few more UDP ports to make it
work ... I wonder if this should be adjusted to use the protocol which
was requested at mount ?
Thanks in advance,
Regards.
--
Nicolas Joly
Biology IT Center
Institut Pasteur, Paris.
Home |
Main Index |
Thread Index |
Old Index