バーチャルシャーシスタック(VCS) / 概要
バーチャルシャーシスタック(VCS)の概要について説明します。特長
バーチャルシャーシスタック(以下、VCS)は、2台のシャーシをスタック接続することにより、仮想的に1台のシャーシとして動作させる機能です。VCSを利用すると、次のことを実現できます。
- 管理性の向上
2台のシャーシを1台の仮想的なシャーシ(VCSグループと呼びます)として扱うことができるため、個々のシャーシを個別に管理する場合に比べて、設定や管理がしやすくなります。
- ネットワーク構成の簡素化
通常、複数のシャーシを連携させて運用するためには、スパニングツリープロトコルやVRRP、OSPFなどの各種プロトコルを組み合わせて使用する必要がありますが、VCSグループを構成する複数のシャーシはネットワーク上の他の機器からは1台に見えるため、ネットワークの構成をシンプルにすることができます。
- 高可用性
VRRPなどとは異なり、VCSグループを構成するシャーシはすべて「アクティブ」状態のまま通常の転送動作を行います。このため、VCSとリンクアグリゲーション(ポートトランキング)を組み合わせれば、回線を冗長化するだけでなく、予備回線の帯域もフルに活用できます。
また、VCSグループを構成するシャーシの1つに障害が発生した場合でも、多くの場合VCSグループ全体を停止することなく復旧作業を行えます。
構成要素
VCSの主要な構成要素および設定要素について解説します。VCSグループ
VCS機能によって作られる仮想的なシャーシをVCSグループと呼びます。VCSグループは2台のシャーシ(スタックメンバー)で構成されます。VCSグループのIPアドレス
VCS構成時、IPアドレスの設定は個々のスタックメンバーではなく、VCSグループに対して行います。そのため、マスター(後述)が切り替わっても、IPアドレスはそのまま引き継がれます。VCSグループのMACアドレス
VCSグループのMACアドレスとしては、VCSグループ専用のバーチャルMACアドレスを使います。マスターが切り替わってもVCSグループのMACアドレスは変更されないため、MACアドレス変更にともなう通信への影響はありません。スタックメンバー
VCSグループを構成する個々のシャーシをスタックメンバー(メンバー)と呼びます。スタックメンバーは、役割によってマスターとスレーブの2つに分類されます。マスター
マスターはVCSグループの動作を制御するメンバーです。各VCSグループには必ず1台マスターが存在します。マスターは、VCSグループのコンフィグファイル、MACアドレステーブル(FDB)、ARPテーブル、IPルーティングテーブルを維持・管理し、その他のメンバー(スレーブ)に配布します。マスターは、VCSグループの起動時にメンバー間のメッセージ交換により自動的に選出されます。選出基準は次のとおりです。どちらのパラメーターも値が小さいほど優先度が高くなります。
- プライオリティー
- MACアドレス
スレーブ
マスター以外のメンバーはスレーブになります。スレーブはVCSグループの制御は行いませんが、各種テーブルをマスターと同期し、VCSグループの一員としてレイヤー2/レイヤー3のフレームおよびパケット転送動作を行います。またスレーブは、マスターの状態をつねに確認しており、マスターに障害が発生したときは次点のスレーブがマスターに昇格してVCSグループの制御権を引き継ぎます。
スタックメンバーID
VCSグループ内の各メンバーを識別するため、各メンバーには1~2のスタックメンバーIDを割り当てます。一度設定したスタックメンバーIDはシステムファイルに保存され、それ以降は自動的に変更されることはありません。
スタックメンバーIDはマスターの選出とは無関係ですが、VCSグループの設定を行うときには大きな意味を持ちます。これは、スイッチポートを「スタックメンバーID」.「スロット番号」.「ポート番号」の形式で指定するためです。たとえば、スタックメンバーID「2」のスロット1のスイッチポート12は、「port2.1.12」のように表します。
プライオリティー
VCSグループのマスターを選出するときの第一の基準は、各メンバーのプライオリティーです。VCSグループの各メンバーが起動したとき、どのメンバーがマスターになるかを決定しますが、このときプライオリティー値のもっとも小さいメンバーがマスターに選出されます。同一プライオリティー値のメンバーが複数存在している場合は、第二の基準であるMACアドレスのもっとも小さいメンバーがマスターに選出されます。各メンバーのプライオリティーはCLIコマンドで変更することができます。有効範囲は0~255、初期値は128です。明示的にプライオリティーを設定していない場合はすべてのメンバーが同じプライオリティー(128)を持つため、もっとも小さいMACアドレスを持つメンバーがマスターに選出されることとなります。
スタックリンク
スタックメンバー間は、各メンバーに装着されたコントロールファブリックカードAT-SBx81CFC960間を専用のスタックモジュールAT-StackOP/0.3、AT-StackOP/9.0と対応ケーブル、または、スタック/ポート兼用モジュールAT-SP10SR、AT-SP10LR、AT-SP10ER40/Iと対応ケーブルで接続します。この接続をスタックリンクと呼びます。スタックリンクは、メンバー間で通常のネットワークトラフィックを転送するために使用されるほか、リンクステータスを監視することによりマスター・スレーブ間の状態確認にも使用されます。基本動作
通常時
起動
2台のシャーシをスタック接続して電源を入れると、各シャーシはメッセージを交換しあってスタック内の他のシャーシ(スタックメンバー)を検出し、自律的にスタックトポロジーを構築します。マスター選出
次にどのメンバーがマスターになるかを決定します。選出方法は次のとおりです。- プライオリティー値のもっとも小さいメンバーが1台だけ存在する場合は、そのメンバーがマスターになります。
- プライオリティー値のもっとも小さいメンバーが複数存在する場合は、MACアドレスのもっとも小さいスイッチがマスターになります。
仮想シャーシとしての動作
起動、マスター選出を経て、VCSグループの起動が完了し、仮想シャーシとしての通常動作が始まります。マスターは、VCSグループ全体としてのコンフィグ、MACアドレステーブル(FDB)、ARPテーブル、IPルーティングテーブルを維持管理し、これをスレーブに配布します。
スレーブは、マスターから配布された情報をもとにこれらテーブルの同期をとり、つねに最新の状態を保つことにより、VCSグループ全体で同じ情報が保持されるようにします。
これらの情報をもとに、マスター、スレーブの両方のメンバーが、仮想シャーシとしてレイヤー2・レイヤー3の転送動作を行います。なお、このとき、仮想シャーシのMACアドレスとしては、VCSグループ専用のバーチャルMACアドレスを使います。
障害発生時
障害検出メカニズム
VCSでは、スタックポートのリンク状態を監視することでVCSグループの障害を検出します。| スタックリンク | すべてアップ | 正常 |
| 一部分のみダウン | スタックリンクの部分障害 | |
| すべてダウン | マスター障害 |
障害発生箇所と影響
実際のネットワークでは、VCSグループだけでなく、VCSグループに接続された回線の障害なども起こりえます。以下では、VCS構成で起こりうる障害とそれらの影響についてまとめます。
| 1 | マスター障害 | ||||
| 2 | スレーブ障害 | ||||
| 3 | スタックリンク障害 | 一部のケーブルのみダウン(b) | |||
| 4 | 回線障害(トランクリンク) | ||||
VCSネットワークにおいて想定されるこれらの障害のうち、VCSグループ自体の障害は1~3の3種類です。さらに、これらのうちで実際にVCSグループとしてのアクションがとられるのは1(マスター障害)だけです。以下では、マスター障害時にVCSグループがとるアクションを説明します。
マスター切り替え
本製品は、マスター/スレーブ間でコンフィグ情報やL2/L3 テーブル情報を事前に共有することで、VCSマスター障害発生時のマスター切り替えをスムーズに行う動作に対応しています。マスターに障害が発生し、マスターが完全に停止した場合は、次の流れでマスターの切り替えが行われます。

- マスターに障害が発生する
これによりスレーブはマスターとのスタックリンクがすべてダウンしたことをただちに検出する。
- スレーブがマスターに昇格する
バーチャルMACアドレス機能により、VCSグループのMACアドレスは変化しないため、MACアドレスの変更に起因する通信断はありません。
- マスター切り替え完了
VCSグループはシャーシ1台の構成で動作を続けます。
障害が発生したメンバーシャーシを交換すればVCSグループは再び2台シャーシ構成となります。