在實際管理和使用VMWare vSphere虛擬平臺時,可能會遇到和網絡配置相關的故障。例如,某臺ESXi主機出現網絡連接異常,包括網絡通訊時斷時續或者瞬間中斷等。解決方法是,進入ESXi主機的DCUI接口下執行“ping xxx.xxx.xxx.xxx”命令,其中的“xxx.xxx.xxx.xxx”為別的ESXi主機的IP,來檢測網絡的連通性。如果Ping探測成功,說明在物理層面沒有明顯的問題。因為在執行Ping探測時,實際上是從虛擬交換機的VMkernel端口發送出去的,數據包經過物理網卡,再到達外部的物理交換機上。Ping檢測成功,說明這些環節沒有問題。
如果探測失敗,并且經檢測硬件并不存在故障的話,就需要按照特定的流程進行逐級的排查。既然是EXSi主機出現網絡故障,就必須先從ESXi主機配置入手檢測。例如,檢測EXSi主機的管理網絡是否存在配置錯誤,物理網卡的雙工速率和物理交換機不匹配,網卡到交換機之間網線存在斷路,NIC Teaming(多網卡綁定實現負載均衡)的策略存在問題(例如將其負載均衡策略設置為IPHash,但是上行交換機沒有配置與之對應的端口組聚合等)等情況時,都可能出現網絡連接不通暢的問題。
當排除了ESXi主機可能潛在的問題后,接下來就需要對物理網絡進行檢測,例如網卡是否存在兼容性問題、網絡設備是否存在硬件故障,網絡性能是否穩定等。一般來說,EXSi主機自身配置的問題,導致網絡連接異常的概率較大。
在其本機命令行界面中執 行“exxcfg-vswitch –l”命令,來檢測標準網絡交換機、網卡和端口組的配置信息,據此可以檢測其是否存在問題。執行“esxcli network vswitch standard portgroup list”命令,對標準虛擬交換機端口組的VLAN ID的配置信息進行查看和檢測。執行“esxcfg-nics -l”命令,來檢查網卡的速率和雙工模式,以及網絡連接狀態信息。如果其處于“Down”狀態,說明鏈路層存在問題。
根據檢測到的故障點,可以有針對性地執行對應的修正命令,來處理不同的故障問題。
當檢測到vSS虛擬交換機存在問題,可以執行“esxcfg-vswitch -a xxx”命令,來添加新的虛擬交換機,其中的“xxx”為其名稱(以下與之相同)。
當檢測到端口組出現問題,可以執行“esxcfgvswitch -A zzz xxx”命令,在目標交換機上來添加名為“zzz”的端口組。
如果是上行鏈路的問題,可以執行“esxcfg -vswitch-L vmnicx xxx”命令,來添加名為“vmnicx”的網卡編號,來創建新的上行鏈路。
如果是端口組的VLAN存在問題,可以執行“esxcli network vswitch standard portgroup set -p zzz –v vlanid”命令,修改標準虛擬交換機上指定端口組的VLAN ID,其中的“vlanid”參數為具體的ID編號。
如果網卡的速率或雙工模式異常,可以執行“esxcfg-nics -d duplex -s speed vmnicx”命令,來對特定的網卡設定合適的速率和雙工模式,其中的“speed”參數為速率值,“duplex”參數為雙工模式。
如果是網絡連接狀態處于“Down”狀態,就需要檢測網卡連接情況,將其調整到物理交換機的合適端口上。如果可以Ping通別的EXSi主機,而且網絡連接配置都不存在問題,就要考慮到可能是NIC Teaming策略配置存在問題。
在端口組屬性編輯窗口左側選擇“Teaming and failover”項,在 右 側 的“Load balancing”列表中查看選擇的策略項目。如果選擇的是“Route based on IP hash”項,但是物理交換機機沒有配置與之對應的端口組聚合,就會導致問題的發生。可以選擇“Route based on originating virtual port”項,進行策略的調整。如果排除了虛擬層面的問題,那就需要確定網絡故障是否由硬件故障導致的。
執行“esxcfg-nics -l”命令,來查看網卡的型號等信息。之后登錄到VMWare的官網上查看HCL列表信息,來確定其兼容性是否符合要求。執行“lspci -p”命令,在返回信息中會顯示相關的網卡是否處于異常狀態,來檢測是否因為硬件導致的故障。如果ESXi主機出現網絡連接時斷時續等情況,有可能是因為網絡堵塞等問題造成其性能過低引發的。執行“esxtop”命令,打開網絡信息查看界面,可以查看和管理網絡,物理網卡,虛擬機對應的網絡連接情況,包括網絡傳輸和接收速率等。如果對域高速局域網來說,實際的傳輸速率很低的話,就說明網絡性能較低,需要深入檢測并排除相關問題,恢復網絡的正常性能。此外,使用“resxtop”命令也可以查看網絡運行信息。