リンクアグリゲーション LACPの設定方法コマンドと利用メリット

IT技術解説

リンクアグリゲーション の用語の意味とLAGに関係するプロトコルの解説、利用場面と機種ごとのコマンド事例紹介。

※インフラエンジニア向けの記事になります。記事のリストはこちら

リンクアグリゲーション とは

リンクアグリゲーション LAG LACP は可用性(システムが継続して稼働できる度合い)と、帯域の増幅を目的をした技術で2本以上のLANケーブルを理論的に1本として扱うことが可能です。

英語で記載すると「Link Aggregation」となるので略して「LAG」と表記することも多いです。 アグリゲーションは日本語で「集める」といったような意味で、ネットワーク機器間の接続を集めて1つの論理的な接続にすることを示しています。

スイッチのアップリンクポートに設定することが多く、CiscoやHPEなど様々なメーカーの機器で設定を行うことが可能です。 機器により設定コマンドが異なるので、今回はリンクアグリゲーションの概要に加えてコマンド入力例も解説いたします。

下記がリンクアグリゲーションの特徴です。

  • ケーブル、ポートの故障に備えた冗長が可能
  • 帯域を増やすことが可能
  • 負荷分散を行うことが可能
  • スタックの機器とリンクアグリゲーションを行うことで機器の冗長構成が可能
リンクアグリゲーション と通常接続の比較画像

スイッチ同士を接続する際、上の画像の左が一般的な結線で右がリンクアグリゲーションとなっており、何も設定を行わずこの繋ぎ方をするとループしてしまうので、事前にスイッチへの設定は必要です。

当然、左の状態ではLANケーブルの断線や、接続ポートの故障などが起きた場合にリンクダウンが発生します。 つまり、ケーブルにしてもポートにしても物理的にどちらか1つが壊れたら通信が不能になるということですので、可用性が低いということになります。

しかしリンクアグリゲーションの設定を行い「2本のケーブルを1本として扱う」ことを定義づけておくと、片方のLANケーブルの断線やポートの故障時に、もう1本のケーブのみで通信を行うことによって、通信ができなくなる事態を防ぐことができます。

リンクアグリゲーションの種類

LAGには種類がいくつかありますが、大きく分けると、Static(Manualともよばれる)とDynamicの2種類があります。

Staticはactive,passiveをポートに事前に定義付けることで設定を行い、Dynamicはグループを作成しそこにポートを登録すという方法で設定を行います。ダイナミックで使用されるプロトコルは、LACPとよばれています。

最近の構成ではLACPを利用することが多く、LACPを設定せずにStaticで設定する場合は「対象の機器(スイッチ)がLACPに対応していないから」という理由が多いです。

静的LAGとLACP(動的)の違い

リンクアグリゲーションを用いた構成を採用するにあたって、具体的な静的LAGLACPの違いについて解説します。

この違いについては、ネットワークスペシャリストなどの資格試験でもよく取り上げられる項目なのですが、一番大きな違いは「リンクダウンを伴わない障害発生時の動作」です。

LACPの仕組みを簡単に説明すると、LACPでは設定されている機器が定期的にLACPプロトコルを送信することで、経路に問題がないかをチェックしています。万が一問題を検知した(LACPプロトコルの応答がなくなった)際に対象のポートを使用しないように動作します。

一方静的LAGはリンク状況によって、経路に問題がないか確認しているため「リンクダウンを伴わない障害発生時」には障害が発生しているにもかかわらず、その経験から通信を行おうと動作します。

例えば上図のように、メディアコンバータ(M/C)を使用した構成で、M/Cを挟みLAGで通信を行っているとします。

M/Cの機種・型番によってはUTPポート(スイッチ側)のポートがダウンしても、光ポートがを連動させダウンさせない製品も存在するため、[L2スイッチA]はポート1がリンクアップしていることから、LAGに問題はないと判断し通信を行おうとします。しかし実際には[M/C-1]と[L2スイッチB]はリンクダウンしているため、通信がそこで止まることとなります。

リンクアグリゲーションは複数のケーブルで、論理上1本のケーブルとして扱いますが、ハッシュ関数によってどの通信をどちらのケーブルから送信するかを決定しているので (デフォルト設定では宛先MAC・送信元MACなどで分けているケースが多いです)ある特定の通信のみ失敗する。などのトラブルが発生する場合もあります。

【※参考】メディアコンバータに、アライドテレシス[M/C]搭載の[ミッシングリンク機能]などの機能が備わっていれば、UTPポートがダウンすると光ポートも連動してダウンするので、このようなLAGによる障害を防ぐことが可能です。

一方、LACPはリンクダウンにて経路の状態を判断しているのではなく、定期的に「LACPパケット」を送信し合うことで対向のポートの状態を確認するため、このような[M/C-1]のUTPポートがダウンした場合でも経路に異常があることを検知することができます。

LACPを設定してるポートの経路上で異常を検知した際は、そのポートをLACPグループから除外する(使用しない)という処理が行われるため、通信障害等の発生を軽減することができます。

しかし物理的に使用するケーブルの本数が1本に減るため、帯域は半分となりますのでパケットの量によっては取りこぼしなどが発生することもあります。

また、経路上で異常が発生しても自動で上記のような処理を行うことから、メディアコンバータの故障やケーブルの断線などが起きていても通信可能になるので「障害に気付かない」ということもあり得ますのでSNMPでのポート監視等を行うと良いでしょう。

リンクアグリゲーションのメリット

リンクアグリゲーションを採用した構成には、ケーブル・物理ポートの故障に備えた冗長構成が可能、帯域を増幅することが可能、負荷分散が可能、という大きく3点のメリットがあります。

ケーブル・ポートの故障に備えた冗長構成が可能 -メリット-

まず、物理的に2本のLANケーブルを使用して通信を行っているという状態なので、どちらか片方がリンクダウンしても通信が可能な点です。

これはケーブルの劣化、断線によるリンクダウンはもちろん、スイッチのどちらかのポート障害が発生したとしても、どちらかのポートが通信可能な状態であればそちらのケーブルで通信を行うということになります。

ケーブル1本、ポート1つの障害が原因で通信がすべて停止するという状況を回避するために、リンクアグリゲーションの設定は幹線(アップリンク)のケーブルを差すポートに利用されることが多いです。

また、スタック構成などを採用している場合は、スタックを行っている2台の機器でリンクアグリゲーションを組むことが可能なので、最悪スイッチ自体が故障したとしても通信が行えるというメリットがあるので、スタック構成には必須といってもいい程の技術です。

スタック構成について、スタックの設定方法はこちらで詳しく解説しています。

帯域を増幅することが可能 -メリット-

物理的に複数本のケーブルを論理的に1本のケーブルとして使用するため、帯域を増やすことが可能です。

1Gbpsのポート2つでリンクアグリゲーションの設定を行った場合、単純に2Gbpsの帯域となります。

負荷分散が可能 -メリット-

複数本のケーブルで通信する際に「どの通信をどちらのポートから送信するか」を決定するためにハッシュ関数を使用しています。

多くのスイッチのデフォルトの設定では「[送信元MACアドレス]・[宛先MACアドレス]によってどちらのポートから送信するか決定する」といった方式で分散しているため、通信が一方のポートに偏ることの無いようにポートの負荷の分散するとが可能です。

またこの設定は、「送信元IPアドレス・ポート番号によって分散する設定」などによって分散する設定などに変更することが可能です。

リンクアグリゲーションを設定するスイッチの、対向(接続先)機器がルータやVRRPを設定している機器などの場合は、どんな通信でも送信元・宛先MACアドレスのパターンが同じとなるため、負荷分散が偏ります。このような場合にハッシュ関数の変更をお勧めします。

リンクアグリゲーションのデメリット

リンクアグリゲーションを採用する場合のデメリットは、事前の設定や検証が必須な点、ケーブルが複数本必要な点、トラブル時に切り分け要素が増える、という3点が挙げられます。

ケーブルが2本以上必要という点はそこまで重大なデメリットとは言えませんが、後の2つのデメリットに関しては、しっかり認識・理解したうえで設計や構成を行うことをお勧めします。

事前の設定、検証やテストが必須 -デメリット-

リンクアグリゲーションを行うには当然事前に設定を行う必要があります。設定方法は本記事の最後に紹介しますが、そこまでややこしいコマンドでもなく大変な作業ではありません。

しかし「リンクアグリゲーションが確実に行えているか」という確認作業を行うことが重要となります。 LANケーブルを2本以上対向のスイッチに接続するため、当然設定が正しく行えていなければ、ループが発生します

稼働中のスイッチに設定を行う行為は非常に危険なことはもちろん、ローカル環境で複数のスイッチを構築する際も、設定したスイッチを1台ずつ確認を行っておかなければ、LANケーブルを複数本結線した瞬間にループが発生、ネットワークが停止というリスクがあります。

確認方法は、実際にリンクアグリゲーションの設定を行ったスイッチ同士を接続し[show lacp]や[show port-channel]などのコマンドで正常にLACPが動作しているか確認を行い、pingを飛ばしならケーブルを片方抜く。通信が切れないことを確認し戻す。もう片方を抜き確認。という作業が必要です。

リンクアグリゲーションを設定したスイッチで全て、この確認作業を行うとなると時間がかかるためデメリットといえます。

障害発生時の切り分け要素が増える -デメリット-

リンクアグリゲーションのもう1つのデメリットは、何らかの障害発生時に切り分けを行う要素がケーブルの数増える、という点です。

片方のLANケーブルが通信不可になった場合、もう片方ですべての通信を補いますが、この切り替えの速度は機器の性能によって異なります。

機器によっては数秒通信が行えないという場合もあるため、障害の内容によって何度も何度も片方のケーブルのリンクダウンが発生する、などという場合は断続的に通信不可の状況が発生するということになります。

また、ケーブルの数だけ断線やポートの障害があると考えれば、リンクアグリゲーションによりネットワークの完全停止のリスクは免れても、障害発生のリスク自体は増えるとも言えます。

動的なリンクアグリゲーション LACP の設定について

LACPは「Link Aggregation Control Protocol」の略で通信プロトコルです。

設定方法に関しては、LACPに対応しているメーカーのL2スイッチは大体、リンクアグリゲーション用のグループを作成し、そこに割り当てるポートを決めるといった形です。

下記の画像であれば上の機器でまず、グループを作成(Group1とする)し1番ポートと2番ポートをGroup1に参加させます。 今度は下の機器も同様にグループを作成し、1番ポートと2番ポートを参加させます。 この時、使用するポートは何番ポートでも大丈夫です。

普通に接続するときと同様、1番は1番と接続しなければならない、といったようなルールはどのメーカの機種でもありませんが、対抗側のスイッチのポートも同じようにLACPを設定している必要があります。

グループの名前も同様、定義付づけているだけなので2台で合わせる必要もありません。

設定コマンド例 -リンクアグリゲーション-

今回は、Cisco、HPE、Aruba、富士通、NEC、といったメジャーなネットワークスイッチのコマンド例を紹介します。

同じメーカーの機器でも型番、ファームウェアにより微妙に異なる場合があるので、ご了承ください。

Cisco catalystシリーズ全般

まずCiscoのcatalystシリーズのコマンドから紹介いたします。

Ciscoはリンクアグリゲーションではなく「ポートチャネル」と呼びます。 設定したい複数の物理ポートを「チャネルグループ」というグループに所属させます。

下記のコマンドは1,2番ポートをチャネルグループ1に割り当てるコマンドで、vlanやスパニングツリーなどの設定を行う場合は、物理ポートではなくチャネルグループに設定を行います。

 L2SW-01#conf t
 L2SW-01(config) # interface range gigabitethernet 1/0/1 -2
 L2SW-01(config-if-range) # switchport trunk encapsulation dot1q
 L2SW-01(config-if-range) # switchport mode trunk
 L2SW-01(config-if-range) # channel-group 1 mode active

ポートチャネルのグループを作成し、そこにインターフェイスを割り当てたら、インターフェイスには設定を入れないように注意してください。片方のインターフェイスにだけ異なる設定が入ることを防ぐためポートチャネルがダウンされてしまいます。

後でvlanなどの設定を行いたい場合は、[interface chnnel-group 1]といったようにポートチャネルの階層に入ってから、設定したいコマンドを入力します。

これはCiscoの機器に限らず他のメーカーの機器でも同じです。

HPE 、NEC QXシリーズ

HPEのスイッチとNECのQXシリーズのコマンドを紹介します。

入力するコマンドはCiscoとほぼ同じですが、HPEやNECのスイッチはリンクアグリゲーションを「ブリッジアグリゲーション」と呼びます。

HPEシリーズとQXシリーズは同じコマンドが使用できる機種が多いので、困ったときはQXシリーズのコマンドリファレンスがインターネットネット上に公開されているので、HPEシリーズのスイッチの問題も解決することができます。[NEC QXシリーズ マニュアル]

[L2SW-01] system view
[L2SW-01]# int bri 1
[L2SW-01-int-Bridge1] #quit
[L2SW-01]# int giga 1/0/1
[L2SW-01-int-giga-1/0/1] #port link-aggregation group 1
[L2SW-01-int-giga-1/0/1]# quit
[L2SW-01]# int giga 2/0/1
[L2SW-01-int-giga-2/0/1]# port link-aggregation group 1
[L2SW-01-int-giga-2/0/1]# quit
[L2SW-01]# int bri 1
[L2SW-01-int-Bridge1]# link-aggregation mode dynamic

HPE Aruba 2500シリーズ Arubaスイッチ全般

Arubaのコマンドは他のメーカーの機器と少し異なりますが、少ないコマンドでリンクアグリゲーションの設定が可能です。Aruba製のスイッチは「truk」というグループに ポートを割り当てることでリンクアグリゲーションを行います。[Aruba CX Switch Basic Operation Guide]

下記の場合、[trk1]というグループに1,2番ポートをlacpで設定しています。

vlanなど設定する際は、他の機種と同様グループ(trk1)に設定を行います。

L2SW-01# configure
L2SW-01(config)# trunk 1-2 trk1 lacp

Fujitsu SR-Sシリーズ全般

富士通製L2SW、SR-Sシリーズのリンクアグリゲーション設定コマンドです。富士通製のネットワーク機器はコマンド入力の階層がなく、configモードのみのため直感的に分かりやすいですが、Ciscoなどとコマンドが大きく異なります。

コマンドリファレンスや事例集などマニュアルの一式はインターネットネット上に日本語で公開されています。[FUJITSU Network SR-Sコマンドリファレンス]

L2SW-01(config)# ether 1-2 type linkaggregation 1 1
L2SW-01(config)# linkaggregation 1 mode active

※[linkaggregation 〇 △]の△の数値は、アンカーポートと呼び、LACPを設定するインターフェイスの若番を入力します。例えば5-6番ポートで設定する場合は [linkaggregation 1 5]といったコマンドになります。

富士通製のスイッチSR-Sでリンクアグリゲーションの設定は、連番でしか設定することはできません。