2020-12-21に更新

LinuxサーバにNICのドライバをインストールした話

作業背景

昔、HPE製のタワー型サーバをキッティングした時の話
- 設計段階でNICがテキトーに選定された為、標準搭載のNICと、追加したNICがそれぞれ別の製造元だった。
誰がそんなテキトーしたのか?自分自身である。

  • 標準搭載されていたNICはBroadcom製 追加したNICはIntel製
    サーバにはIntel製NICのドライバが入っていなかった。

作業環境

  • タワー型サーバ ML30Gen10
  • OS       CentOS7.4

作業手順

1.NICの製造元とコントローラを確認する
NICの情報を確認する手段はいくつかあるが、複数NICのインターフェース名も確認したかった為、ここではnmcliコマンドを使っている。

$ nmcli

※作業当時のサーバにはそもそもインストールされていなかった為、確認していなかったが、インターフェースのドライバ情報(ドライバ名、バージョン)等はethtoolコマンドで確認できる。

$ ethtool -i <インターフェース名>

2.必要なパッケージをインストールする

$ sudo yum install -y wget                #ドライバのダウンロードに使用
$ sudo yum install -y rpm-build           #ダウンロードしたドライバのコンパイルに使用
$ sudo yum install -y kernel-devel        #コンパイルする時に必要なヘッダファイル等をインストールする

kernel-develをインストールしたら、一度再起動する。

$ sudo reboot

3.ドライバをダウンロードする

$ mkdir /home/user/Downloads        #ダウンロード先を用意する
$ cd /home/user/Downloads           #ダウンロードフォルダに移動
$ wget https://sourceforge.net/projects/e1000/files/igb%20stable/5.3.5.36/igb-5.3.5.36.tar.gz   #NICのベースドライバ
$ wget https://sourceforge.net/projects/e1000/files/e1000e%20stable/3.5.1/e1000e-3.5.1.tar.gz   #当時最新のPCIe用のネットワークアダプタドライバ

4.ダウンロードしたドライバをrpmパッケージにコンパイルする

$ rpmbuild -tb --clean igb-5.3.5.36.tar.gz
$ rpmbuild -tb --clean e1000e-3.5.1.tar.gz

rpmbuildは、設定を変更せずにコンパイルを実行すると、デフォルトで$HOME/rpmbuildディレクトリ以下を生成するので移動する。

$ cd /home/user/rpmbuild/RPMS/x86_64

5.ドライバをインストールする

$ rpm -ivh igb-5.3.5.36.x86_64.rpm

6.ネットワークを再起動する

$ sudo systemctl restart network

ネットワークの再起動後、LANケーブルを挿してNICが認識されることを確認したら終了。

ツイッターでシェア
みんなに共有、忘れないようにメモ

Nata

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント