はじめに
このドキュメントでは、Cisco Unified Computing System(UCS)に一般的なオペレーティング システム用のデバイス ドライバをインストールする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco UCS Manager
- Cisco インテグレーテッド マネージメント コントローラ(CIMC)
- Virtual Machine-ware(VMware)、Windows サーバ、Linux オペレーティング システム(OS)
使用するコンポーネント
このドキュメントの情報は、次のハードウェア プラットフォームに基づくものです。
"このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。稼働中のネットワークで作業を行う場合は、コマンドが及ぼす潜在的な影響を十分に理解したうえで作業してください」
背景説明
ドライバの定義
デバイス ドライバとは、OS とハードウェアの間のインターフェイスであるソフトウェアのことです。デバイス ドライバは、一般的な OS コマンドを特定のデバイスに特化したコマンドに変換して、OS がハードウェア デバイスと通信できるようにします。
ドライバを必要とするデバイス
デバイス ドライバを必要とするハードウェア デバイスの一覧を示します。
- イーサネット ネットワーク インターフェイス カード(ENIC)
- Fibre Channel Network Interface Card(FNIC)
- 冗長ディスク アレイ(RAID)コントローラ
- マザーボード チップセット
- ビデオ カード
- トラステッドプラットフォームモジュール(TPM)
ドライバとファームウェアの比較
デバイス ドライバはファームウェアとは異なります。デバイス ドライバ ソフトウェアは OS にインストールされますが、ファームウェアはハードウェア デバイス上にインストールされた下位コードです。ファームウェアは、ROM、Erasable Programmable ROM(EPROM)、またはフラッシュ メモリなどの不揮発性メモリに保存されます。
ファームウェアに依存するドライバ
デバイス ドライバはデバイスのファームウェアに強く依存しています。デバイスドライバが互いに適切に通信するためには、デバイスドライバがハードウェアデバイスのファームウェアレベルに対応している必要があります。ドライバとファームウェアの機能が一致していなければ、正しく動作しません。
ドライバのインストールと更新が必要なとき
デバイス ドライバは、オペレーティング システム(Cisco OEM VMware ESXi イメージなど)とともに事前インストールされているか、または OS のセットアップ後に手動でインストールできます。
通常、デバイス ドライバは次の手順の後に更新する必要があります。
- UCS ファームウェア アップグレード
- 主要な OS アップグレード/パッチ適用
必要なドライバのバージョン
UCS ハードウェアとソフトウェアの相互運用マトリックスは、特定の OS、デバイス、ファームウェアの組み合わせに必要なドライバ バージョンを示しています。
警告:マトリックスに記載されているドライバのバージョンはCisco Engineering Quality Assuranceチームによってテストおよび検証されているため、正しいドライバをインストールすることが重要です。正しいドライバをインストールしないと、予期せぬ動作が発生し、ネットワークが停止する可能性があります。
この例は、UCSリリース3.2.2上でESXi 6.0 U3を実行する仮想インターフェイスカード(VIC)1240を搭載したB200 M4に対して、FNICドライババージョン1.6.0.36が必要であることを示しています。
ドライバ バンドルのダウンロード
ドライバ バンドルをダウンロードするには、次の手順を実行します。
- 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という2つのアダプタモデルがインストールされています。
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)を実行します。
OS の仕様
このセクションでは、ドライバ バージョンを確認する方法と、共通の OS にドライバをインストールする方法を説明します。
VMware ESXi
次のコマンドを使用して、現在のドライバ バージョンと VMware のビルドを確認します。
ヒント:これらのコマンドはESXi CLIから実行されます。SSH セッションが開始される前に、セキュア シェル SSH を有効にする必要があります。
コマンド |
説明 |
vmware -vl |
VMware のビルドおよびパッチ レベルが表示されます。 |
esxcliソフトウェアプロファイルの取得 |
インストールISOの種類を表示します |
esxcfg-scsidevs -a |
ホスト HBA および関連するドライバ名が一覧表示されます。 |
esxcfg-nics -l |
ホストの vmnics とネットワーク インターフェイス カード(NIC)のモデルが一覧表示されます。 |
ethtool -i vmnicX |
指定された vmnic によって使用されるイーサネット ドライバを表示します。 |
esxcliネットワークnic get -n vmnicX |
ESXi 6.5上の指定されたvmnicによって使用されるイーサネットドライバを表示します。 |
vmkload_mod -s fnic |
シスコ VIC のホスト バス アダプタ(HBA)ドライバ バージョンが表示されます。 |
vmkload_mod -s enic |
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 driver_name |
指定されたドライバのドライバ バージョンが表示されます。 |
次の例は、vmnic2 が シスコ VIC とドライバ バージョン 1.4.2.15a を使用することを示しています。
次の例は、Qlogic Host Bus Adapter(HBA)がドライバ qla2xxx バージョン 901.1k.1-14vmw を使用することを示しています。
ドライバのインストール
ドライバをインストールするには、次の手順を実行します。
- ドライバ zip ファイルの内容を解凍し、*.vib ファイルを特定します。
- データストア ブラウザを使用して、*.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
インストールの完了
前述のいずれかのコマンドを使用してドライバをインストールしたら、メンテナンス モードを終了して、ホストを再起動します。ドライバをインストールする方法については、このドキュメントの最後の「関連情報」を参照してください。
便利な 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 Server にインストールする方法について説明します。
現在のドライバ バージョンの確認
Microsoft Windows でデバイス ドライバを確認するには、コントロール パネルにあるデバイス マネージャを使用します。
現在のドライバ バージョン CLI の確認
Windows Server コアの場合、プラグ アンド プレイ(PnP)ユーティリティ(PNPUtil.exe)を使用して、ドライバ バージョンを確認します。
欠落しているドライバ
ドライバが欠落しているハードウェア デバイスは、黄色い疑問符が付けられてデバイス マネージャ表示されます。予期しない動作を防ぐために、これらのデバイスを正しいドライバで更新する必要があります。
ドライバのインストール
Microsoft Windows でドライバをインストールまたは更新するには、デバイスを右クリックして、[Install/Update Driver] を選択して、インストール ウィザードを開始します。
CLI からのドライバのインストール
また、PNPUtil ツールを使用して、CLI からドライバをインストールすることもできます。ドライバ ISO バンドルは UCS KVM コンソールの仮想メディアを使用してマウントできます。
便利な Windows CLI コマンド
コマンド |
説明 |
pnputil.exe -e |
インストールされているすべてのサード パーティ ドライバを一覧表示します。 |
pnputil.exe -a <INF name> |
ドライバをインストールします。 |
pnputil.exe -d <INF name> |
ドライバを削除します。 |
pnputil.exe -f -d <INF name> |
強制的にドライバを削除します。 |
|
|
Red HatおよびSUSE Linux
このセクションでは、Red Hat Enterprise Linux(RHEL)およびSUSE Linux Enterprise Server(SLES)にドライバをインストールして検証する方法について説明します。
SUSEの背景説明
SLES 12 SP1以降、Cisco eNICおよびusNICドライバは1つのRPMにバンドルされています(他のLinuxディストリビューションとは異なり、個別のRPMにパッケージされています)。SLES 12 SP1以降ではカーネルモジュールの依存関係を管理するため、両方のドライバを1つの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.
現在のドライババージョンとOSリリースの確認
現在のドライバ バージョンと OS リリースを確認するために使用するコマンドの一覧を示します。
コマンド |
説明 |
modinfo driver_name |
次回の再起動時に読み込まれる(既定で)指定されたドライバのドライババージョンを表示します |
modinfo /path/to/driver_name.ko(登録ユーザ専用) |
指定されたドライバカーネルオブジェクトファイルのドライババージョンを表示します |
cat /sys/module/enic/version |
Cisco VICアダプタの実行中のLinuxカーネルに現在ロードされているイーサネットドライババージョンが表示されます。 |
cat /sys/module/fnic/version |
Cisco VICアダプタの実行中のLinuxカーネルに現在ロードされているFC NICドライババージョンを表示します |
cat /sys/module/megaraid_sas/version |
実行中のLinuxカーネルに現在ロードされているLSI MegaRAIDドライババージョンを表示します。 |
lsmod -l |
カーネルに現在ロードされているドライバが一覧表示されます。 |
cat /etc/redhat-release |
RHELリリースを表示します(RHEL 6.x以前の場合)。 |
cat /etc/SuSE-release |
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 ]コマンドを使用して、特定のドライバカーネルオブジェクトファイルのモジュール情報を確認します。
ヒント:その他の一般的なドライバ名の例については、付録にある「ドライバ名の参照表」を参照してください。
この例は、cisco-enic-usnic RPMパッケージ3.2.272.23にバンドルされているENICドライババージョン3.2.210.18-738.12がSLES 15 GAにインストールされていることを示しています。
# 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
ドライバのインストール
RHELおよびSLESのドライバは、Redhat Package Manager(RPM)を使用してインストールされます。 次のコマンドを使用して、ドライバをインストールします。
# rpm -ihv RPM_filename.x86_64.rpm
ヒント:Linuxにドライバをインストールする際には、ドライバに関連するREADMEファイルがあれば必ず確認してください。RPMの内容を見ると、関連するREADMEファイルがインストールされている場所がわかります( rpm -qp kmod-enic)。 一部の RPM ドライバ パッケージは他のモジュールに依存関係があり、追加の RPM パッケージのインストールが必要です。README ファイルには、ドライバ ファイルのインストール方法に関する詳細な手順が含まれています。
付録
ドライバ名参照表
この表は、共通ドライバのドライバ名またはプレフィックスを示しています。
コマンド |
説明 |
enic |
Cisco VIC イーサネット NIC |
fnic |
Cisco VIC FC NIC |
qle または qla |
Qlogic アダプタ |
lpfc |
Emulex HBA(ライトの点滅) |
be2net |
Emulex イーサネット NIC |
igb または ixgbe |
Intel NIC |
bnx |
Broadcom アダプタ |
megaraid |
LSI MegaRAID |
メガサー |
組み込みSW RAID |
ネニック |
ESXi 6.5用Cisco VICイーサネットNIC |
関連情報