ネットワークが起動しなくて焦った顛末
自宅サーバを綺麗にしてしっかい稼動させようとして、NIC追加してOSクリーンインストールしたらハマった顛末記録 > <
まぁ、最初からログ見とけや的なものもありますが、業務じゃないので、結構推測でやってたのがまずかったのかも。。。
自宅サーバは、HPのML110 G6でこれにIntelのGigabit EthernetのLANカードを増設してます。
接続スイッチはGiga対応のスイッチで、LANケーブルがなかったので、100Mbpsのもの使いました。
(これがハマった。。。)
導入OSはScientific Linux 6.2 x86_64です。
いつもどおり、Basic Server選択して、追加で開発ツールいれて、
さぁ設定開始と思ったら、Networkが立ち上がっていない。。。
あぁ、ONBOOTがYESになってないのねとか思ってまずは面倒なので、以下のように設定。
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" HWADDR="XX:XX:XX:XX:78:43" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO=dhcp
で、network restartしても、NGで返ってくる。。。orz
えぇーとか思って調査開始。
とりあえず、デバイスの情報の確認。
lspci -vvv | grep Ether 1e:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5723 Gigabit Ethernet PCIe (rev 10) 20:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
lsmod してtg3とかe1000eとかいたんで、ふむドライバは問題なさそう。
(ってかあるわけないよね。。。)
じゃあ、dmesgとsyslogみるかってことで。。。(時間あってないのは、NTP設定できてないからです。)
mesg |grep eth0 tg3 0000:1e:00.0: eth0: Tigon3 [partno(BCM95723) rev 5784100] (PCI Express) MAC address XX:XX:XX:XX:78:43 tg3 0000:1e:00.0: eth0: attached PHY is 5784 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0]) tg3 0000:1e:00.0: eth0: RXcsums[0] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1] tg3 0000:1e:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit] ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present tg3 0000:1e:00.0: eth0: Link is down ADDRCONF(NETDEV_UP): eth0: link is not ready ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present tg3 0000:1e:00.0: eth0: Link is down tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_UP): eth0: link is not ready tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready eth0: no IPv6 routers present
Jun 3 07:25:50 localhost kernel: lo: Disabled Privacy Extensions Jun 3 07:25:50 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready Jun 3 07:25:56 localhost kernel: ADDRCONF(NETDEV_UP): eth1: link is not ready Jun 3 07:26:04 localhost kernel: tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex Jun 3 07:26:04 localhost kernel: tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX Jun 3 07:26:04 localhost kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready Jun 3 07:37:42 localhost kernel: tg3 0000:1e:00.0: eth0: Link is down Jun 3 07:37:43 localhost kernel: tg3 0000:1e:00.0: eth0: Link is up at 100 Mbps, full duplex Jun 3 07:37:43 localhost kernel: tg3 0000:1e:00.0: eth0: Flow control is on for TX and on for RX
ふーん。。。じゃあ ethtoolでNICの状態調べてみる。
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 100baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes
え??100Mbpsのケーブルですけど、1000Mb/sで動いちゃうんですか??ってことで、speed設定をする。
ethtool -s eth0 speed 100 duplex full autoneg on
んで、確認。
ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 100baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes
うんうん。設定あった。で、network restartしたら見事に起動しますよっと。という話でした。
(通常GigaのLANケーブルが無いとかがないですもんね。。。)
このままだと、再起動すると設定消えるので、このまま使い続けるなら、ifcfg-eth0に以下の設定いれないといけないという未来の自分へのメモ。
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ... ETHTOOL_OPTS="speed 100 duplex full autoneg on" ...
ちゃんちゃん。