Catalyst EtherChannelの設定

スポンサーリンク

EtherChannelの設定を紹介します。

これも実務でネットワーク触っている方なら当たり前のように日常的に使っているテクノロジーだと思います。複数の物理ケーブルを論理的に束ねて1本にまとめる技術で冗長化と負荷分散の両方の効果があります。同一の機器から別の機器にケーブルを複数接続する場合、STPという選択肢もありますが、EtherChannelにしたほうが構成的にもシンプルになりますし何より負荷分散の効果もありますのでこちらのほうがおすすめです。

これは設定しておいて助かったということが過去に何度もありますので、可能であれば是非設定してください。以下、設定の紹介です。

vlan 10,20,30
no spannning-tree vlan 10,20,30

interface GigabitEthernet1/0/1
 channel-group 1 mode on

interface GigabitEthernet1/0/2
 channel-group 1 mode on

interface Port-channel1
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 10,20,30
 switchport mode trunk

上記ではmode onとしていますが、他にPort Aggregation Protocol ( PAgP : ポート集約プロトコル ) 、Link Aggregation Control Protocol ( LACP ) のいずれかでも設定可能です。EtherChannelの設定は両端を同じにする必要があります。

EtherChannelの一端をPAgPまたはLACPに設定すると、もう一方とネゴシエーションしアクティブにするポートを決定します。一方、リンクの両端をonに設定するとネゴシエーションは実行されずポートを強制的にアクティブにします。

実際の現場ではスイッチ同士の接続であればmode onで設定されているのをよくみかけます。LinuxなどのサーバのNICをボンディングするケースにおいてはLACPで設定されているのをよくみかけます。

実際にConfigで設定できる項目は以下となります。

設定項目 説明 
active LACPのアクティブネゴシエーションを有効にし、相手ポートと通信を開始します。
passive LACPのパッシブネゴシエーションを有効にします。
受信するLACPパケットには応答しますが自身から送信することはありません。
desirable  PAgPのアクティブネゴシエーションを有効にし、相手ポートと通信を開始します。
auto PAgPのパッシブネゴシエーションを有効にします。
受信するPAgPパケットには応答しますが自身から送信することはありません。
on ポートはネゴシエーションせずに強制的にChannelを形成します。

(config-if)# channel-group 1 mode ?
  active     Enable LACP unconditionally
  auto       Enable PAgP only if a PAgP device is detected
  desirable  Enable PAgP unconditionally
  on         Enable Etherchannel only
  passive    Enable LACP only if a LACP device is detected


物理インターフェイスでchannel-groupを指定することになり、同じ番号を指定したインターフェイス同士がひとつに束ねられることになります。そしてchannel-groupを設定した段階でPort-channelという論理インターフェイスが自動的に作成されます。

実務でよく見かけるのですがchannelインターフェイスの設定変更を行う場合、物理インターフェイスの設定を変更してPort-channelの設定変更をしている方を見受けます。これでも変更できなくはないのですが、一方の物理インターフェイスを変更した段階で設定に矛盾が生じて通信断が発生していしまい奨励されません。そういう場合はPort-channelインターフェイスの設定を変更することにより物理インターフェイスにも設定が自動的に反映されます。

EtherChannelのステータスは以下のコマンドで確認可能です。

# 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: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)          -        Gi1/0/1(P) Gi1/0/2(P)


Layer2で正常ですと上記のようにPo1(SU)と表示されます。Layer3ですとPo1(RU)と表示されます。画面上部にヘルプが表示されていますのでDやsが表示されていた場合は何かしら設定がミスっている、ネゴシエーションがあっていないなど考えられますので今一度設定のみなおしを。

また一つのchannel-groupに所属できる物理ポートには制限がありますのでご注意を。機種ごとに異なると思いますがCatalyst2960Sでは最大8ポートです。その他、作成できるPort-channelにも当然ながら制限があります。

■ロードバランス方式

EtherChannelは負荷分散にもなると上にも記載しましたが方式を選択することができます。方式には以下のものがあります。

dst-ip 宛先IPにより負荷分散
dst-mac 宛先MACにより負荷分散
src-dst-ip 送信元・宛先IPにより負荷分散
src-dst-mac 送信元・宛先MACにより負荷分散
src-ip 送信元IPにより負荷分散
src-mac 送信元MACにより負荷分散 ( デフォルト )


どの方式が良いのかはそれぞれの環境によりけりです。宛先IPが一個しかないような場合は送信元IPまたはMACを選択するほうが良いですし送信元IPが一個しかない場合は送信先を元にバランシングしたほうがより効果的だと思います。

設定は以下のように行います。

(config)# port-channel load-balance ?
  dst-ip       Dst IP Addr
  dst-mac      Dst Mac Addr
  src-dst-ip   Src XOR Dst IP Addr
  src-dst-mac  Src XOR Dst Mac Addr
  src-ip       Src IP Addr
  src-mac      Src Mac Addr

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする