2017-03-07 51 views
0

我們有一個循環的DNS設置,它將同一名稱(「gsx」)映射到六個不同的IP地址。通過使用諸如'nslookup'和'ping'之類的東西來驗證這是從客戶端開始工作的。但是,當我們嘗試使用名稱(「gsx」)進行NFS掛載時,它將只從單個系統掛載。通過循環法進行NFS安裝僅使用10 Gb/s以太網時,DNS從單個系統安裝

如果我們通過IP地址專門安裝,我們可以從6臺服務器中的任何一臺進行掛載,因此所有6臺服務器都可以正確導出和處理NFS請求。這個問題似乎存在於mount.nfs尋址的地方,或者它依賴的任何地方。

有問題的客戶端是運行CentOS 6.8的Linux系統。

爲了說明這個問題,請看下面的命令,說明[1] nslookup在客戶端地址之間正確旋轉; [2] ping在客戶端的地址之間正確旋轉; [3]裝入-t NFS確實NOT在客戶端上的地址中正確地旋轉,而是將始終使用相同的地址:在

[1] NSLOOKUP測試

對於i 1 2 3 4 5 6;做nslookup gsx;完成

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]平例如

對於i 1 2 3 4 5 6;做ping -c3 gsx;完成

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 

[3]裝入-t的不正確的行爲

NFS實例爲i的3 4 5 6; do mount --verbose -t nfs -o ro gsx:/ gpm604/80 $ {i}/tmp/tony/80 $ {i};做

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的,我們沒有這個問題。這個問題似乎只在我們嘗試在我們的10 Gb/s以太網LAN上安裝時纔會發生。我們使用相同的DNS服務器,從相同的NFS服務器,相同的客戶端,相同的客戶端操作系統和系統二進制文件裝載相同的卷,並按預期方式旋轉安裝盤(並提及他們應該在許多在線操作方法中) 。現在的問題似乎侷限於利用10Gb/s以太網出於某種原因。

回答

0

據我所知,沒有要求在任何DNS協議規範說,返回查找的多個地址應按循環順序嘗試。

獲取列表並決定如何處理它是應用程序的工作。

+0

問題出在NFS而不是「DNS協議規範」。正如「ping」和「nslookup」命令所示,DNS正在按照旋轉順序正確報告地址。然而,有些東西並不適用於DNS系統,因爲它似乎只注重一個地址,而只能使用它。我試圖找出原因。是什麼導致它。以及如何修復/更改它,使其正常工作。 – AkosPrime

+0

@Akos Prime DNS協議甚至不需要響應被旋轉。 – Alnitak

+0

不,但正如我們今天發現的那樣,這個問題似乎只發生在10 Gb以太網上,因爲當我們使用相同的NFS服務器裝載相同的卷時,使用相同的DNS服務器,在具有相同操作系統的相同客戶端上, NFS掛載按預期旋轉。 – AkosPrime