[index]
CentreCOM x900シリーズ・SwitchBlade x908 コマンドリファレンス 5.4.4
バーチャルシャーシスタック(VCS) / 概要
バーチャルシャーシスタック(VCS)の概要について説明します。
特長
バーチャルシャーシスタック(以下、VCS)は、複数のスイッチを専用のスタックモジュールとスタックケーブルで接続することにより、仮想的に1台のスイッチとして動作させる機能です。
VCSを利用すると、次のことを実現できます。
- 管理性の向上
複数のスイッチを1台の仮想的なスイッチ(VCSグループと呼びます)として扱うことができるため、個々のスイッチを個別に管理する場合に比べて、設定や管理がしやすくなります。
- ネットワーク構成の簡素化
通常、複数のスイッチを連携させて運用するためには、スパニングツリープロトコルやVRRP、OSPFなどの各種プロトコルを組み合わせて使用する必要がありますが、VCSグループを構成する複数のスイッチはネットワーク上の他の機器からは1台に見えるため、ネットワークの構成をシンプルにすることができます。
- 高可用性
VRRPなどとは異なり、VCSグループを構成するスイッチはすべて「アクティブ」状態のまま通常の転送動作を行います。このため、VCSとリンクアグリゲーション(ポートトランキング)を組み合わせれば、回線を冗長化するだけでなく、予備回線の帯域もフルに活用できます。
また、VCSグループを構成するスイッチの1つに障害が発生した場合でも、多くの場合VCSグループ全体を停止することなく復旧作業を行えます。

構成要素
VCSの主要な構成要素および設定要素について解説します。
VCSグループ
VCS機能によって作られる仮想的なスイッチをVCSグループと呼びます。VCSグループは複数のスイッチ(スタックメンバー)で構成されます。
VCSグループのIPアドレス
VCS構成時、IPアドレスの設定は個々のスタックメンバーではなく、VCSグループに対して行います。そのため、マスター(後述)が切り替わっても、IPアドレスはそのまま引き継がれます。
VCSグループのMACアドレス
VCSグループのMACアドレスとしては、VCSグループ専用のバーチャルMACアドレスを使います。マスターが切り替わってもVCSグループのMACアドレスは変更されないため、MACアドレス変更にともなう通信への影響はありません。
Note - バーチャルMACアドレス機能は初期設定では無効ですが、VCS使用時はバーチャルMACアドレス機能を必ず有効化してください。無効状態での運用はサポート対象外となります。
Note - ファームウェアバージョン5.4.3-0.2以降では、VCS使用時にバーチャルMACアドレス機能の有効化が必須となりました。
スタックメンバー
VCSグループを構成する個々のスイッチをスタックメンバー(メンバー)と呼びます。スタックメンバーは、役割によってマスターとスレーブの2つに分類されます。
マスター
マスターはVCSグループの動作を制御するメンバーです。各VCSグループには必ず1台マスターが存在します。マスターは、VCSグループのコンフィグファイル、MACアドレステーブル(FDB)、ARPテーブル、IPルーティングテーブルを維持・管理し、その他のメンバー(スレーブ)に配布します。
マスターは、VCSグループの起動時にメンバー間のメッセージ交換により自動的に選出されます。選出基準は次のとおりです。どちらのパラメーターも値が小さいほど優先度が高くなります。
- プライオリティー
- MACアドレス
スレーブ
マスター以外のメンバーはスレーブになります。スレーブはVCSグループの制御は行いませんが、各種テーブルをマスターと同期し、VCSグループの一員としてレイヤー2/レイヤー3のフレームおよびパケット転送動作を行います。
またスレーブは、マスターの状態をつねに確認しており、マスターに障害が発生したときは次点のスレーブがマスターに昇格してVCSグループの制御権を引き継ぎます。
スタックメンバーID
VCSグループ内の各メンバーを識別するため、各メンバーには1〜8のスタックメンバーIDが割り当てられます。明示的にIDを設定していない場合は、マスターがID=1となり、ID=1のスタックポート1に接続されているメンバーがID=2、ID=2のスタックポート1に接続されているメンバーがID=3、というように順番にIDが割り振られます。また、CLIコマンドやスタックモジュール上のセレクトボタンによって、各メンバーのIDを明示的に設定することもできます。
一度割り当てられたスタックメンバーIDはシステムファイルに保存され、それ以降はマスターのIDと重複しないかぎり自動的に変更されることはありません。
スタックメンバーIDはマスターの選出とは無関係ですが、VCSグループの設定を行うときには大きな意味を持ちます。これは、スイッチポートを「スタックメンバーID」.「拡張モジュールベイ番号」.「ポート番号」の形式で指定するためです。たとえば、スタックメンバーID「2」の本体スイッチポート12は、「port2.0.12」のように表します。
プライオリティー
VCSグループのマスターを選出するときの第一の基準は、各メンバーのプライオリティーです。VCSグループの各メンバーが起動したとき、どのメンバーがマスターになるかを決定しますが、このときプライオリティー値のもっとも小さいメンバーがマスターに選出されます。同一プライオリティー値のメンバーが複数存在している場合は、第二の基準であるMACアドレスのもっとも小さいメンバーがマスターに選出されます。
各メンバーのプライオリティーはCLIコマンドで変更することができます。有効範囲は0〜255、初期値は128です。明示的にプライオリティーを設定していない場合はすべてのメンバーが同じプライオリティー(128)を持つため、もっとも小さいMACアドレスを持つメンバーがマスターに選出されることとなります。
スタックリンク
スタックメンバーは、スタックモジュール(またはSwitchBlade x908本体背面の広帯域スタックポート)とスタックケーブルを使って接続します。この接続をスタックリンクと呼びます。スタックリンクは、メンバー間で通常のネットワークトラフィックを転送するために使用されるほか、リンクステータスを監視することによりマスター・スレーブ間の状態確認にも使用されます。
レジリエンシーリンク
スタックメンバーは、マネージメント用Ethernetポート(eth0)または特殊な設定を施したスイッチポートとUTPケーブルを使って状態確認用の予備リンクを構成します。これをレジリエンシーリンクと呼びます。レジリエンシーリンクは状態確認にだけ使用され、ネットワークトラフィックの転送には使用されません。状態確認は、マスターが0.5秒間隔で送信する「ヘルスチェック」メッセージをスレーブが受信することによって行います。スレーブはヘルスチェックメッセージを4回連続して受信できなかった場合にヘルスチェック失敗と判断します。このときスレーブは、スタックリンクもダウンしていればマスター障害、スタックリンクがアップしていればレジリエンシーリンク障害と判断します。
基本動作
通常時
起動
複数のスイッチをスタック接続して電源を入れると、各スイッチはメッセージを交換しあってスタック内の他のスイッチ(スタックメンバー)を検出し、自律的にスタックトポロジーを構築します。
マスター選出
次にどのメンバーがマスターになるかを決定します。選出方法は次のとおりです。
- プライオリティー値のもっとも小さいメンバーが1台だけ存在する場合は、そのメンバーがマスターになります。
- プライオリティー値のもっとも小さいメンバーが複数存在する場合は、MACアドレスのもっとも小さいスイッチがマスターになります。
仮想スイッチとしての動作
起動、マスター選出を経て、VCSグループの起動が完了し、仮想スイッチとしての通常動作が始まります。
マスターは、VCSグループ全体としてのコンフィグ、MACアドレステーブル(FDB)、ARPテーブル、IPルーティングテーブルを維持管理し、これをスレーブに配布します。
スレーブは、マスターから配布された情報をもとにこれらテーブルの同期をとり、つねに最新の状態を保つことにより、VCSグループ全体で同じ情報が保持されるようにします。
これらの情報をもとに、マスター、スレーブのすべてのメンバーが、仮想スイッチとしてレイヤー2・レイヤー3の転送動作を行います。なお、このとき、仮想スイッチのMACアドレスとしては、VCSグループ専用のバーチャルMACアドレスを使います。
Note - バーチャルMACアドレス機能は初期設定では無効ですが、VCS使用時はバーチャルMACアドレス機能を必ず有効化してください。無効状態での運用はサポート対象外となります。
Note - ファームウェアバージョン5.4.3-0.2以降では、VCS使用時にバーチャルMACアドレス機能の有効化が必須となりました。
障害発生時
障害検出メカニズム
VCSでは、次の2つの状態を監視することでVCSグループの障害を検出します。
- スタックポートのリンク状態
- スレーブにおけるヘルスチェックメッセージの受信状態(レジリエンシーリンク経由)
これらの2つの状態の組み合わせによって、次に示す4とおりの判断が行われます。
|
ヘルスチェック |
成功 |
失敗(4回連続受信できず) |
スタックリンク |
アップ |
正常 |
レジリエンシーリンク障害 |
ダウン |
スタックリンク障害 |
マスター障害 |
障害発生箇所と影響
実際のネットワークでは、VCSグループだけでなく、VCSグループに接続された回線の障害なども起こりえます。以下では、VCS構成で起こりうる障害とそれらの影響についてまとめます。

障害発生箇所 |
アクション |
通信停止時間(目安)(a) |
マスター |
スレーブ |
1 |
マスター障害 |
システム停止 |
マスター昇格 |
約0.5秒〜 |
2 |
スレーブ障害 |
変化なし |
システム停止 |
数ミリ秒単位 |
3 |
スタックリンク障害 |
ケーブル(片側) |
変化なし |
変化なし |
数ミリ秒単位 |
ケーブル(両側)またはモジュール |
変化なし |
全ポート無効化 |
数秒単位 |
4 |
レジリエンシーリンク障害 |
変化なし |
変化なし |
影響なし |
5 |
回線障害 |
トランクリンク |
変化なし |
変化なし |
数ミリ秒単位 |
非トランクリンク |
変化なし |
変化なし |
数秒単位 |
Note - (a) 実際の通信停止時間はネットワークの構成や規模、使用しているプロトコルなどによって変動します。ここに示した時間はあくまでも目安です。お客様の使用環境で事前にご確認の上、ご使用ください。
VCSネットワークにおいて想定されるこれらの障害のうち、VCSグループ自体の障害は1〜4の4種類です。さらに、これらのうちで実際にVCSグループとしてのアクションがとられるのは1(マスター障害)と3(スタックリンク障害)の2つになります。以下では、これらの障害時にVCSグループがとるアクションを説明します。
マスター切り替え(VCSファストフェイルオーバー)
ファームウェアバージョン5.3.4-0.1以降のファームウェアでは、マスター/スレーブ間でコンフィグ情報やL2/L3テーブル情報を事前に共有することで、VCSマスター障害発生時のマスター切り替えをより高速に行う、VCSファストフェイルオーバー(VCS-FF)に対応しています。
マスターに障害が発生し、マスターが完全に停止した場合は、次の流れでマスターの切り替えが行われます。

- マスターに障害が発生する
これによりスレーブはマスターとのスタックリンクがダウンしたことをただちに検出する。
- ヘルスチェックが途絶える
マスター停止により、スレーブはレジリエンシーリンク経由でマスターから送信されるヘルスチェックメッセージを受け取れなくなる(ヘルスチェックメッセージは0.5秒間隔でマスターからスレーブに送信される)。ヘルスチェックを4回連続して受信できなかった場合、ヘルスチェック失敗と判断し、スタックリンクのダウンとあわせてマスター障害と判断する。
- 次点のスレーブがマスターに昇格する
バーチャルMACアドレス機能により、VCSグループのMACアドレスは変化しないため、MACアドレスの変更に起因する通信断はありません。
Note - バーチャルMACアドレス機能は初期設定では無効ですが、VCS使用時はバーチャルMACアドレス機能を必ず有効化してください。無効状態での運用はサポート対象外となります。
Note - ファームウェアバージョン5.4.3-0.2以降では、VCS使用時にバーチャルMACアドレス機能の有効化が必須となりました。
- マスター切り替え完了
なお、VCS-FFを有効に機能させるために、次の点に注意してください。
- VMAC(バーチャルMACアドレス)の設定が必要
VMAC無効時は、マスター切り替えが発生すると、Gratuitous ARPパケットを送信して、ARP/MACアドレステーブルの更新を行うため、VMACを有効にしている場合に比べ、マスター切り替えの時間が遅くなります。VMACを有効にした場合、各テーブルの更新が発生せず、切り替え時間が早くなります。
Note - バーチャルMACアドレス機能は初期設定では無効ですが、VCS使用時はバーチャルMACアドレス機能を必ず有効化してください。無効状態での運用はサポート対象外となります。
Note - ファームウェアバージョン5.4.3-0.2以降では、VCS使用時にバーチャルMACアドレス機能の有効化が必須となりました。
- platform silicon-profileコマンド、platform routingratioコマンドの設定はあらかじめ同期しておく必要あり
同一VCSグループを構成するスタックメンバー間では、あらかじめplatform silicon-profileコマンドとplatform routingratioコマンドの設定を同じにしておいてください。これらの設定が異なっていると、VCSグループ構築後も設定が同期されず、IPv6関連機能が正しく動作しないことがあります。
スレーブの全スイッチポート無効化
スタックリンクに障害が発生した場合、すなわち、両方のスタックケーブルに障害が発生するか、いずれかのスタックモジュールに障害が発生した場合は、VCSグループが2つに分断されてしまいます。この場合、マスターが複数存在することになってしまうので、このような状況が発生したときは、次の流れでスレーブのスイッチポートをすべて閉鎖し、すべてのトラフィックがマスターに向けられるようにします。

- スタックリンクに障害が発生する
これによりスレーブはマスターとのスタックリンクがダウンしたことをただちに検出する。
- ヘルスチェックは引き続き受信できる
スタックリンク障害の場合、マスター自体は正常に動作しているため、スレーブはレジリエンシーリンク経由でマスターから送信されるヘルスチェックメッセージを引き続き受信できる。このため、ヘルスチェック成功、スタックリンクダウンの組み合わせとなり、スタックリンク障害が発生したと認識する。
- スレーブが全スイッチポートを無効化する
スタックリンク障害を検出したスレーブは、すべてのスイッチポートを無効化する。これにより、スレーブのスイッチポートはすべてリンクダウンする。
(このときスレーブは「全ポート無効化」以外のコンフィグがない状態となる)
- VCSグループ宛てのトラフィックがすべてマスターに向けられるようになる
VCSグループに接続されている他の機器は、スレーブとのリンクがダウンしたことを検出し、VCSグループ宛てのトラフィックをすべてマスターとのリンクに送信するようになる。
ナビゲーション
■ VCSの導入手順については、第2部 導入編をご覧ください。
(C) 2007 - 2014 アライドテレシスホールディングス株式会社
PN: 613-000751 Rev.V