동일한 이름 ("gsx")을 6 개의 다른 IP 주소에 매핑하는 라운드 로빈 DNS 설정이 있습니다. 이는 'nslookup'및 'ping'과 같은 것을 사용하여 클라이언트에서 작동하는 것으로 확인됩니다. 그러나 이름 ("gsx")을 사용하여 NFS 마운트를 시도하면 단일 시스템에서만 마운트됩니다.라운드 로빈을 통한 NFS 마운트 DNS는 10Gb/s 이더넷을 사용할 때 단일 시스템에서만 마운트합니다.
IP 주소를 통해 특별히 마운트하는 경우 6 개의 서버 중 하나에서 마운트 할 수 있으므로 6 개의 서버 모두 올바르게 NFS 요청을 내보내고 서비스합니다. 문제는 mount.nfs 주소 지정 또는 다른 위치에 의존하는 것으로 보입니다.
해당 클라이언트는 CentOS 6.8을 실행하는 Linux 시스템입니다.
문제를 설명하려면 다음 명령을 참조하십시오. [1] nslookup이 클라이언트의 주소간에 올바르게 회전 함을 보여줍니다. [2] ping이 클라이언트의 주소 사이에서 올바르게 회전합니다. [3] NFS 마운트 -t 않습니다 하지 제대로 클라이언트의 주소 중 회전, 대신 항상 같은 주소를 사용합니다 :에 난에 대한
[1] nslookup을 테스트
1 2 3 4 5 6; do nslookup gsx; 1 2 3 4 5 6 제가
위한
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.16
Name: gsx.backbone.lan
Address: 192.168.10.11
Name: gsx.backbone.lan
Address: 192.168.10.12
Name: gsx.backbone.lan
Address: 192.168.10.13
Name: gsx.backbone.lan
Address: 192.168.10.14
Name: gsx.backbone.lan
Address: 192.168.10.15
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.11
Name: gsx.backbone.lan
Address: 192.168.10.12
Name: gsx.backbone.lan
Address: 192.168.10.13
Name: gsx.backbone.lan
Address: 192.168.10.14
Name: gsx.backbone.lan
Address: 192.168.10.15
Name: gsx.backbone.lan
Address: 192.168.10.16
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.12
Name: gsx.backbone.lan
Address: 192.168.10.13
Name: gsx.backbone.lan
Address: 192.168.10.14
Name: gsx.backbone.lan
Address: 192.168.10.15
Name: gsx.backbone.lan
Address: 192.168.10.16
Name: gsx.backbone.lan
Address: 192.168.10.11
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.13
Name: gsx.backbone.lan
Address: 192.168.10.14
Name: gsx.backbone.lan
Address: 192.168.10.15
Name: gsx.backbone.lan
Address: 192.168.10.16
Name: gsx.backbone.lan
Address: 192.168.10.11
Name: gsx.backbone.lan
Address: 192.168.10.12
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.14
Name: gsx.backbone.lan
Address: 192.168.10.15
Name: gsx.backbone.lan
Address: 192.168.10.16
Name: gsx.backbone.lan
Address: 192.168.10.11
Name: gsx.backbone.lan
Address: 192.168.10.12
Name: gsx.backbone.lan
Address: 192.168.10.13
Server: 192.168.1.19
Address: 192.168.1.19#53
Name: gsx.backbone.lan
Address: 192.168.10.15
Name: gsx.backbone.lan
Address: 192.168.10.16
Name: gsx.backbone.lan
Address: 192.168.10.11
Name: gsx.backbone.lan
Address: 192.168.10.12
Name: gsx.backbone.lan
Address: 192.168.10.13
Name: gsx.backbone.lan
Address: 192.168.10.14
[2] 핑 예
을 수행; do ping -c3 gsx; [3] 3 4 5 6 제가
잘못된 동작의 NFS 예 -t 마운트
을 수행; -verbose -t nfs -o ro gsx :/gpm604/80 $ {i}/tmp/tony/80 $ {i};PING gsx.backbone.lan (192.168.10.16) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.16): icmp_seq=1 ttl=64 time=0.065 ms 64 bytes from gsx.backbone.lan (192.168.10.16): icmp_seq=2 ttl=64 time=0.093 ms 64 bytes from gsx.backbone.lan (192.168.10.16): icmp_seq=3 ttl=64 time=0.063 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.063/0.073/0.093/0.016 ms PING gsx.backbone.lan (192.168.10.11) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.11): icmp_seq=1 ttl=64 time=0.064 ms 64 bytes from gsx.backbone.lan (192.168.10.11): icmp_seq=2 ttl=64 time=0.089 ms 64 bytes from gsx.backbone.lan (192.168.10.11): icmp_seq=3 ttl=64 time=0.061 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.061/0.071/0.089/0.014 ms PING gsx.backbone.lan (192.168.10.12) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.12): icmp_seq=1 ttl=64 time=0.133 ms 64 bytes from gsx.backbone.lan (192.168.10.12): icmp_seq=2 ttl=64 time=0.124 ms 64 bytes from gsx.backbone.lan (192.168.10.12): icmp_seq=3 ttl=64 time=0.061 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.061/0.106/0.133/0.032 ms PING gsx.backbone.lan (192.168.10.13) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.13): icmp_seq=1 ttl=64 time=0.080 ms 64 bytes from gsx.backbone.lan (192.168.10.13): icmp_seq=2 ttl=64 time=0.090 ms 64 bytes from gsx.backbone.lan (192.168.10.13): icmp_seq=3 ttl=64 time=0.060 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.060/0.076/0.090/0.016 ms PING gsx.backbone.lan (192.168.10.14) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.14): icmp_seq=1 ttl=64 time=0.106 ms 64 bytes from gsx.backbone.lan (192.168.10.14): icmp_seq=2 ttl=64 time=0.154 ms 64 bytes from gsx.backbone.lan (192.168.10.14): icmp_seq=3 ttl=64 time=0.114 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.106/0.124/0.154/0.024 ms PING gsx.backbone.lan (192.168.10.15) 56(84) bytes of data. 64 bytes from gsx.backbone.lan (192.168.10.15): icmp_seq=1 ttl=64 time=0.072 ms 64 bytes from gsx.backbone.lan (192.168.10.15): icmp_seq=2 ttl=64 time=0.097 ms 64 bytes from gsx.backbone.lan (192.168.10.15): icmp_seq=3 ttl=64 time=0.081 ms --- gsx.backbone.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.072/0.083/0.097/0.012 ms
mount.nfs: timeout set for Tue Mar 7 17:46:51 2017
mount.nfs: trying text-based options 'vers=4,addr=192.168.10.16,clientaddr=192.168.10.21'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.10.16'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.10.16 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.10.16 prog 100005 vers 3 prot UDP port 597
gsx:/gpm604/803 on /tmp/tony/803 type nfs (ro)
mount.nfs: timeout set for Tue Mar 7 17:46:51 2017
mount.nfs: trying text-based options 'vers=4,addr=192.168.10.16,clientaddr=192.168.10.21'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.10.16'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.10.16 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.10.16 prog 100005 vers 3 prot UDP port 597
gsx:/gpm604/804 on /tmp/tony/804 type nfs (ro)
mount.nfs: timeout set for Tue Mar 7 17:46:51 2017
mount.nfs: trying text-based options 'vers=4,addr=192.168.10.16,clientaddr=192.168.10.21'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.10.16'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.10.16 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.10.16 prog 100005 vers 3 prot UDP port 597
gsx:/gpm604/805 on /tmp/tony/805 type nfs (ro)
mount.nfs: timeout set for Tue Mar 7 17:46:52 2017
mount.nfs: trying text-based options 'vers=4,addr=192.168.10.16,clientaddr=192.168.10.21'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.10.16'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.10.16 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.10.16 prog 100005 vers 3 prot UDP port 597
gsx:/gpm604/806 on /tmp/tony/806 type nfs (ro)
을 수행 [추가] 우리는 1 GB/s의 이더넷 연결을 사용하는 경우/LAN의 우리는이 문제가되지 않는 것을 발견했다. 이 문제는 우리가 10Gb/s 이더넷 LAN에 물건을 마운트하려고 할 때만 발생하는 것으로 보입니다. 우리는 동일한 NFS 서버에서 같은 클라이언트에 같은 클라이언트를 탑재하고 동일한 클라이언트 OS 및 시스템 바이너리를 사용하여 동일한 DNS 서버를 사용하고 예상대로 회전을 마운트했습니다 (또한 많은 온라인 하우투에서 언급했듯이) . 문제는 현재 어떤 이유로 10Gb/s 이더넷을 사용하는 것으로 국한되어있는 것처럼 보입니다.
NFS에서 "DNS 프로토콜 사양"이 아닌 문제가 있습니다. DNS는 'ping'및 'nslookup'명령에 의해 설명 된 것처럼 순환 순서로 주소를 올바르게보고합니다. 그러나 DNS 시스템에서는 단일 주소를 고정하여 사용하는 것만으로 무언가가 작동하지 않습니다. 나는 이유를 알아 내려고 노력하고있어. 그게 원인이야. 그리고 제대로 작동하도록 수정/변경하는 방법. – AkosPrime
@Akos Prime DNS 프로토콜은 응답이 순환 될 필요조차 없습니다. – Alnitak
아니요,하지만 오늘 우리가 발견 한 문제는 10Gb 이더넷 네트워크에서만 발생하는 것으로 보입니다. 동일한 볼륨을 마운트 할 때 동일한 NFS 서버를 사용하고 동일한 DNS 서버를 사용하며 동일한 OS를 사용하는 동일한 클라이언트에서 NFS 마운트가 예상대로 회전됩니다. – AkosPrime