LAGってよく使うけど、一応いくつか種類があったよね。
どういう使い分けすればいいんだろう?
基本的に既存の設計方式に従うだけでOKだけど、新規でLAGを使うときはお客さんにメリット・デメリットを伝えれた方がいいよね。
今回はよく使われるLAGと機能に関して解説していくよ。
目次
LAGとは?
LAG(Link Aggregation Group)とは、複数のリンクを論理的に一つに束ねる技術です。
LAGを組むことにより、下記のメリットがあります。
・帯域幅を増やすことができる
・耐障害性が向上する
帯域幅を増やすことができる
LAGは複数のリンクを1つに束ねるため、論理ポートの帯域幅は、単純に物理ポートを束ねた数分だけ増加します。
例えば1Gbpsのポートを2本束ねると、2Gbpsの帯域使用が可能です。
一応上限として8ポートまでしか束ねることはできませんが、機器スペックが許せば、帯域上限はありません。
なので、10Gbpsのポートを8つ束ねて、80GbpsのLAGを組むことも可能です。
耐障害性が向上する
複数のリンクを束ねるため、そのうち1つのリンクが使えなくなっても、他のリンクを使用して通信を継続できます。
理論的には8ポートを束ねると、7本障害が起きても残り1本で通信が継続できます。
基本的には障害が起きても通信に影響がないため、耐障害性としては高い機能となります。
LAGの種別
LAGには大きく分けて2種類あります。
・Static LAG(静的LAG)
・Dynamic LAG(動的LAG)
Static LAG(静的LAG)
Static LAGは手動で設定するLAGのことです。
(ciscoで言う「mode on」設定で使用できるLAGのこと)
明示的にLAGを使用すると設定可能なため、設定は簡単です。
また手動設定のため、確実に設定したポートはLAGとして動作します。
ただし、static LAGの場合はLAGに組み込めるポート本数は8本が上限です。
また、リンクダウン以外の障害を検知できないというデメリットもあります。
・リンクダウン以外の障害検知とは
例えばメディアコンバータ(通信信号を変換する装置)を間に挟んでいる場合などが当てはまります。
スイッチとメディアコンバータの間は障害が起きてなくても、メディアコンバータ間で障害が発生した場合は、staic LAGではスイッチ側でそれを検知する仕組みがありません。そのため、障害に気づかずに両方のメディコンに負荷分散してパケットを送り続けてしまいます。
Dynamic LAG(動的LAG)
Dynamic LAGは自動で動作するLAGのことです。
標準規格ではLACPプロトコルが使用されます。(cisco独自規格でPAgPもある)
自動とは言うものの、設定自体は必要です。何が自動かというと、対向機器とLACPパケットを交換することにより、LAGとして動作するかや、通信状態の監視を自動的に実施してくれる部分です。
以下はLACPを中心に解説をします。
LACPでは計16本のリンクを束ねることが可能です。
仮に16本束ねた場合、そのうち8本までを通信用、残りのリンクは障害時用のスタンバイとして動作することになります。
また、LACPパケットを対向機器と常に交換しながらLAGの状態監視を行なっているため、Staticであったようなメディコンでの障害も検知する仕組みがあります。
スイッチだけでなく、サーバでもLAGを使用することが可能です。
サーバに搭載されている複数NICを1つのインターフェースとして動作可能になります。
ただし、OSによってはデフォルトでLACPが使用されるなどの制約があります。
そのため、スイッチ側での設計は、対向のサーバOSに依存する場合もあります。
Static・LACP比較
上記の解説から比較をまとめると下図のようになります。
Static | LACP | |
リンク数 | 8本まで | 16本まで (通信用としては8本までしか使用不可) |
リンク監視 | 監視なし、自身のリンクダウン検知のみ | LACPパケットにより監視可能 |
設定難度 | 手動設定で簡単 | 対向と方式を合わせる必要がある。 また、LACPパケットの交換頻度など の細かい設定も存在し、少し複雑。 |
まとめ
LAGは多くの構成で利用されている技術ですが、単純にリンクを束ねているだけといった知識で設計しているエンジニアが多いです。
今回紹介したように、LAGの方式によってそれぞれメリット・デメリットがあります。
エンジニアとしてレベルの高い設計をするためにも、それらを把握した上でLAGの方式を選択し、設計できるようになりましょう。