EtherChannelは「帯域を増やす技術」じゃない|現役が教える本当の使いどころと落とし穴

CCNAと実務

EtherChannelを調べると、たいてい最初に「複数の回線を束ねて帯域を増やせる技術」と書いてあります。間違いではありません。試験でもそう問われます。

ただ、ネットワークエンジニアを10年やってきた実感を正直に言うと、EtherChannelを入れる理由が「帯域が足りないから」だったことは、ほとんどありません。

入れる理由は、冗長性です。

この記事では、EtherChannelの仕組みを押さえたうえで、現場で本当に効いている使いどころと、実際に事故が起きるポイントを解説します。とくにmode onの危険性については、技術的な理由よりも「なぜ現場で誤設定が発生するのか」に踏み込みます。ここが一番怖いところだからです。

サイト主
サイト主

帯域が2倍になるって書いてあったのに、違うんですか?
→ そう思いますよね。実は増えるのは「合計の帯域」であって、1つ1つの通信が速くなるわけではないんです。

EtherChannelは「帯域を増やす技術」ではない

先に結論を書きます。EtherChannelの主目的は帯域増加ではなく、リンク障害に耐えることです。

理由は3つあります。1つ目は、束ねても単一の通信が使える帯域は1本分のままだから。2つ目は、そもそも現場のスイッチ間で帯域が足りなくなる場面がそれほど多くないから。3つ目は、EtherChannelにすると物理リンクが1本切れてもスパニングツリーが動かず、通信が途切れないからです。

3つ目が決定的です。詳しくは後述しますが、これは他の手段では代替しづらい価値があります。

そもそもEtherChannelとは?複数の物理リンクを1本に見せる技術

EtherChannelは、複数の物理インターフェースを束ねて、1本の論理インターフェースとして扱う技術です。この論理インターフェースをPort-channel(ポートチャネル)と呼びます。

「リンクアグリゲーション」「LAG」と呼ばれることもあります。EtherChannelはCiscoでの呼び方だと思っておけば実務では困りません。

重要なのは、束ねた後のスイッチの見え方です。物理的にはケーブルが2本刺さっているのに、スイッチの中では1本のインターフェースとして扱われます。設定もPort-channelインターフェースに対して行い、メンバーポートはそれに追従します。

EtherChannelの本質は「物理的には複数、論理的には1本」。設定はPort-channelインターフェースに対して行い、メンバーポートはそれに追従します。

なぜスパニングツリーにブロックされないのか

ここがEtherChannelの核心です。

スイッチ同士を単純にケーブル2本で接続すると、ループが発生します。それを防ぐためにスパニングツリー(STP)が働き、片方のポートをブロッキング状態にします。つまり2本繋いでも、実際に通信に使えるのは1本だけです。もう1本は待機しているだけになります。

EtherChannelで束ねると、STPからは1本の論理リンクにしか見えません。ループが存在しないのでブロックされず、2本とも転送に使えます。

そして、ここからが実務で効いてくる部分です。EtherChannel内の物理リンクが1本切れても、STPは動きません。論理リンクとしては生きたままなので、STPから見れば何も起きていないことになります。残った1本で通信が続きます。

STPが動くというのは、再計算が走って収束するまでの間、通信が止まるということです。この待ち時間がユーザーに影響します。EtherChannelはそれを丸ごと回避できます。

スパニングツリーやレイヤ2の基本については、こちらの記事も参考にしてください。

L2スイッチとL3スイッチの違い|現役が教える使い分けと、初心者が必ずハマる罠
L2スイッチとL3スイッチの違いを現役10年が解説。それぞれの役割、VLAN間ルーティングができるのはどちらか、SVIでつまずく初心者の関門、規模ではなく論理設計から考える現場の判断基準まで。

束ねても「20G」にはならない|1つの通信は1本分まで

初心者がいちばん誤解しやすいところです。10Gのリンクを2本束ねても、20Gの1本になるわけではありません。

EtherChannelは、フレームに含まれるアドレス情報から計算した値をもとに、どの物理リンクを使うかを決めています。送信元MAC、宛先MAC、送信元IP、宛先IP、あるいはその組み合わせを使う方式があり、port-channel load-balanceコマンドで指定します。

この仕組み上、同じ送信元と宛先の通信は、常に同じ物理リンクを通ります。1つのファイル転送やバックアップジョブは、何本束ねようと1本分の帯域しか使えません。

通信の種類が多ければリンクに分散しますが、特定のサーバ間で大きなトラフィックが偏るような構成だと、片方のリンクだけが埋まって、もう片方が空いているという状態が普通に起こります。

10Gリンクを2本束ねても、1つの通信で20Gは出せません。同じ送信元・宛先の通信は常に同じ物理リンクを通ります。

現場が2本の「たすき掛け」にする理由

EtherChannelは最大8本や16本まで束ねられますが、実際の現場でよく見るのは2本構成です。しかも、ただ2本繋ぐのではなく、たすき掛けにします。

たすき掛けというのは、対向のスイッチが2台ある構成で、それぞれのスイッチに1本ずつ渡す繋ぎ方です。同じスイッチに2本まとめて刺すのではなく、意図的に分けます。

これをやると、ケーブルが切れたときだけでなく、対向のスイッチが1台丸ごと落ちても通信が続きます。同じスイッチに2本刺していたら、そのスイッチが落ちた時点で両方失います。たすき掛けなら片方は生き残ります。

しかも、前の章で書いたとおりSTPの再計算が走りません。筐体障害という大きな事象が起きているのに、上位から見ればリンクは生きたままです。

「帯域より冗長性」と言っているのは、こういうことです。2本にする理由は帯域を2倍にしたいからではなく、1台落ちても止めないためです。だから3本4本に増やす動機があまり生まれません。

サイト主
サイト主

たすき掛けは現場でもよく使う構成です。ケーブル1本の障害だけでなく、対向のスイッチが1台落ちても通信が生き残るのが大きいですね。

落とし穴①:mode onが危険な本当の理由

EtherChannelの設定モードには、ネゴシエーションを行わずに強制的に束ねるonがあります。

Cisco公式の設定ガイドには、このモードについて明確な注意書きがあります。onは手動設定であり、EtherChannelの両端が同じ設定になっている必要がある。グループの設定を誤ると、パケットロスやスパニングツリーのループが発生する可能性がある、と書かれています。

onはネゴシエーション用のパケットを一切送りません。「相手も束ねているはずだ」という前提だけで動きます。相手が束ねていなければ、STPがループを検知してポートをerrdisableにします。

ここまでは、どの解説サイトにも書いてあります。問題は、ではなぜ現場で「両端の設定が違う」という状態が発生するのかです。

事故の原因は設定ミスではなく、確認ミス

私の経験上、いちばん多い原因はコマンドの打ち間違いではありません。対向の設定をきちんと確認していないことです。

具体的にはこういうパターンです。

  • 対向機器の設定を自分の目で見ていない。相手の担当者から聞いた話だけで組んだ
  • 聞いていた状態と、実際に投入されている設定が違う
  • 作業のやり取りが口頭だけで、記録に残っていない

とくに注意が必要なのが、新しいサーバとスイッチの間に新規でポートを設定するときです。

スイッチ同士なら、たいてい同じチームが両側を見ています。ところがサーバ側は別の担当者、別のベンダであることが多い。そして新規構築は作業が立て込んでいて、その場の口頭で「LAG組んでおきました」「じゃあこっちも束ねます」というやり取りで進んでしまいがちです。

サーバ側のチーミング設定が実際にどうなっているか、静的なのか動的なのか、こちらは見えていません。それでもonで組めば、設定自体は通ってしまいます。

口頭の「LAG組んでおきました」は確認になっていません。対向の設定は自分の目で見る。これだけで事故はかなり減ります。

LACPにしておくと安全側に倒れる

この問題に対する実務的な答えはシンプルで、ネゴシエーションするモードを使うことです。

LACPやPAgPは、相手と交渉してから束ねます。相手が束ねる気がなければ、そもそもチャネルが形成されません。リンクは上がらないので「繋がらない」という形で問題が表面化します。

繋がらないのは困りますが、ループして広範囲に影響が出るよりはるかにマシです。間違えたときに安全な側に倒れる設定を選ぶ、という考え方です。

あわせて、Ciscoスイッチには誤設定を検知してポートを落とすspanning-tree etherchannel guard misconfigという保護機能があります。これも有効にしておくのが基本です。

落とし穴②:バンドルされないのは「事故」ではない

EtherChannelを組んだのにリンクが束ねられない、というのはよくあります。ただ、これは正直なところ焦る話ではありません。

原因はほぼパラメータの不一致で、調べれば必ず分かります。時間さえかければ解決するタイプの問題です。

むしろ大事なのは、最初から「不一致は起こるものだ」という前提で設定に臨むことだと思っています。一発で通ると思って作業すると、通らなかったときに慌てます。一致確認まで含めて作業手順だ、と考えておけば動揺しません。

サイト主
サイト主

不一致でバンドルされないのは、正直そこまで怖くありません。怖いのは、一発で通る前提で作業して慌てることの方です。

まず見るのは show etherchannel summary

状態確認はこのコマンドから入ります。ポートに付いているフラグで、今どうなっているかが分かります。

フラグ意味
(P)バンドルされている。正常な状態
(s)suspended。パラメータ不一致でチャネルに入れていない
(D)down。リンクが落ちている
(SD)Port-channel自体がdown

Port-channelが(SD)で、メンバーポートが(s)になっているなら、ケーブルは繋がっているのに設定が噛み合っていない状態です。

一致させる必要があるパラメータ

バンドルするポートで揃えなければならないのは、次の項目です。

  • 速度とデュプレックス
  • スイッチポートの種類(アクセスポート/トランクポート/レイヤ3ポート)
  • アクセスポートの場合、割り当てるVLAN
  • トランクポートの場合、ネイティブVLANと許可VLANの範囲、トランキングモード
  • EtherChannelプロトコル(LACP/PAgP/なし)

Cisco公式の設定ガイドにも、許可VLANの範囲が一致していない場合は、PAgPがautoやdesirable、LACPがactiveやpassiveに設定されていてもチャネルは形成されないと明記されています。ネゴシエーションするモードにしていれば安心、というわけではありません。

逆に、スパニングツリーのパスコストは違っていても構いません。ここは引っかかりやすいので覚えておくと役に立ちます。

VLANやトランクの設定でつまずいている場合は、こちらもあわせてどうぞ。

VLANとは?現役が教える仕組みと、現場で本当にハマる3つの落とし穴
VLANとは?現役10年が、1台のスイッチを分ける仕組み、アクセス/トランクポートの違いをわかりやすく解説。VLANミスマッチやVLAN 1の扱いなど、現場で本当にハマる3つの落とし穴も紹介します。

落とし穴③:EtherChannel形成後に片側だけ設定を変えると外れる

これも定番です。EtherChannelを組んだ後で、メンバーポートの設定を個別に変更すると、そのポートはバンドルから外れます。

「許可VLANを1つ足すだけ」のつもりでメンバーポートに投入すると、その瞬間に不一致になって抜けます。冗長構成のつもりだったのに、いつの間にか1本運用になっていた、ということが起こり得ます。

設定変更はPort-channelインターフェースに対して行う。これを徹底すれば防げます。

LACPとPAgP、現場ではどちらを使うか

EtherChannelを動的に形成するプロトコルは2つあります。

LACPPAgP
規格IEEE 802.3ad(標準)Cisco独自
他ベンダとの接続可能不可
モードactive/passivedesirable/auto
最大ポート数16(アクティブ8+スタンバイ8)8

結論から言うと、実務ではほぼLACP一択です。私自身、基本はLACPで組んでいます。

理由は消去法です。PAgPはCisco独自プロトコルなので、Cisco機器同士でしか話が通じません。相手がCisco以外の機器なら、その時点でLACPしか選択肢がなくなります。

そして現場の構成は、スイッチもサーバもストレージも、必ずしも同じベンダで揃うわけではありません。サーバのNIC側でチーミングを組む場合も、標準規格に合わせておく方が確実です。

結果として、「Cisco同士だからPAgPにしよう」とわざわざ選ぶ動機がありません。全部LACPで統一しておいた方が、運用も引き継ぎもシンプルになります。

迷ったらLACPのactiveを両側に設定する。これで実務はほぼ困りません。

モードの組み合わせ早見表

チャネルが形成される組み合わせは決まっています。

自分側対向形成
activeactiveされる
activepassiveされる
passivepassiveされない
desirabledesirableされる
desirableautoされる
autoautoされない
ononされる
onactive/passive/desirable/autoされない

覚え方としては、どちらも受け身だと成立しないと考えると分かりやすいです。passive同士、auto同士は、お互いに相手からの声かけを待っているので何も起きません。

そしてonは交渉しないモードなので、交渉するモードと混ぜると成立しません。onを使うなら両側ともonにする必要があります。ここが、さきほどの事故につながります。

CCNAの試験範囲としてのEtherChannel

EtherChannelはCCNA 200-301の出題範囲に含まれています。ブループリント上は「2.4 Configure and verify (Layer 2/Layer 3) EtherChannel (LACP)」という項目です。

注目してほしいのは、カッコ内がLACPとしか書かれていないことです。PAgPは明記されていません。

とはいえ、市販の参考書や問題集にはPAgPも当たり前に出てきます。desirableとautoの組み合わせを問う問題も見かけます。範囲表記に書かれていないから捨てていい、という判断はおすすめしません。

つまりPAgPは、実務ではほとんど使わないのに、試験では覚えなければいけないという位置づけになります。こういう項目に出会ったとき、「現場で使わないなら不要では」と考えたくなりますが、試験は試験として割り切った方が早いです。

幸い、覚える量は多くありません。深追いせず、両方のモード名と組み合わせだけ押さえておけば十分です。上の早見表を覚えておけば足ります。

CCNAのコマンド、現場で本当に使うのはこれ|現役10年が試験との違いも解説
CCNAのコマンドのうち現場で毎日使うものを、現役ネットワークエンジニア10年が厳選して解説。show ip int briefの読み方から、試験の正式形と現場で使うwrの関係、暗記より仕組みで覚える方法まで書きます。

まとめ

EtherChannelについて、押さえておきたいポイントをまとめます。

  • 主目的は帯域増加ではなく冗長性。物理リンクが1本切れてもSTPが動かないのが最大の価値
  • 束ねても1つの通信が使える帯域は1本分。10G×2は20Gにならない
  • 現場で2本のたすき掛けが多いのは、対向の筐体が丸ごと落ちても止めないため
  • mode onの事故は設定ミスより確認ミスから起きる。とくに他チームとの口頭のやり取りに注意
  • ネゴシエーションするモードを使えば、間違えたときに安全側に倒れる
  • バンドルされないのは焦る話ではない。不一致は起こる前提で組み、一致確認まで作業手順に含める

試験対策としては、モードの組み合わせと一致必須パラメータを覚えれば得点できます。ただ、現場に出てから効いてくるのは「なぜ2本なのか」「なぜたすき掛けなのか」という設計意図の方です。そこまで理解しておくと、設定を投入するときの目線が変わります。

OSPFとは?現役が初心者向けにわかりやすく解説|仕組み・RIPとの違い・実務での使われ方
OSPFとは?現役10年が、リンクステートの仕組み、RIPとの違い、LSA・LSDB・SPF・エリア設計、実務での使われ方を初心者向けに解説します。

コメント

タイトルとURLをコピーしました