画像はGoogleデータセンターでございます。

今回は以下のグラフを見て欲しいと思う。
あるサーバはbondingをされており、eth0が落ちてもeth1に切り替わるように冗長化をしているのだが、
なんとeth0のパケットがまったく出ていなかったことに気づいた。(気づいてよかった。。)
なので調査とまずはbondingとは何かから説明していきたいと思う。
※ちなみにCentOS6です。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-11-15_%e5%8d%88%e5%be%8c0_22_14


■bondingとは

ボンディング(bonding)を使うことでNICの冗長化、
負荷分散ができる。
ケーブルが断線して、間違えて抜いてしまってもオールライト。
図としては以下が分かりやすいと思う。
今回はこのeth0がおかしいというお話。
20061002131919


■調査してみた

・パケットの確認

sarコマンドで実際パケットがどのくらい出ているのか確認できる。
eth0だけ0って….
eth1のみ機能している感じ。

・ifconfで確認

eth0ないやないか!

・bondingの確認

むむむ?
普通ならPrimary Slaveがeth0になるんだが、Slaveが全部
eth1っておかしい….

・Nicの確認

あれ特に異常はない!?
設定間違ってるところはなかった。。
もしやLAN抜けてるとか断線してるとか!?


■データセンターに行ってみた

eth0のLAN差込口が点灯していない!
よっしゃー引き抜いて新しいLANと交換しよう!

からのまったく反応せず。。

network再起動すると、
eth0なんかおかしいぞとエラーが出た。
(エラー名忘れたdiffrentなんちゃら)

まさかと思い、
NICのHWADDR(MACアドレス)を確認したところ・・・

・・・・

全然違ったw

MACアドレスを変更し、network再起動したら
パケット来てグラフ来ました。
もちろんifdown eth1とやるとeth0にパケットきました。


■まとめ

構築時に確認が必要なのと、
bondingの設定が問題なければMACアドレスが正しいか疑おう!w
てか別にMACアドレス書かなくてもいいんじゃないの!

参考:http://d.hatena.ne.jp/sen-u/20061002/p1
http://qiita.com/ShingoOikawa/items/dfc0d9a06b705fe0c289

カテゴリー: BlogCentOSNetwork

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズでの副業、ansibleでのインフラコード化を推進し、未経験によるエンジニア勉強会なども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなそうと奮闘中である。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください