こんにちは!ネットワークの世界へようこそ。インフラエンジニアの主筆ライターです。
日々、ルータやスイッチといった「箱」に向き合い、パケットたちの交通整理をしていると、ネットワークの美しさに感動を覚えると同時に、「どうやったらこの通信網をもっとタフに、もっと美しくできるだろうか」という野望に駆られます。
ネットワークの世界で避けて通れないテーマの一つが「冗長化(障害に備えること)」です。
今回は、その最高峰の一つであり、現場のインフラエンジニアたちが頭を悩ませつつも愛してやまない技術、「マルチchリンクアグリゲーション(MLAG / vPC / VSS)」を取り上げます。
「なんだか名前が呪文みたいで難しそう……」と思いましたか?
大丈夫です!一歩ずつ、身近な例えから紐解いていきましょう。
—
1. スパニングツリーの「もどかしさ」とMLAGの誕生前夜
まずは、ネットワークの歴史における「ちょっとしたもどかしさ」のお話から始めます。
皆さんがオフィスで仕事をしているとき、会社のネットワークが突然止まったら大惨事ですよね。だからインフラエンジニアは、スイッチとスイッチの間のケーブルを2本用意します。「片方のケーブルが断線しても、もう片方があれば安心だね」という、いわゆるバックアップ(冗長化)の思想です。
しかし、ここでイーサネット(Ethernet)の大きな特徴であり、時に厄介な性質が顔を出します。それが「ループ(環状構造)」の禁止です。
スイッチ同士を2本のケーブルで繋ぐと、パケットがぐるぐると無限ループを始めてしまい、ネットワークが数秒でマヒしてしまいます。
これを防ぐために、ネットワーク界の「交通警察」であるスパニングツリープロトコル(STP)が働きます。STPは、2本のうちの1本のケーブルを「いざという時のための予備(ブロック状態)」としてお休みさせ、実質的に1本だけで通信させます。
ここで、現場のエンジニアなら誰もがこう思うはずです。
「せっかく2本ケーブルがあるのに、1本がお休みなんて勿体なくない?2本とも同時に使って、通信速度も2倍にできたら最高なのに!」
この願いを叶えるために生まれたのが、複数の物理回線を束ねて一本の太い道路のように見せるリンクアグリゲーション(IEEE 802.3ad / LACP)です。
—
2. さらに欲張り!「スイッチ自体が壊れたら?」を解決するMLAG
リンクアグリゲーションによって、「1台のスイッチ」と「別の1台のスイッチ」の間を複数のケーブルで束ねて、アクティブ・アクティブ(両方フル活用)で使えるようになりました。
でも、インフラエンジニアの心配性はここで終わりません。
「ケーブルじゃなくて、スイッチ本体の電源が吹っ飛んだらどうするんだ?」
1台のスイッチが故障したら、そこに繋がっているケーブルがいくら束ねられていようとも、すべて沈黙してしまいます。
そこで登場するのが、今回の主役であるマルチchリンクアグリゲーションです。メーカーやOSによって呼び方が変わり、CiscoのNexusシリーズでは vPC (Virtual PortChannel)、Catalystの古い世代などでは VSS (Virtual Switching System) などと呼ばれますが、やっている本質は同じです。
郵便配達の例えでイメージしてみよう
これを現実世界の「郵便配達」に例えてみましょう。
- 通常のリンクアグリゲーション:
一つの郵便局(Aさん)から、隣町の郵便局(Bさん)へ、2人体制で同時に手紙を大量に配達しています。でも、大元の郵便局Aが火事で全焼したら、配達はストップします。
- マルチchリンクアグリゲーション(MLAG):
なんと、「独立した2つの郵便局(A局とB局)」が裏でしっかりと手を組んで、まるで「1つの巨大な郵便局」のように振る舞います。
ユーザー(サーバーなど)から見ると、目の前には1つの立派な郵便局があるように見えますが、実際にはそこから出ている2本の配達ルートは、それぞれ全く別の物理スイッチ(A局とB局)に繋がっています。
これなら、もし仮にスイッチAが雷に打たれて壊れても、スイッチBが何食わぬ顔で通信を続けさせてくれます。サーバー側から見れば「あれ?なんか片方のルートから返事が来なくなったけど、もう片方で普通に通信できるぞ」という具合に、ミリ秒単位でシームレスに切り替わるのです。
—
3. なぜMLAGはすごいのか? 3つのメリット
マルチchリンクアグリゲーションが現場で愛される理由は、主に以下の3点に集約されます。
1. スパニングツリーでお休みするポートがなくなる(ループフリーかつフル活用)
すべてのパスがアクティブとして稼働するため、帯域幅を文字通り無駄なく使い切れます。
2. スイッチ単体の故障(シングルポイント・オブ・フェイルア)に強い
機器のメンテナンスやファームウェアのアップデート時も、片方のスイッチを生かしたままもう片方を再起動するといった「無停止運用」が可能です。
3. サーバー側の設定がシンプルになる
サーバー側からは「普通のリンクアグリゲーション(LACP)」に見えているため、特別な専用ソフトをインストールする必要がありません。
—
4. 実務の現場を覗き見! vPC(Cisco Nexus)の設定サンプル
それでは、実際にインフラエンジニアがどのようにこの魔法のような仕組みを設定しているのか、Ciscoのデータセンター向けスイッチ「Nexusシリーズ」を例に覗いてみましょう。
マルチchリンクアグリゲーションを構成するには、2台の独立したスイッチ同士が「お互い生きているか?」を常に監視し合うための専用ケーブル(ピアリンク、Keepaliveリンク)が必要です。
以下の設定は、2台のスイッチ(SW1とSW2)の間で vPC を組む際の大まかなイメージです。
[ サーバー ] ──(LACP: 2本まとめて接続)── [ SW1 ]
│
(Peer Link)
│
[ SW2 ]
スイッチ1(SW1)側の設定例
! --- 1. vPCドメインの作成(両方のスイッチで同じ番号を指定します) ---
vpc domain 100
! 2台のスイッチ間を結ぶ生死確認(ハートビート)の宛先IPを指定
peer-switch
role priority 100
keepalive destination 192.168.255.2 source 192.168.255.1
! --- 2. スイッチ同士を直結するピアリンク(Peer-link)の設定 ---
interface Ethernet1/47
description === vPC Peer-Link ===
switchport mode trunk
channel-group 100 mode active ! リンクアグリゲーションとして束ねる
interface Ethernet1/48
description === vPC Peer-Link ===
switchport mode trunk
channel-group 100 mode active
! --- 3. サーバーが接続するポートチャネル(vPC)の設定 ---
interface Port-channel10
description === Connected to Server A ===
switchport mode access
switchport access vlan 10
vpc 10 ! ★この番号(vPC ID)が、両方のスイッチで一致していることが肝心!
! --- 4. 実際の物理ポートをポートチャネルに所属させる ---
interface Ethernet1/1
description === Server Port 1 ===
switchport mode access
switchport access vlan 10
channel-group 10 mode active
この設定のミソは、vpc 10 というコマンドです。SW1とSW2の両方で、サーバーが接続するポートチャネルに対して同じ vPC ID を割り振ることで、2台のスイッチが「我々は一心同体である」と認識し、サーバーからのLACPリクエストに対して共同で応答できるようになります。
—
5. 構築・運用の現場で気をつけるべき「落とし穴」
夢のような技術であるMLAGですが、現場のプロたちはそれなりの「リスク」も背負ってこれを導入しています。最後に、実務でハマりがちなポイントをいくつかご紹介します。
- ピアリンク(Peer-Link)の障害(スプリットブレイン)
もし、2台のスイッチを繋いでいるピアリンクが「プツッ」と切れてしまったらどうなるでしょう?
お互いの生存確認ができなくなり、両方のスイッチが「俺がボスだ!俺が通信を続ける!」と勘違いしてパケットを転送し始めると、ネットワーク内で大混乱(ルーティングループやブロードームストーム)が起きます。これを防ぐために、必ず別ルートで「Keepalive(生存確認)用パケット」を流す仕組みが必須となります。
- ファームウェアのバージョン不一致
MLAGは非常に高度な制御を2台のスイッチ間で同期しています。そのため、SW1とSW2でOSのバージョンがビミョーに異なると、予期せぬ挙動や機能制限を引き起こすことがあります。アップデートの際は細心の注意が必要です。
—
まとめ
今回は、独立した物理スイッチの垣根を越えてネットワークをアクティブ・アクティブ化するマルチchリンクアグリゲーション(MLAG / vPC / VSS)について解説しました。
- スパニングツリーの「予備ポート」というもどかしさを解消する。
- スイッチの故障にも耐える、圧倒的な高可用性を手に入れる。
- その裏側では、スイッチ同士が専用の絆(ピアリンク)で結ばれ、緻密に連携している。
ネットワークの世界は、こうした「どうすればもっと止まらないシステムを作れるか」という先人たちの知恵と工夫の積み重ねでできています。
最初は難しく感じる用語も、こうして裏側のストーリーや現実世界の例えに置き換えてみると、ぐっと親しみやすく、ワクワクするものに感じられたのではないでしょうか?
皆さんのインフラライフが、より堅牢で、トラブルのない平和なものになりますように!それではまた次のネットワークの世界でお会いしましょう。
コメント