簡介
本文說明如何為常見作業系統在思科統一計算系統(UCS)上安裝裝置驅動程式。
必要條件
需求
思科建議您瞭解以下主題:
- Cisco UCS管理器
- 思科整合式管理控制器(CIMC)
- 虛擬機器軟體(VMware)、Windows Server或Linux作業系統(OS)
採用元件
本檔案中的資訊是根據以下硬體平台:
"本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。」
背景資訊
驅動程式定義
裝置驅動程式是作業系統與硬體之間的介面的軟體。裝置驅動程式將一般的OS命令轉換為特定裝置的專用命令,從而允許OS與硬體裝置通訊。
需要驅動程式的裝置
以下是需要裝置驅動程式的硬體裝置清單:
- 乙太網路介面卡(ENIC)
- 光纖通道網路介面卡(FNIC)
- 獨立磁碟冗餘陣列(RAID)控制器
- 主機板晶片集
- 顯示卡
- 可信平台模組(TPM)
驅動程式與韌體
裝置驅動程式與韌體不同。裝置驅動程式軟體安裝在作業系統上,而韌體是安裝在硬體裝置上的低級代碼。韌體儲存在非易失性儲存器,例如ROM、可擦除可程式設計ROM(EPROM)或快閃記憶體中。
驅動程式對韌體的依賴
裝置驅動程式對裝置韌體的依賴性很強。裝置驅動程式必須與硬體裝置的韌體級別相容,以便它們能夠正確地相互通訊;驅動程式和韌體功能必須匹配才能進行正確的操作。
必須安裝和更新驅動程式時
裝置驅動程式預安裝在作業系統(如Cisco OEM VMware ESXi映像)上,或者可以在作業系統安裝後手動安裝。
通常,在下列步驟之後需要更新裝置驅動程式:
需要的驅動程式版本
UCS硬體和軟體互操作性清單概述了特定作業系統、裝置和韌體組合所需的驅動程式版本。
警告:矩陣中列出的驅動程式版本已經過思科工程品質保證團隊的測試和驗證,因此安裝正確的驅動程式至關重要;否則,會出現可能導致網路中斷的意外行為。
此示例顯示,對於在UCS 3.2.2版上運行ESXi 6.0 U3的虛擬介面卡(VIC)1240的B200 M4,需要1.6.0.36版的FNIC驅動程式。
下載驅動程式捆綁包
完成以下步驟,即可下載驅動程式套件組合:
- 在Web瀏覽器中,導航至https://www.cisco.com
- 在Support下,按一下「Download Software」。
- 按一下「Unified Computing and Servers」。
- 選擇您的伺服器。Cisco UCS驅動程式可用於Cisco UCS B系列刀片服務器和Cisco UCS C系列機架安裝。
- 按一下Unified Computing System(UCS)Drivers。
- 選擇要下載的套件組合,然後按一下「Download Now」。
提示:選擇要下載的驅動程式捆綁包時,必須選擇與伺服器韌體版本最相似的驅動程式捆綁包版本。例如,如果運行UCS-B版本3.2(2b),則需要VMware驅動程式套件ucs-bxxx-drivers-vmware.3.2.2.iso。
提示:大多數VMware ESXi驅動程式直接從VM Ware下載,並搜尋驅動程式版本。這通常比下載整個驅動程式捆綁包的速度更快。
確定伺服器硬體
在選擇正確的驅動程式之前,必須確定伺服器上安裝了哪些硬體裝置。 本節介紹如何查詢UCS Manager和CIMC中的裝置。
UCS B系列
此示例說明如何在UCS Manager中查詢伺服器清單。伺服器1/1安裝了兩個介面卡型號:VIC 1240。
UCS C系列
此示例說明如何在CIMC中查詢伺服器硬體裝置。伺服器安裝了Cisco12G ModularSAS HBA RAID控制器。
確定UCS韌體版本
在選擇正確的驅動程式版本之前,必須識別UCS版本。本節介紹如何識別伺服器上安裝的當前UCS版本。
UCS B系列
在本示例中,UCS B系列運行UCS版本4.1(3h)
UCS C系列
在本示例中,UCS C系列運行UCS版本4.1(2f)。
作業系統具體資訊
本節介紹如何檢查驅動程式版本以及如何將驅動程式安裝到常見作業系統上。
VMware ESXi
使用以下命令檢查當前驅動程式版本和VMware內部版本:
提示:這些命令是從ESXi CLI執行的。在啟動SSH會話之前,必須啟用安全外殼(SSH)。
指令 |
說明 |
vmware -vl |
顯示VMware版本和修補程式級別 |
esxcli software profile get |
顯示安裝ISO的風格 |
esxcfg-scsidevs -a |
列出主機HBA和相關聯驅動程式名稱 |
esxcfg-nic -l |
列出主機虛擬機器和網路介面卡(NIC)型號 |
ethtool -i vmnicX |
顯示指定vmnic使用的乙太網驅動程式 |
esxcli network nic get -n vmnicX |
顯示ESXi 6.5上指定的vmnic使用的乙太網驅動程式 |
vmkload_mod -s fnic |
顯示Cisco VIC的主機匯流排介面卡(HBA)驅動程式版本 |
vmkload_mod -s引擎 |
顯示Cisco VIC的乙太網驅動程式版本 |
vmkload_mod -s nenic |
顯示Cisco VIC for ESXi 6.5及更高版本的乙太網驅動程式版本 |
vmkload_mod -s megaraid_sas |
顯示LSI MegaRAID驅動程式版本 |
vmkload_mod -s lsi_mr3 |
顯示LSI lsi_mr3驅動程式版本(ESXi 6.7上的本機驅動程式) |
vmkload_mod -s驅動程式名稱 |
顯示指定驅動程式的驅動程式版本 |
這些示例顯示vmnic2使用Cisco VIC和驅動程式版本1.4.2.15a。
這些示例顯示,Qlogic主機匯流排介面卡(HBA)使用qla2xxx驅動程式901.1k.1-14vmw版。
安裝驅動程式
完成以下步驟即可安裝驅動程式:
- 解壓驅動程式zip檔案的內容,並識別*.vib檔案。
- 使用Datastore瀏覽器將*.vib檔案上傳到ESXi主機資料儲存。
- 將主機進入維護模式。
- 安裝驅動程式。
ESXi 5.x/6.x
使用以下命令在ESXi版本5.x/6.x上安裝驅動程式:
esxcli software vib install –v /path/async-driver.vib
註:如果驅動程式需要簽名驗證,請用—no-sig-check開關運行此命令。確保使用檔案的完整路徑。
ESXi 4.x
使用以下命令在ESXi版本4.x上安裝驅動程式:
esxupdate --bundle=offline-bundle.zip update
完成安裝
使用上述命令之一安裝驅動程式後,請退出Maintenance模式並重新啟動主機。有關如何安裝驅動程式的更多資訊,請參考本文檔末尾的相關資訊部分。
有用的VMware CLI命令
以下是安裝驅動程式時可以使用的其他一些有用VMware命令:
檢查維護模式狀態
vim-cmd hostsvc/hostsummary | grep -i maintenace
檢查已開啟電源的VM
vim-cmd vmsvc/getallvms
關閉VM
vim-cmd vmsvc/power.off <vm id>
進入維護模式
vim-cmd hostsvc/maintenace_mode_enter
退出維護模式
vim-cmd hostsvc/maintenace_mode_exit
Microsoft Windows Server
本節介紹如何在Microsoft Windows伺服器上安裝驅動程式。
檢查當前驅動程式版本
若要檢查Microsoft Windows中的裝置驅動程式,請使用「控制面板」中的「Device Manager」。
檢查當前驅動程式版本CLI
對於Windows Server Core,即插即用(PnP)實用程式(PNPUtil.exe)用於檢查驅動程式版本。
缺少驅動程式
缺少驅動程式的硬體裝置顯示在裝置管理器中,帶有黃色問號。必須用正確的驅動程式更新這些裝置,以防止意外行為。
安裝驅動程式
要在Microsoft Windows中安裝或更新驅動程式,請按一下右鍵該裝置,然後選擇安裝/更新驅動程式以啟動安裝嚮導。
從CLI安裝驅動程式
PNPUtil工具還可用於從CLI安裝驅動程式。驅動程式的ISO捆綁包可以通過UCS KVM控制檯虛擬媒體安裝。
有用的Windows CLI命令
指令 |
說明 |
pnputil.exe -e |
列出所有已安裝的第三方驅動程式 |
pnputil.exe -a <INF名稱> |
安裝驅動程式 |
pnputil.exe -d <INF名稱> |
刪除驅動程式 |
pnputil.exe -f -d <INF名稱> |
強制刪除驅動程式 |
|
|
Red Hat和SUSE Linux
本節介紹如何在Red Hat Enterprise Linux(RHEL)和SUSE Linux Enterprise Server(SLES)上安裝並驗證驅動程式。
SUSE背景資訊
從SLES 12 SP1開始,Cisco eNIC和usNIC驅動程式捆綁到單個RPM中(與在其他Linux發行版中打包為不同的RPM相比)。由於在SLES 12 SP1及更高版本中如何管理核心模組依賴關係,因此需要將兩個驅動程式捆綁到單個RPM中。如果您未使用Cisco usNIC功能(例如,如果您尚未在UCSM/CIMC中調配任何usNIC裝置),則實際上會忽略usNIC驅動程式。
eNIC和usNIC驅動程式具有各自不同的版本號。如果在SLES 12 SP 1或更高版本上安裝cisco-enic-usnic RPM,則一旦這些驅動程式載入到正在運行的核心(例如,通過重新啟動),請使用cat /sys/module/enic/version和cat /sys/module/usnic_verbs/version檢視各自的版本號。Cisco-enic-usnic RPM也有其自己的不同版本號。由於它代表eNIC和usNIC驅動程式的打包,因此RPM版本號看起來相似,但不反映任何一個驅動程式的具體版本。
有關確切的驅動程式版本的其他資訊,請查詢並檢視「RPM描述」部分。該查詢類似於以下示例:
# rpm -qip cisco-enic-usnic-kmp-default-
.x86_64.rpm
Name : cisco-enic-usnic-kmp-default Relocations: (not relocatable)
...
Summary : Cisco VIC Ethernet NIC drivers
Description :
This RPM contains both the Cisco VIC Linux Ethernet driver (enic.ko, version
) and
the Cisco Userspace NIC (usNIC) Linux Ethernet driver (usnic_verbs.ko, version
).
Some Linux distros require both kernel modules to be in the same RPM in order to properly test for
symbol compatibility (because usnic_verbs.ko depends on enic.ko) when installing into post-GA
upgrade kernels.
驗證當前驅動程式版本和作業系統版本
以下是用於檢查當前驅動程式版本和作業系統版本的命令清單:
指令 |
說明 |
modinfo driver_name |
顯示下次重新啟動時載入的指定驅動程式的驅動程式版本(預設) |
modinfo /path/to/driver_name.ko |
顯示指定驅動程式核心對象檔案的驅動程式版本 |
cat /sys/module/enic/version |
顯示Cisco VIC介面卡的運行Linux核心中當前載入的乙太網驅動程式版本 |
cat /sys/module/fnic/version |
顯示當前在運行Linux核心中為Cisco VIC介面卡載入的FC NIC驅動程式版本 |
cat /sys/module/megaraid_sas/version |
顯示當前在運行Linux核心中載入的LSI MegaRAID驅動程式版本 |
lsmod -l |
列出核心中當前載入的驅動程式 |
cat /etc/redhat-release |
顯示RHEL版本(適用於RHEL 6.x及更低版本) |
cat /etc/SuSE版本 |
顯示SUSE版本(適用於SLES 11 SP3及更早版本) |
cat /etc/os-release |
顯示RHEL版本(用於RHEL 7.x及更高版本以及SLES 11 SP4及更高版本) |
uname -a |
顯示核心相關資訊 |
注意:請注意命令modinfo [ driver name ] 顯示有關下次重新啟動時載入的驅動程式的模組資訊。這不一定是當前載入到正在運行的核心中的相同驅動程式版本。檢視cat/sys/module/DRIVER_NAME/version以驗證當前運行的核心中載入的驅動程式版本,和/或使用命令modinfo [ /path/to/driver.ko ]以驗證特定驅動程式核心對象檔案的模組資訊。
提示:有關其他常用驅動程式名稱的示例,請參閱附錄中的驅動程式名稱參考表。
此示例顯示,SLES 15 GA上安裝了cisco-enic-usnic RPM軟體包3.2.272.23中捆綁的3.2.210.18-738.12版ENIC驅動程式。
# cat /etc/os-release
NAME="SLES"
VERSION="15"
VERSION_ID="15"
PRETTY_NAME="SUSE Linux Enterprise Server 15"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15"
# rpm -qa | grep enic
cisco-enic-usnic-kmp-default-3.2.272.23_k4.12.14_23-738.12.x86_64
# modinfo enic | grep ^version
version: 3.2.210.18-738.12
# cat /sys/module/enic/version
3.2.210.18-738.12
安裝驅動程式
使用Redhat軟體包管理器(RPM)安裝RHEL和SLES中的驅動程式。 使用以下命令以安裝驅動程式:
# rpm -ihv RPM_filename.x86_64.rpm
提示:在Linux中安裝驅動程式時,請確保檢視與驅動程式相關聯的自述檔案(如果可用)。您可以檢視RPM的內容以檢視其關聯的README檔案的安裝位置(rpm -qp kmod-enic)。 某些RPM驅動程式包依賴於其他模組,因此需要安裝額外的RPM包。自述檔案包含有關如何安裝驅動程式檔案的完整說明。
附錄
驅動程式名稱引用表
此表顯示常用驅動程式的驅動程式名稱或字首。
指令 |
說明 |
enic |
Cisco VIC乙太網絡卡 |
fnic |
Cisco VIC FC NIC |
qle或qla |
Qlogic介面卡 |
lpfc |
Emulex HBA(光脈衝) |
be2net |
Emulex乙太網NIC |
igb或ixgbe |
英特爾NIC |
bnx |
Broadcom介面卡 |
megaraid |
LSI MegaRAID |
大馬斯 |
嵌入式軟體RAID |
nenic |
適用於ESXi 6.5的Cisco VIC乙太網絡卡 |
相關資訊