在一個高度結構化和精心設計的大環境中,基礎設施和布線布局是非常重要的,特別是要符合行業標準。一旦解決了所有微小的設計問題,行業標準就會變成黃金標準,因為它適用于各個階段并且能保證系統穩定運行。
那么服務器按照定義好的標準接上以太網線又如何呢?從vSphere客戶端連接是完全錯誤的嗎?
當你有16個或更多的上行鏈路時,傳輸途徑就變得難以跟蹤。位于虛擬機管理和服務器控制臺的以太網端口可能出現連接錯誤的情況。
想要跟蹤所有的傳輸途徑,保持物理網卡布局是非常重要的。如果網卡插在錯誤的PCI插槽,會出現和網絡接口卡(NIC)布局錯誤類似的問題。目視檢查是一個好辦法,要在做最壞的打算之前確保布局是正確的。
幾個月前這一奇怪現象真實地發生在你的布局中。起初,似乎是有人插錯了電纜。檢查電纜連接是正確的,可以判定是服務器本身出現問題。罪魁禍首是服務器上的PCI總線數目改變了中間模型。
事實上,PCI總線數目,顧名思義就是檢查PCI總線和分配網卡或其他設備,一個基于PCI插槽數量和按順序找到的設備的唯一ID。任何可以插入PCI的插槽將被PCI總線枚舉,分配一個唯一的ID。這可以包括諸如光纖通道卡和其他各種各樣的卡。
當以太網卡沒有與其他“正確”的服務器加入相同的布局時,枚舉順序將發生變化。網卡將擁有不同的枚舉順序,如果插在了正確的位置上會顯示錯誤。
然而,有時候供應商會更換主板制造商,或對某代產品進行了適當的設計。如果網卡的枚舉序列不同,,重新設計不會影響最終效果。下一任的惠普董事會就遇到了這樣的情況。開始網卡布局沒有問題,后來發現布局是完全錯誤的。
管理員如何解決這個問題并按照標準重新正確地分配網卡?答案并不理想,需要在主機和使用SSH(Secure Shell)編輯文件,并多次重新啟動。文件“/etc/vmware/esx.conf”包含所有PCI數目數據和其他相關的主機信息。編輯這個文件之前,應該進行備份防止文件配置錯誤。最簡單的恢復方法是重新安裝ESXi,所以說這種做法不理想。
處理網卡時,有兩個部分需要編輯。第一部分只包含通用編號分配網卡,如圖1所示。
圖1. /device/000:005:00.2/vmkname =
根據服務器中網卡的數目,你可能有十幾個不同的條目。實際上,可以為設備貼上一個PCI總線ID標簽。
第二部分是:
/net/pnic/child[0012]/name = "vmnic6"
/net/pnic/child[0013]/mac = "xx:xx:xx:xx:xx:xx"
/net/pnic/child[0013]/virtualMac = "xx:xx:xx:xx:xx:xx"
第二位是VMNIC(VMware的以太網卡術語) 分配的MAC地址,我在例子中已經用“x”取代。修復基本上包含改變網卡數字來復制原始布局或PCI總線最初的情況。
雖然工作量很大,但我認為值得一試。如果在這個階段制造混亂,可能導致出現無形的網絡端口和其他各種問題。還要注意,要在每個受影響的主機上重復這個過程。不要在主機之間復制和粘貼這個文件,因為它不會起作用,反而會破壞你的安裝過程。
根據經驗,最好的修復方法是首先確保你的帶外管理工作正常。這樣,即使無法訪問,你仍然可以通過遠程控制臺訪問。
接下來,移除所有其它電纜。有一點要注意,車載網絡端口總是會在第一位枚舉,因此,它們不會受到這個問題的影響。在一個理想環境中,應該至少有一個管理網卡位于主板網卡。通過這種方式,你可以啟動vSphere客戶端并查看網絡以及損壞的網絡交換機。
完成上述操作,分別插入一個網卡,記下vSphere客戶端網絡適配器頁面出現的內容。假設你在環境中使用了VLAN,確定正確電纜網卡的過程非常簡單。你應該可以通過它們提供的VLAN類型識別哪些網卡已經切換。
圖2. 識別網卡
想要校準網卡,使用PuTTY SSH客戶端編輯(/etc/vmware/esx.conf)文件并定位錯位的網卡位置。然后,找出它的正確位置。例如,如果你的VMNIC 6顯示了VMNIC 2的正確位置,正如前面詳述的,仔細檢查esx.配置文件和盡早地發現設備ID:
/device/000:005:00.2/vmkname = "vmnic6"
發現后用下面語句進行替代:
/device/000:005:00.2/vmkname = "vmnic2"
我發現,為了確保它正常工作并完成跟蹤,每次配置更改后都要重新啟動。否則,它可能會使你的工作更加困難。重啟會要求服務器重讀esx.conf文件。一旦你有了正確的設置方法,就重復這個過程。
同樣的,如果在幾個服務器上有相同的配置,你可以加速這一過程,找出以太網不匹配的情況。這樣,一旦完成并確認了一部分,每個VMNIC更改后便無需啟動。