如何校準PCI匯流排布局?

2021-09-23 06:35:47 字數 2339 閱讀 8501

在乙個高度結構化和精心設計的大環境中,基礎設施和佈線布局是非常重要的,特別是要符合行業標準。一旦解決了所有微小的設計問題,行業標準就會變成**標準,因為它適用於各個階段並且能保證系統穩定執行。

那麼伺服器按照定義好的標準接上乙太網線又如何呢?從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更改後便無需啟動。

PCI匯流排學習(二) PCI匯流排仲裁

幻燈片 9 在一定時間內,可能有多個bus master請求使用匯流排傳輸資料,每個請求匯流排的master都會assert它的req 訊號,來告訴仲裁器他要申請使用匯流排,仲裁器一般整合於晶元組中。幻燈片 10 如果仲裁器是可程式設計的,啟動配置軟體可以通過讀取max lat配置暫存器來決定每個b...

PCI匯流排(二)

pci網絡卡驅動程式分析 針對 gnic ii 的千兆乙太網卡,源程式檔案 drivers net hamachi.c 1 初始化 static int init hamachi init void 進入bus add driver int bus add driver struct device ...

pci匯流排定時協議 PCI匯流排標準及協議

首先?pagenum physaddress 另外。因為硬體裝置讀寫的是物理記憶體。舉例如下。專用晶元可以實現完整的pci主裝置與從裝置模式的介面功能?vpicd physically unmask rtcirqhandle ram晶元為資料處理提供快取功能,但各協議互不相容,而且各狀態的跳轉條件比...