SUSE Linux Enterprise Serverを楽しむ! 3

ドライバの確認手順

ドライバの確認手順

 今回は、主に利用されるbnx2ドライバ、tg3ドライバ、e1000ドライバの対応状況を確認する手順を示します。まず、HP製ドライバが含まれるProLiant Support Packを任意のLinuxシステム上の/tmpに展開します。

# tar xzvf psp-8.00.sles10.x86_64.en.tar.gz -C /tmp/

 次に、PSP(ProLiant Support Pack)に含まれるNICドライバの存在するディレクトリに移動します。

# cd /tmp/compaq/csp/linux

 NICドライバbnx2、tg3、e1000ドライバのtar ballをそれぞれ下記コマンドで展開します。

# tar xzvf bnx2-1.7.1d-1.src.rpm.tar.gz
# tar xzvf tg3-3.81e-1.src.rpm.tar.gz
# tar xzvf e1000-7.6.9.1b-1.src.rpm.tar.gz

 NICドライバのtar ballに付属しているテキストファイルを読みます。

# less bnx2-1.7.1d-1.src.txt
# less tg3-3.81e-1.src.txt
# less e1000-7.6.9.1b-1.src.txt

 テキストファイルには、対応NIC、OSなどが記載されていますので、装着されているNICを確認します。もしインストール対象の物理NICが上記のテキストファイルに記載されている場合は、PSPに含まれるドライバが適用可能であることを意味します。図3はbnx2ドライバでサポートされるNICとOSを確認している様子です。

どのNICドライバが組み込まれているかの確認

 OSに付属しているNICドライバ、またはPSPに含まれるNICドライバを利用する際、どちらのドライバがインストールされており、現在どちらのNICドライバを使って動作しているのかを確認しておく必要があります。以下は、Broadcom社製NICを搭載したサーバ上で、NICインタフェースにbnx2ドライバが組み込まれているかどうかを確認する手順を紹介します。

 まず、bnx2 RPMパッケージがインストールされているか確認します。

# rpm -qa |grep bnx2 ←bnx2パッケージがインストールされれているか検索
bnx2-1.5.10d-2 ←bnx2-1.5.10d-2というバイナリがインストールされている

 bnx2 RPMパッケージがインストールされている場合は、ProLiant Support Packのbnx2ドライバがインストールされていることを意味します。

 次に、カーネルモジュールbnx2.koがどのRPMパッケージに所属しているかを確認します。

# cd /lib/modules/2.6.16.46-0.12-smp/kernel/drivers/net
# rpm -qf ./bnx2.ko ←bnx2.koがどのRPMパッケージに所属しているかを確認
kernel-smp-2.6.16.46-0.12 ←bnx2.koがkernel-smp RPMパッケージに所属している

 上記のようにbnx2.koがkernelのRPMパッケージに所属している場合は、bnx2ドライバはPSPではなくSLES10カーネル標準のものが利用されます。一方以下のように、bnx2 RPMに所属している場合は、PSPに付属しているbnx2ドライバが利用されます。

# cd /lib/modules/2.6.16.46-0.12-smp/kernel/drivers/net
# rpm -qf ./bnx2.ko ←bnx2.koがどのRPMパッケージに所属しているかを確認
bnx2-1.5.10d-2 ←bnx2.koがbnx2 RPMパッケージに所属している

 カーネルにbnx2モジュールがロードされているかを確認します。

# lsmod |grep bnx2 ←現在bnx2ドライバがロードされているか確認
bnx2 142700 0 ←bnx2がロードされていることが分かる

 NICにbnx2が割り当てられているかを確認します。SLES 10では、/etc/sysconfig/hardwareディレクトリ以下にあるhwcfg-bus-pci-という文字列で始まるファイルの中身を確認することで、PCIバス上に存在する物理NICとドライバの対応関係を確認することが可能です。

# cd /etc/sysconfig/hardware
# cat hwcfg-bus-pci-0000\:03\:01.1 |grep MODULE= ←ドライバの対応を確認
MODULE='bnx2' ←PCIバス0000:03:01.1に存在する物理NICに対してbnx2ドライバが対応

 さらに各インタフェースにbnx2がロードされているかを確認します。

# for j in seq 0 1; do ethtool -i eth$j; done ←ethtoolコマンドでeth0とeth1の情報を確認

 上記の例は、eth0とeth1に割り当てられているドライバを確認しているコマンドです。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る