CentOS 5.xを実行するHP Proliant 460cブレードサーバーを持っています。何らかの理由で、CentOSはETH0のMACアドレスを何か(18:a9:05:71:xx:xc)と見なしていますが、オンボード管理者でそのMACを見つけることができません。実際、オンボード管理者に表示されるMACアドレスを使用してそれをNIC(/ etc/sysconfig/network-script/ifcfg-eth0の下)にハードコードしようとすると、エラーが発生します。
デバイスeth0のMACアドレスが予想と異なります。
システムがMACアドレスに表示するものをどこで確認できますか? ifconfig -aは「正しくない」ものを表示します。
CenTOSホストでは、ifconfigの結果にこれが表示されます(無害なものを保護するために少し変更されています)。
eth0 HW 18:a9:05:71:xx:xc
eth0:0 HW 18:a9:05:71:xx:xc
eth1 HW 18:A9:05:71:xx:xd
eth1:0 HW 18:A9:05:71:xx:xd
eth2 HW F4:CE:46:8X:XX:40
eth3 HW F4:CE:46:8X:XX:44
18:a9 MACアドレスがどこから来ているのかわかりません。
サーバーに属するデバイスベイのポートマッピングを確認すると、次のように表示されます。
Mezzanine Device Port: ENET1
Device ID: d4:85:64:49:xx:x8
Mezzanine Device Port: iSCSI Port 1
Device ID: F5:CE:46:83:xx:x1
Mezzanine Device Port: ENET2
Device ID: d4:85:64:49:xx:xc
Mezzanine Device Port: ISCSI Port 2
Device ID: F5:CE:46:xx:xx:x1
私も見る
Mezzanine Device Port: Port 1
Device ID: d4:85:64:xx:xx:be
Mezzanine Device Port: Port 2
Device ID: d4:85:64:xx:xx:bf
それらはどれも、CentOSがそこにあるべきであると考えるMACに関係しないことに注意してください。 CentOSも完全に再インストールしましたが、問題は解決しません。そのため、システム上の何かがCentOSにMACを使用するように指示しているようですが、どこにあるのかわかりません。
これは、HPブレードシャーシのセットアップに固有の機能です。これはブレードサーバーであるとのことですが、ブレードシャーシにHP Virtual Connectモジュールがインストールされているかどうかはわかりますか?これらは、パススルーイーサネットアップリンクの代わりによく使用され、ブレードネットワークの統合と仮想化に役立ちます。
Virtual Connectモジュールがある場合は、Virtual Connect Managerでサーバープロファイルを確認してください。 Virtual Connectを使用してサーバーのMACアドレスを管理するオプションがあります。機能の説明については、 Virtual Connectインストールガイド の64ページを参照してください。
各サーバーブレードイーサネットNICは工場出荷時のデフォルトMACアドレスで出荷されます。MACアドレスは、他のデバイスへのイーサネットインターフェイスを一意に識別する48ビットの番号ですハードウェアはデフォルトのMACアドレスで出荷されますが、サーバーがそのVirtual Connectエンクロージャーに残っている間、バーチャルコネクトは工場出荷時のデフォルトMACアドレスを上書きするMACアドレスを割り当てることができます。
掲載されている他の回答は確かに物理ラック/タワーサーバーの複数のNICSに適用されますが、HPブレードソリューションは非常に特殊なケースです。
通常、これはudev
が原因です。
/etc/udev/rules.d/70-persistent-net.rules
を削除します
次に、イーサネットドライバー(モジュール)をアンロードしてロードするか、再起動します。これらのコマンドを試してドライバ名を見つけることができます
dmesg | grep 'Ethernet driver'
grep 'Ethernet driver' /var/log/dmesg
grep eth0 /etc/modules.conf
次に、モジュール名(例:e1000e
)を実行したら、
modprobe -r e1000e
modprobe e1000e
ifdown eth0
ifdown eth0 (again!)
ifup eth0
NICおよびMACアドレスを再検出するためにudev
を要求する必要があります。Macアドレスに合わせて/etc/sysconfig/network-scripts/ifcfg-eth0
の内容を更新する必要がある場合があります。
私のドキュメントからコピー:
これを格納するOSの部分は、udev構成にあります。この構成を編集:vi /etc/udev/rules.d/70-persistent-net.rules
古いMACアドレス(メモしたばかりのアドレスではない)に関連する行を見つけて削除します。
新しいデバイスに対応する行には、おそらくeth1
ではなくeth0
と記載されています。 eth0
に置き換えます。
再起動(新しい設定を有効にする最も簡単な方法)
ifup
を使用してeth0を起動しようとすると、MACアドレスが予期したものではないというメッセージが表示されます。驚き! MACアドレスは、デバイスのネットワークスクリプトにも保存されます。ネットワークスクリプトを編集します:vi /etc/sysconfig/network-scripts/ifcfg-eth0
正しいMACアドレスを反映するようにHWADDR
行を変更します
ここにいる間に、有効なIPアドレスを設定します。何が利用可能かわからない場合はnmap
を使用してください
これでインターフェイスを起動できます:ifup eth0
更新することを忘れないでください:yum update