-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sunday, 2013-07-14 at 12:09 +0400, Andrey Borzenkov wrote:
В Thu, 11 Jul 2013 14:54:52 +0200 (CEST) "Carlos E. R." <> пишет:
Right, see above.
By default client should negotiate NFS version, depending on which one is supported by server. So leaving explicit version will result in different behavior depending on what client/server combination support. As NFS V3 and NFS V4 have completely different models for sharing and user mappings you usually cannot simply drop in NFS V4 in place of NFS V3 and expect it to work.
Look: eleanor3:~ # mount | grep nfs rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) telcontar.valinor:/data/storage_c/repositorios_zypp on /var/cache/zypp/nfs_packages type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.74.127,local_lock=none,addr=192.168.1.14) eleanor3:~ # minas-tirith:~ # mount | grep nfs 192.168.1.14:/data/storage_c/repositorios_zypp/ on /var/cache/zypp/nfs_packages type nfs (rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=192.168.1.14,mountvers=3,mountport=35298,mountproto=udp,local_lock=none,addr=192.168.1.14) minas-tirith:~ # You see, the same server is working with versions 4 and 3, simultaneously. Eleanor3 is a virtual machine running 12.3, hosted on the server, and minas-tirith is a laptop running 11.4, connected via wifi. And there is no negotiation; when I use this line in fstab on the laptop: 192.168.1.14:/data/storage_c/repositorios_zypp/ /var/cache/zypp/nfs_packages nfs defaults,noauto 0 0 I get: minas-tirith:~ # date --rfc-3339=seconds ; time mount -v /var/cache/zypp/nfs_packages/ ; date --rfc-3339=seconds 2013-07-14 15:24:51+02:00 mount.nfs: timeout set for Sun Jul 14 15:26:51 2013 mount.nfs: trying text-based options 'vers=4,addr=192.168.1.14,clientaddr=192.168.1.129' mount.nfs: mount(2): Connection timed out mount.nfs: Connection timed out real 3m0.192s user 0m0.000s sys 0m0.005s 2013-07-14 15:27:51+02:00 minas-tirith:~ # It does not attempt to try nfs3 when nfs4 fails, probably because the connection attempt itself fails. The client can not determine if the server is version 2 or 3 or 4, because the server does not even answer! A packet capture, edited to reduce size: No. Time Source Destination Protocol Length Info 249 15:35:33.385373000 192.168.1.129 192.168.1.14 TCP 74 telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26851809 TSecr=0 WS=64 Transmission Control Protocol, Src Port: telnets (992), Dst Port: nfs (2049), Seq: 0, Len: 0 No. Time Source Destination Protocol Length Info 250 15:35:33.385445000 192.168.1.14 192.168.1.129 TCP 74 nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647243754 TSecr=26851809 WS=128 279 15:35:34.586491000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647244956 TSecr=26851809 WS=128 322 15:35:36.391733000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26854816 TSecr=0 WS=64 323 15:35:36.391771000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647246761 TSecr=26851809 WS=128 326 15:35:36.586499000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647246956 TSecr=26851809 WS=128 428 15:35:40.586502000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647250956 TSecr=26851809 WS=128 502 15:35:42.408036000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26860832 TSecr=0 WS=64 503 15:35:42.408057000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647252777 TSecr=26851809 WS=128 641 15:35:48.786494000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647259156 TSecr=26851809 WS=128 758 15:35:54.440401000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26872864 TSecr=0 WS=64 759 15:35:54.440425000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647264809 TSecr=26851809 WS=128 1029 15:36:04.786501000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647275156 TSecr=26851809 WS=128 1422 15:36:18.473352000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26896896 TSecr=0 WS=64 1423 15:36:18.473388000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647288842 TSecr=26851809 WS=128 2628 15:37:06.603229000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] telnets > nfs [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=26945024 TSecr=0 WS=64 2629 15:37:06.603258000 192.168.1.14 192.168.1.129 TCP 74 [TCP Previous segment not captured] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647336972 TSecr=26945024 WS=128 2656 15:37:07.804495000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647338174 TSecr=26945024 WS=128 2733 15:37:10.004501000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647340374 TSecr=26945024 WS=128 2876 15:37:14.004491000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647344374 TSecr=26945024 WS=128 3081 15:37:22.204498000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647352574 TSecr=26945024 WS=128 3502 15:37:38.604487000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] nfs > telnets [SYN, ACK] Seq=1456528306 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=647368974 TSecr=26945024 WS=128 Retransmission? From both sides? A sucesful connection (version 3) goes like this: No. Time Source Destination Protocol Length Info 90 15:59:58.752892000 192.168.1.129 192.168.1.14 TCP 74 57233 > sunrpc [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=28317123 TSecr= 91 15:59:58.752967000 192.168.1.14 192.168.1.129 TCP 74 sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=6487 98 15:59:59.133783000 192.168.1.129 192.168.1.14 ICMP 98 Echo (ping) request id=0x2636, seq=2424/30729, ttl=64 99 15:59:59.133811000 192.168.1.14 192.168.1.129 ICMP 98 Echo (ping) reply id=0x2636, seq=2424/30729, ttl=64 116 15:59:59.754500000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 S 160 16:00:01.754498000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 S 161 16:00:01.757790000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] 57233 > sunrpc [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 162 16:00:01.757808000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 S 173 16:00:02.341905000 192.168.1.14 192.168.1.129 ICMP 98 Echo (ping) request id=0x70f4, seq=8814/28194, ttl=64 174 16:00:02.343809000 192.168.1.129 192.168.1.14 ICMP 98 Echo (ping) reply id=0x70f4, seq=8814/28194, ttl=64 259 16:00:05.754505000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 S 302 16:00:07.774018000 192.168.1.129 192.168.1.14 TCP 74 [TCP Retransmission] 57233 > sunrpc [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 303 16:00:07.774053000 192.168.1.14 192.168.1.129 TCP 74 [TCP Retransmission] sunrpc > 57233 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 S 329 16:00:08.763987000 192.168.1.129 192.168.1.14 Portmap 98 V2 GETPORT Call (Reply In 332) NFS(100003) V:3 UDP 332 16:00:08.764193000 192.168.1.14 192.168.1.129 Portmap 70 V2 GETPORT Reply (Call In 329) Port:2049 334 16:00:08.767059000 192.168.1.129 192.168.1.14 NFS 82 V3 NULL Call (Reply In 337) 337 16:00:08.767147000 192.168.1.14 192.168.1.129 NFS 66 V3 NULL Reply (Call In 334) 340 16:00:08.770315000 192.168.1.129 192.168.1.14 Portmap 98 V2 GETPORT Call (Reply In 341) MOUNT(100005) V:3 UDP 341 16:00:08.770520000 192.168.1.14 192.168.1.129 Portmap 70 V2 GETPORT Reply (Call In 340) Port:35298 342 16:00:08.773204000 192.168.1.129 192.168.1.14 MOUNT 82 V3 NULL Call (Reply In 345) 345 16:00:08.773289000 192.168.1.14 192.168.1.129 MOUNT 66 V3 NULL Reply (Call In 342) 346 16:00:08.776029000 192.168.1.129 192.168.1.14 MOUNT 82 V3 NULL Call (Reply In 347) 347 16:00:08.776080000 192.168.1.14 192.168.1.129 MOUNT 66 V3 NULL Reply (Call In 346) 348 16:00:08.778077000 192.168.1.129 192.168.1.14 MOUNT 162 V3 MNT Call (Reply In 349) /data/storage_c/repositorios_zypp/ 349 16:00:08.778432000 192.168.1.14 192.168.1.129 MOUNT 90 V3 MNT Reply (Call In 348) 350 16:00:08.780371000 192.168.1.129 192.168.1.14 Portmap 130 V2 GETPORT Call (Reply In 351) NFS(100003) V:3 UDP 351 16:00:08.780543000 192.168.1.14 192.168.1.129 Portmap 70 V2 GETPORT Reply (Call In 350) Port:2049 352 16:00:08.783074000 192.168.1.129 192.168.1.14 NFS 82 V3 NULL Call (Reply In 353) 353 16:00:08.783122000 192.168.1.14 192.168.1.129 NFS 66 V3 NULL Reply (Call In 352) 354 16:00:08.786104000 192.168.1.129 192.168.1.14 NFSACL 82 V3 NULL Call (Reply In 355) 355 16:00:08.786135000 192.168.1.14 192.168.1.129 NFSACL 66 V3 NULL Reply (Call In 354) 356 16:00:08.787866000 192.168.1.129 192.168.1.14 NFS 134 V3 FSINFO Call (Reply In 357), FH:0xe980d59c 357 16:00:08.787906000 192.168.1.14 192.168.1.129 NFS 122 V3 FSINFO Reply (Call In 356) 358 16:00:08.789627000 192.168.1.129 192.168.1.14 NFS 134 V3 PATHCONF Call (Reply In 359), FH:0xe980d59c 359 16:00:08.789657000 192.168.1.14 192.168.1.129 NFS 98 V3 PATHCONF Reply (Call In 358) 360 16:00:08.791389000 192.168.1.129 192.168.1.14 NFS 134 V3 GETATTR Call (Reply In 361), FH:0xe980d59c 361 16:00:08.791422000 192.168.1.14 192.168.1.129 NFS 154 V3 GETATTR Reply (Call In 360) Directory mode:0755 uid:0 gid:0 362 16:00:08.793232000 192.168.1.129 192.168.1.14 NFS 134 V3 FSINFO Call (Reply In 363), FH:0xe980d59c 363 16:00:08.793264000 192.168.1.14 192.168.1.129 NFS 122 V3 FSINFO Reply (Call In 362) 364 16:00:08.795382000 192.168.1.129 192.168.1.14 NFS 134 V3 GETATTR Call (Reply In 365), FH:0xe980d59c 365 16:00:08.795418000 192.168.1.14 192.168.1.129 NFS 154 V3 GETATTR Reply (Call In 364) Directory mode:0755 uid:0 gid:0 386 16:00:09.134108000 192.168.1.129 192.168.1.14 ICMP 98 Echo (ping) request id=0x2636, seq=2425/30985, ttl=64 387 16:00:09.134138000 192.168.1.14 192.168.1.129 ICMP 98 Echo (ping) reply id=0x2636, seq=2425/30985, ttl=64 453 16:00:12.346160000 192.168.1.14 192.168.1.129 ICMP 98 Echo (ping) request id=0x70f4, seq=8815/28450, ttl=64 454 16:00:12.348064000 192.168.1.129 192.168.1.14 ICMP 98 Echo (ping) reply id=0x70f4, seq=8815/28450, ttl=64 Strange... the first thing is "sunrpc". On the failed connection there is no rpc. - -- Cheers, Carlos E. R. (from 12.3 x86_64 "Dartmouth" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEARECAAYFAlHiw9oACgkQtTMYHG2NR9XiJACfdAI9HVxP3Zd625XDM0Nd7HeE Gk4AoIoQMXOFoa4UkaHPGK/LifmnucP4 =kXng -----END PGP SIGNATURE-----