金融系のデータセンターで働いていた頃、コアスイッチのアップリンクが単一ポートで構成されていることに気づき、すぐにEtherChannelによる冗長化を提案しました。最初はLACPとPAgPの違いを理解せずに設定を試み、片方のスイッチがPAgP onlyモデルだったため接続が確立せず、深夜メンテナンスで冷や汗をかいた経験があります。
それ以来、EtherChannelの設定前には必ず両端の機器仕様を確認し、プロトコルの互換性チェックを怠らないようにしています。正しく設定できれば帯域も2倍、4倍と増やせるだけでなく、障害時の自動フェイルオーバーも実現できる素晴らしい技術です。
ネットワークの帯域不足や単一障害点の解消は、企業ネットワークにおける重要な課題です。Cisco CatalystスイッチのEtherChannel機能を使えば、複数の物理ポートを論理的に束ねて帯域を増強し、同時に冗長性も確保できます。本記事では、EtherChannelの基本概念から実際の設定手順、トラブルシューティングまでを実務目線で詳しく解説します。
EtherChannel(イーサチャネル)は、Ciscoが開発した技術で、2つ以上の物理的なイーサネットリンクを1つの論理的なリンクとして束ねる機能です。Port Channel(ポートチャネル)やLink Aggregation(リンクアグリゲーション)とも呼ばれ、IEEE 802.3adとして標準化されています。
通常、スイッチ間を複数のケーブルで接続すると、スパニングツリープロトコル(STP)によって冗長リンクの一部がブロックされ、実際には1本のリンクしか使えません。しかしEtherChannelを使用することで、最大8本のリンクを同時にアクティブ状態で利用でき、帯域の有効活用と冗長性の両立が可能になります。
EtherChannelを導入することで得られる主なメリットは以下の通りです。
図1: EtherChannel導入による効果比較
実務における主要なメリットを以下の表にまとめました。
| メリット項目 | 詳細説明 | 効果レベル |
|---|---|---|
| 帯域の増加 | 4本の1Gbpsリンクで最大4Gbpsの帯域を実現可能 | 非常に高 |
| リンク冗長化 | 1本のリンクが切断されても残りのリンクで通信継続 | 高 |
| 負荷分散 | トラフィックを複数リンクに自動分散してボトルネック解消 | 高 |
| 管理の簡素化 | 論理インターフェースとして一元管理が可能 | 中 |
| コスト効率 | 既存の1Gbpsポートを束ねて10Gbps機器購入を延期可能 | 中 |
CiscoのEtherChannelには、リンクを束ねるための3つの方式があります。それぞれに特徴があり、接続する機器や要件に応じて適切なものを選択する必要があります。
各プロトコルの特徴を比較表で確認しましょう。
| プロトコル | 標準規格 | 主な特徴 | 推奨用途 |
|---|---|---|---|
| LACP | IEEE 802.3ad | 業界標準、マルチベンダー対応、動的ネゴシエーション | 最も推奨 |
| PAgP | Cisco独自 | Cisco機器専用、古い機器での互換性 | Cisco間のみ |
| Static (On) | なし | プロトコルなし、強制バンドル、ネゴシエーション不可 | 特殊用途のみ |
LACPは、IEEE 802.3adとして標準化されたプロトコルで、現在最も推奨される方式です。Cisco以外のベンダー機器とも相互接続が可能で、動的にリンクの状態を監視し、障害が発生したリンクを自動的にEtherChannelから除外します。
LACPには「active」と「passive」という2つのモードがあります。activeモードは積極的にLACPパケットを送信してネゴシエーションを開始し、passiveモードは相手からのLACPパケットを待ち受けます。EtherChannelを確立するには、少なくとも片方がactiveモードである必要があります。
両端をactiveモードに設定。最も確実で推奨される構成です。
片方をactive、もう一方をpassiveに設定。動作は可能ですが、activeを推奨。
両端をpassiveモードに設定するとEtherChannelは確立しません。どちらか一方は必ずactiveモードにする必要があります。この設定ミスは実務でよく見られるトラブルの一つです。
PAgPはCisco独自のプロトコルで、Cisco機器間でのみ使用できます。LACPと同様に「desirable」と「auto」という2つのモードがあり、desirableは積極的にネゴシエーションを開始し、autoは相手からのパケットを待ち受けます。
現在ではLACPの使用が推奨されていますが、古いCatalystスイッチではPAgPしかサポートしていない機種もあります。特にCatalyst 2950や3550などのレガシー機器と接続する場合には、PAgPの知識が必要になることがあります。
それでは実際にCatalyst 2960スイッチを例に、LACPを使用したEtherChannelの設定方法を解説します。この例では、2台のスイッチ(SW1とSW2)の間でGigabitEthernet 0/1とGigabitEthernet 0/2の2本のポートを束ねてPort-Channel 1を作成します。
まずSW1側の設定を行います。
SW1# configure terminal
SW1(config)# interface range gigabitEthernet 0/1 - 2
SW1(config-if-range)# channel-group 1 mode active
SW1(config-if-range)# exit
SW1(config)# interface port-channel 1
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk allowed vlan 10,20,30
SW1(config-if)# exit
SW1(config)# end
SW1# write memory次にSW2側も同様に設定します。
SW2# configure terminal
SW2(config)# interface range gigabitEthernet 0/1 - 2
SW2(config-if-range)# channel-group 1 mode active
SW2(config-if-range)# exit
SW2(config)# interface port-channel 1
SW2(config-if)# switchport mode trunk
SW2(config-if)# switchport trunk allowed vlan 10,20,30
SW2(config-if)# exit
SW2(config)# end
SW2# write memorychannel-group 1 mode active コマンドで、物理ポートをPort-Channel 1に割り当て、LACPのactiveモードを指定します。
Port-Channel 1に対してトランクモードやVLAN設定を行います。これらの設定は自動的にメンバーポートに継承されます。
write memoryコマンドで設定をNVRAMに保存し、再起動後も設定が維持されるようにします。
トランクではなく、アクセスポートとしてEtherChannelを設定する場合の例も見ていきましょう。サーバーへの接続などで使用されるケースです。
SW1# configure terminal
SW1(config)# interface range gigabitEthernet 0/10 - 11
SW1(config-if-range)# channel-group 10 mode active
SW1(config-if-range)# exit
SW1(config)# interface port-channel 10
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 100
SW1(config-if)# spanning-tree portfast
SW1(config-if)# exit
SW1(config)# endアクセスポートとして設定する場合、Port-Channelインターフェースに対してVLANを指定し、必要に応じてPortFastなどの設定も行います。
EtherChannelの設定状態を確認する最も基本的なコマンドが「show etherchannel summary」です。このコマンドでEtherChannelの全体的な状態を一目で把握できます。
SW1# show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 2
Number of aggregators: 2
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Gi0/1(P) Gi0/2(P)
10 Po10(SU) LACP Gi0/10(P) Gi0/11(P)このコマンド出力で重要なポイントは以下の通りです。
図2: EtherChannelステータスフラグの重要度
主要なフラグの意味をまとめます。
| フラグ | 意味 | 対応必要性 |
|---|---|---|
| SU | Layer2で使用中、正常動作 | 不要(正常) |
| SD | Layer2で停止中 | 要確認 |
| P | ポートがPort-Channelにバンドル済み | 不要(正常) |
| I | スタンドアロン、バンドルされていない | 要対応 |
| D | 物理的にダウン | 要対応 |
より詳細な情報を確認するためのコマンドをいくつか紹介します。
SW1# show etherchannel 1 detail
Group state = L2
Ports: 2 Maxports = 8
Port-channels: 1 Max Port-channels = 1
Protocol: LACP
Minimum Links: 0
Ports in the group:
-------------------
Port: Gi0/1
------------
Port state = Up Mstr Assoc In-Bndl
Channel group = 1 Mode = Active Gcchange = -
Port-channel = Po1 GC = - Pseudo port-channel = Po1
Port index = 0 Load = 0x00 Protocol = LACP
Flags: S - Device is sending Slow LACPDUs F - Device is sending fast LACPDUs.
A - Device is in active mode. P - Device is in passive mode.
Local information:
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
Gi0/1 SA bndl 32768 0x1 0x1 0x102 0x3D
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi0/1 SA 32768 0015.6310.c700 29s 0x0 0x1 0x102 0x3Dこのコマンドでは、LACPのネゴシエーション状態、対向機器のMACアドレス、ポート番号などの詳細情報が確認できます。トラブルシューティング時には特に「Partner’s information」セクションが重要で、対向側からのLACPパケットが正しく受信できているかを確認できます。
EtherChannelが正常に確立しない最も一般的な原因は、設定の不一致です。EtherChannelを構成するすべてのポートは、以下の設定が完全に一致している必要があります。
EtherChannel構成時に一致させる必要がある設定項目を以下にまとめます。
| 設定項目 | 確認方法 | トラブル発生率 |
|---|---|---|
| Speed/Duplex | show interfaces status | 高 |
| VLAN設定 | show interfaces trunk | 非常に高 |
| Trunk/Access | show interfaces switchport | 高 |
| Native VLAN | show interfaces trunk | 中 |
| STP設定 | show spanning-tree | 低 |
特に頻繁に発生するのがSpeed/Duplexの不一致です。一方のポートがauto-negotiation、もう一方が固定設定になっていると、EtherChannelが組めません。
SW1# show interfaces status
Port Name Status Vlan Duplex Speed Type
Gi0/1 connected trunk a-full a-1000 10/100/1000BaseTX
Gi0/2 connected trunk full 1000 10/100/1000BaseTX上記のように、Gi0/1が「a-full a-1000」(auto-negotiation)、Gi0/2が「full 1000」(固定設定)となっている場合、設定を統一する必要があります。
SW1(config)# interface range gigabitEthernet 0/1 - 2
SW1(config-if-range)# speed 1000
SW1(config-if-range)# duplex full
SW1(config-if-range)# exitSpeed/Duplexの変更はインターフェースの一時的なダウンを引き起こします。本番環境では必ずメンテナンスウィンドウ内で実施してください。また、両端のスイッチで設定を統一することを忘れないようにしましょう。
トランクポートでEtherChannelを構成する場合、許可VLAN(allowed VLAN)の設定も完全に一致させる必要があります。片方のポートだけVLAN 100を許可している場合などに問題が発生します。
SW1# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Po1 on 802.1q trunking 1
Port Vlans allowed on trunk
Po1 10,20,30
Port Vlans allowed and active in management domain
Po1 10,20,30
Port Vlans in spanning tree forwarding state and not pruned
Po1 10,20,30両端のスイッチで同じVLANリストになっているか確認し、不一致がある場合は以下のように修正します。
SW1(config)# interface port-channel 1
SW1(config-if)# switchport trunk allowed vlan 10,20,30,100
SW1(config-if)# exit
SW2(config)# interface port-channel 1
SW2(config-if)# switchport trunk allowed vlan 10,20,30,100
SW2(config-if)# exit片方のスイッチでLACPを使用し、もう一方でPAgPを使用している場合、EtherChannelは確立しません。また、一方がactiveモード、もう一方がonモード(静的設定)という組み合わせでも問題が発生します。
SW1# show etherchannel 1 summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SD) LACP Gi0/1(I) Gi0/2(I)上記のように、ポートが「I」(stand-alone)になっている場合、対向側のプロトコル設定を確認します。解決方法は両端を同じプロトコルに統一することです。
! 両端でLACPに統一する場合
SW1(config)# interface range gigabitEthernet 0/1 - 2
SW1(config-if-range)# no channel-group 1
SW1(config-if-range)# channel-group 1 mode active
SW1(config-if-range)# exit
SW2(config)# interface range gigabitEthernet 0/1 - 2
SW2(config-if-range)# no channel-group 1
SW2(config-if-range)# channel-group 1 mode active
SW2(config-if-range)# exit設定が正しくてもEtherChannelが確立しない場合、物理層の問題を疑う必要があります。特にケーブル不良やSFPモジュールの問題は見逃しやすいトラブルです。
SW1# show interfaces gigabitEthernet 0/1
GigabitEthernet0/1 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet, address is 001b.d512.aa01 (bia 001b.d512.aa01)
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
input flow-control is off, output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:01, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1000 bits/sec, 2 packets/sec
5 minute output rate 2000 bits/sec, 3 packets/sec
1234567 packets input, 123456789 bytes, 0 no buffer
Received 12345 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
125 input errors, 125 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 1234 multicast, 0 pause input
0 input packets with dribble condition detected
9876543 packets output, 987654321 bytes, 0 underruns上記の出力で「input errors」や「CRC」エラーが増加している場合、ケーブルやコネクタの問題が疑われます。特にCRCエラーが継続的に発生している場合は、以下の対処を検討します。
LANケーブルを新品に交換し、コネクタの接続も確実に行います。
光ファイバー接続の場合、SFPモジュールの交換を試します。特にサードパーティ製モジュールは要注意です。
スイッチ側のポート不良の可能性もあるため、別のポートで試してみます。
EtherChannelは複数のリンクにトラフィックを分散しますが、その分散方法は設定可能です。デフォルトでは送信元MACアドレスベースの分散が使用されますが、環境に応じて最適な方式を選択することで、より効率的な帯域利用が可能になります。
現在の負荷分散設定を確認するコマンドは以下の通りです。
SW1# show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-mac
EtherChannel Load-Balancing Addresses Used Per-Protocol:
Non-IP: Source MAC address
IPv4: Source MAC address
IPv6: Source MAC address利用可能な負荷分散方式と推奨用途を以下の表にまとめます。
| 負荷分散方式 | 特徴と用途 | 推奨シーン |
|---|---|---|
| src-mac | 送信元MACアドレスでハッシュ計算、シンプルで予測可能 | アクセス層 |
| dst-mac | 宛先MACアドレスでハッシュ、サーバーファーム向け | サーバー接続 |
| src-dst-mac | 送信元と宛先の両方を使用、バランス良好 | ディストリビューション層 |
| src-ip | 送信元IPアドレスでハッシュ、L3での分散 | L3スイッチ間 |
| src-dst-ip | 送信元・宛先IP両方を使用、最も均等な分散 | コア層(推奨) |
| src-port | 送信元ポート番号でハッシュ、アプリ単位分散 | 特殊用途 |
負荷分散方式は、グローバルコンフィグレーションモードで設定します。この設定はスイッチ全体のすべてのEtherChannelに適用されます。
SW1# configure terminal
SW1(config)# port-channel load-balance src-dst-ip
SW1(config)# end
SW1# show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-dst-ip
EtherChannel Load-Balancing Addresses Used Per-Protocol:
Non-IP: Source and Destination MAC address
IPv4: Source and Destination IP address
IPv6: Source and Destination IP address実務では、コア層やディストリビューション層のスイッチ間接続には「src-dst-ip」を、アクセス層のスイッチには「src-mac」または「src-dst-mac」を使用するのが一般的です。トラフィックパターンに応じて最適な方式を選択することで、より均等な負荷分散が実現できます。
EtherChannelからポートを削除する際は、設定の順序に注意が必要です。誤った手順で実行すると、一時的にすべてのトラフィックが停止する可能性があります。
! ステップ1: 該当ポートをEtherChannelから除外
SW1(config)# interface gigabitEthernet 0/2
SW1(config-if)# no channel-group 1
SW1(config-if)# shutdown
SW1(config-if)# exit
! ステップ2: 確認
SW1# show etherchannel summary
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Gi0/1(P)
! ステップ3: 必要に応じてポート設定をクリア
SW1(config)# default interface gigabitEthernet 0/2EtherChannelの状態を継続的に監視することは、安定運用の要です。SNMPトラップやSyslogを活用して、リンクダウンやメンバーポートの減少を検知できるようにしましょう。
SW1(config)# snmp-server enable traps port-channel
SW1(config)# snmp-server host 192.168.1.100 version 2c public
SW1(config)# logging host 192.168.1.200
SW1(config)# logging trap informationalまた、定期的に以下のコマンドでカウンタをチェックし、エラーの増加がないか確認することをお勧めします。
SW1# show interfaces port-channel 1 | include error
125 input errors, 125 CRC, 0 frame, 0 overrun, 0 ignored
0 output errors, 0 collisions, 0 interface resetsEtherChannelの設定情報は必ず文書化し、チーム内で共有しましょう。特に以下の情報を記録しておくことで、トラブル時の迅速な対応が可能になります。
ドキュメント化すべき項目を以下にまとめます。
| ドキュメント項目 | 内容 | 重要度 |
|---|---|---|
| 物理配線図 | どのポートがどのスイッチと接続されているか | 高 |
| 設定パラメータ | プロトコル、VLAN、負荷分散方式などの設定値 | 高 |
| 変更履歴 | いつ誰がどのような変更を行ったか | 中 |
| トラブル履歴 | 過去の障害内容と対処方法のナレッジベース | 中 |
EtherChannelは、ネットワークの帯域拡張と冗長性を同時に実現できる強力な技術です。本記事で解説した設定手順とトラブルシューティング手法を習得することで、安定したネットワーク運用が可能になります。実務では設定の一貫性を保つことが最も重要で、両端のスイッチで同一の設定を行うことを常に意識しましょう。
- LACPは業界標準で最も推奨されるプロトコルであり、マルチベンダー環境でも利用可能
- Speed、Duplex、VLAN設定などすべてのパラメータを完全一致させることが成功の鍵
- show etherchannel summaryコマンドで定期的に状態を確認し、異常を早期発見する
- 負荷分散方式はトラフィックパターンに応じて最適化し、帯域を有効活用する
- 物理層のエラーにも注意を払い、ケーブルやSFPモジュールの品質管理を徹底する



