概要
このドキュメントでは、インストールまたはアップグレード後にCisco Unified Computing Solutions(UCS)Virtual Interface Card(VIC)ドライバがSUSE Linux Enterprise 12で認識されない場合の問題のトラブルシューティング方法について説明します。
前提条件
Cisco UCS仮想インターフェイスカードドライバのインストールまたは更新プロセスは、『Linux用のCisco仮想インターフェイスカードドライバのインストールガイド』に記載されている手順に従います。
要件
次の項目に関する知識があることが推奨されます。
- SUSE Linux Enterprise Administration
使用するコンポーネント
このドキュメントは、Cisco UCS VICドライバおよびSUSE Linux Enterprise(SLES)12 SP1に限定されています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Cisco UCS仮想インターフェイスカード(VIC)ドライバは、サポートされているオペレーティングシステムとCisco UCS仮想インターフェイスカード間の通信を促進します。Cisco UCS VICドライバISOバンドルには、eNICおよびfNICドライバが含まれています。
eNICドライバは、Cisco UCS VICイーサネットNICに使用されます。fNICドライバは、Cisco UCS VIC Fibre Channel over Ethernetホストバスアダプタ(HBA)に使用されます。
問題
特定の状況では、Redhat Package Manager(RPM)のeNICおよびfNICドライバのインストールは正常に終了しますが、ドライバはSLES 12 SP1 Linuxカーネルによってロードされません。ご使用の環境でドライババージョンが異なる可能性があり、インストールされているUCSリリースに依存しています。
注:詳細については、不具合CSCvd50252を参照してください。
ドライババージョンの確認
RPMによってインストールされたドライバのバージョンを確認します。
(root) # rpm -qa -last |grep cisco
cisco-fnic-kmp-default-1.6.0.34_k3.12.49_11-1.x86_64 Tue 03 Oct 2017 10:32:32 AM EDT
cisco-enic-usnic-kmp-default-3.0.40.534.534.0_k3.12.49_11-1.x86_64 Fri 04 Aug 2017 06:06:39 PM EDT
次に、Linuxカーネルドライバモジュールバージョンを確認します。
(root) # modinfo enic | grep ^version
version: 2.1.1.83
(root) # modinfo fnic | grep ^version
version: 1.6.0.17
この例では、RPMによってインストールされ、カーネルによってロードされたバージョン間でドライバのバージョンが一致していないことがわかります。
解決方法
UCSリリース3.1(3a)以降
Cisco UCSリリース3.1(3a)以降では、新しいドライバが組み込まれ、コンボドライバとしてリリースされます。ドライバは、UCS Drivers ISOバンドルフォルダ/Drivers/Linux/Network/Cisco/VIC/SLES/SLES12.X/usNICから入手できます。
コンボドライバのインストールプロセスについては、『Cisco Virtual Interface Card Drivers for Linuxインストールガイド』を参照してください。コンボドライバのインストールが終了した後、Linuxカーネルモジュールも最新です。
3.1(3a)より前のUCSリリース
他の依存関係により、新しいUCSリリースをすぐに適用できない場合があります。VICドライバを正常にインストールするには、次の回避策を適用します。
このドキュメントの『Cisco UCS Virtual Interface Card Drivers for Linux Installation Guide(Cisco UCS仮想インターフェイスカード(VIC)』の手順に従って、ソースtarballからドライバをコンパイルしてください。
eNICおよびfNICモジュールファイルを新しいLinuxカーネルモジュールフォルダに手動でコピーします。
(root) # cp /lib/modules/3.12.49-11-default/updates/enic.ko /lib/modules/3.12.67-60.64.21-default/updates/
(root) # cp /lib/modules/3.12.49-11-default/extra/cisco-fnic-sles12/fnic.ko /lib/modules/3.12.67.21-default/weak-updates/extra/cisco-fnic-sles12/fnic.ko
その後、モジュールマップファイルを再生成し、initramfsを生成する必要があります。
(root) # depmod
(root) # mkinitrd
mkinitrdコマンドの出力に示されている指示に従ってください。
確認
ドライバのインストールが正常であることを確認します。この例では、rpmとkernel moduleドライバのバージョンが一致するため、eNICドライバは2.3.0.40、fNICドライバは1.6.0.25になります。
(root) # for i in enic fnic ; do echo; echo "$i rpm version" ; echo ; rpm -qa| grep $i ; echo ; echo " $i driver version";echo; modinfo $i |grep ^version ;echo ;done
enic rpm version
cisco-enic-usnic-kmp-default-3.0.40.534.534.0_k3.12.49_11-1.x86_64 Fri 04 Aug 2017 06:06:39 PM EDT
enic driver version
version: 2.3.0.40
fnic rpm version
cisco-fnic-kmp-default-1.6.0.34_k3.12.49_11-1.x86_64 Tue 03 Oct 2017 10:32:32 AM EDT
fnic driver version
version: 1.6.0.34
関連情報
Cisco UCSハードウェアおよびソフトウェア互換性ツール