はじめに
本記事では、Cisco Catalyst 4500-X における VSS(Virtual Switching System)の設定手順を解説します。
VSS(Virtual Switching System)とは
VSS とは、2台の物理的な Catalyst スイッチを、「論理的に1台のスイッチ」 として動作させるクラスタリング技術です。
通常、2台のスイッチを冗長化する場合、スパニングツリープロトコル(STP)によって片方のリンクがブロックされ、帯域が無駄になることがあります。しかし VSS を組むことで以下のようなメリットが生まれます。
- 論理 1 台化
-
管理 IP が 1 つになり、運用が楽になる。
- STP フリー
-
ループ構造がなくなるため、複雑な STP 設計が不要
- 帯域の有効活用
-
2台のポートをまたぐ EtherChannel (MEC) を組めるため、全帯域を Active/Active で使用可能
対象機器と後継技術について
VSS は元々、大規模コアスイッチである Catalyst 6500 シリーズ 向けの技術でしたが、その後 Catalyst 4500-X や 4500-E でもサポートされました。
現在主流の Catalyst 9300/9400/9500/9600 シリーズでは、VSS と同様の概念が 「StackWise Virtual(SVL)」 という名称に変わっています。 コマンド体系は少し異なりますが、「VSL リンクで同期する」「Dual Active 対策が必要」といった基本概念は VSS と共通です。
- VSS の基本: 仕組みと構築前のパラメータ設計
- 設定手順: VSL 作成からコンバージョンまでのステップ
- 障害対策: スプリットブレインを防ぐ Dual Active Detection 設定
VSS 構築の全体像とパラメータ
VSS を構築する際、事前決定が必要なパラメータがいくつかあります。 コマンド入力中に迷わないよう、以下の値を設計しておきます。
事前に決めるべきパラメータ
- Virtual Switch Domain ID (1-255)
-
- VSS のペアを識別する ID です。

【重要】 同一ネットワーク内に複数の VSS ペアが存在する場合、重複しない ID を設定する必要があります(重複すると仮想 MAC アドレスが競合する恐れがあります)
- Switch ID (1 or 2)
-
どちらの筐体を「スイッチ 1」、どちらを「スイッチ 2」にするか定義します。
- Switch Priority(任意)
-
- どちらを Active(主系)にしたいかを決定します。
- デフォルトは 100 です。Active にしたい方を高く(例: 200)設定します。
構成イメージ
- Switch 1(Active 予定): Priority 200
- Switch 2(Standby 予定): Priority 100
- Domain ID: 100
- VSL(Virtual Switch Link): お互いのステータスを同期するための専用リンク[1]10Gポート×2本で Port-Channel を組むのが一般的
このパラメータを元に、次項から実際に設定を投入していきます。
設定手順
まずは、2台のスイッチをつなぐ心臓部、VSL(Virtual Switch Link)を作成します。 ここには設定情報やステータス同期などの重要な制御パケットが流れます。
【重要】なぜ LACP ではなく「mode on」なのか?
VSL の EtherChannel 設定は、必ず mode on(強制) で設定する必要があります。 LACP や PAgP などのネゴシエーションプロトコルを使用してはいけません。



💡 理由は? VSS の同期プロセスは、スイッチの起動直後(OS の完全起動前)から始まります。 LACP などのプロトコルが動作するよりも「前」にリンクアップして通信を開始する必要があるため、ネゴシエーション不要で強制的にリンクを上げる mode on が必須となります。
Switch 1 側では switch virtual link 1 を設定します。
Switch-1(config)# interface port-channel 10
Switch-1(config-if)# switchport
Switch-1(config-if)# switch virtual link 1
Switch-1(config-if)# no shutdown
Switch-1(config-if)# exit
Switch-1(config)# interface range tenGigabitEthernet 1/1 - 2
Switch-1(config-if-range)# channel-group 10 mode on
Switch-1(config-if-range)# no shutdown
Switch-1(config-if-range)# endSwitch 2 側では switch virtual link 2 を設定します。
Switch-2(config)# interface port-channel 20
Switch-2(config-if)# switchport
Switch-2(config-if)# switch virtual link 2
Switch-2(config-if)# no shutdown
Switch-2(config-if)# exit
Switch-2(config)# interface range tenGigabitEthernet 1/1 - 2
Switch-2(config-if-range)# channel-group 20 mode on
Switch-2(config-if-range)# no shutdown
Switch-2(config-if-range)# end ※ここでは物理ポート Te1/1 と Te1/2 を使用する例とします。
これで、物理的な「土管(VSL)」の準備が整いました。 まだこの時点では、お互いは独立したスイッチとして動作しています。
VSL のリンク設定が完了したら、VSS ドメイン ID を割り当て、実際に変換モード(Conversion)を実行します。
1. Virtual Switch Domain の設定
まずは、先ほど決めたドメイン ID とスイッチ ID、プライオリティを設定します。
Switch-1(config)# switch virtual domain 100
Switch-1(config-vs-domain)# switch 1
Switch-1(config-vs-domain)# switch 1 priority 200
Switch-1(config-vs-domain)# switch 2 priority 100
Switch-1(config-vs-domain)# exitSwitch-2(config)# switch virtual domain 100
Switch-2(config-vs-domain)# switch 2
Switch-2(config-vs-domain)# switch 1 priority 200
Switch-2(config-vs-domain)# switch 2 priority 100
Switch-2(config-vs-domain)# exit※ 念のため、両方の筐体に「自分は誰で(Switch X)、相方は誰か」という情報を同じように入れておきます。
2. VSS モードへのコンバージョン(変換)
設定が入ったら、以下のコマンドで変換を実行します。 通常は Switch 1(Active) → Switch 2(Standby) の順で実施します。
このコマンドを実行し yes を選択すると、running-config が自動的に startup-config に保存され、即座に再起動がかかります。 「保存していなかったから設定が消えた」ということは起きませんが、再起動による通信断が発生するため、メンテナンス時間内に行う必要があります。
▼ 実行コマンドと出力例
Switch-1# switch convert mode virtual
This command will convert all interface names
to naming convention "interface-type switch-number/slot/port",
save the running config to startup-config and
reload the switch.
Do you want to proceed? [yes/no]: yesyes を押すと再起動が始まります。Switch 2 でも同様に実行してください。
3. 再起動後の変化
再起動から復帰すると、2台は「1台のスイッチ」として動作を開始します。
- インターフェース名の変化
-
従来
Te1/1だったポートは、Te1/1/1(Switch 1) やTe2/1/1(Switch 2) という 3桁表記(スイッチ番号/スロット/ポート)に変わります。 - コンソールの変化
-
Switch 2(Standby)のコンソールポートは操作を受け付けなくなり、すべての操作は Switch 1(Active) 側で行うことになります。
VSS 構築において、忘れてはならないのが Dual Active Detection(DAD)の設定です。 これは、万が一 VSL(心臓部のリンク)がすべて切断された際に、ネットワークが崩壊するのを防ぐための仕組みです。
もし DAD を設定していない状態で、何らかの障害により VSL ケーブルがすべて切断されたらどうなるでしょうか?
- Switch 1: 「Switch 2 との連絡が途絶えた。何か問題あったな。俺が Active を続けるぞ。」
- Switch 2: 「Switch 1 との連絡が途絶えた。何か問題あったな。俺が Active に昇格するぞ。」
結果、2台ともが「自分が Active だ」と主張 し始めます(これを Dual Active や スプリットブレイン と呼びます)



同じ IP アドレス、同じ仮想 MAC アドレスを持つスイッチがネットワーク上に2台出現することになり、IP 重複やループが発生し、ネットワークは通信不能(全断)に陥ります。。。
DAD の仕組み
DAD は、VSL とは別の「裏回線」を使って生存確認を行う仕組みです。 VSL が切れたとしても、DAD 経由で「私はまだ生きてますよ!」と伝えることで、片方を強制的に Recovery Mode(全ポート閉鎖) に移行させ、IP 重複を防ぎます。
設定例:Fast-Hello 方式
Catalyst 4500-X で最も一般的で推奨される Fast-Hello 方式の設定を紹介します。 VSL とは別に、直結のケーブルを1本用意して設定します。
1. グローバル設定(ドメイン内)
Switch(config)# switch virtual domain 100
Switch(config-vs-domain)# dual-active detection fast-hello
Switch(config-vs-domain)# exit2. インターフェース設定
DAD 用に用意したポート(例: Te1/1/10 と Te2/1/10)に設定を入れます。このポートはデータ通信には使えなくなります。
Switch(config)# interface range tenGigabitEthernet 1/1/10 , tenGigabitEthernet 2/1/10
Switch(config-if-range)# shutdown
Switch(config-if-range)# dual-active fast-hello
Switch(config-if-range)# no shutdown
Switch(config-if-range)# end


これで、万が一 VSL が切れても、この Fast-Hello リンクを通じて「どっちが身を引くか」を話し合えるようになります。
ステータス確認
設定と再起動が完了したら、VSS が正常に動作しているか確認します。 以下の3つのコマンドで、「役割」「リンク」「DAD」 の3点が正常であることを必ずチェックしてください。
① VSS ステータスの確認
show switch virtual コマンドで、2台のスイッチが正しく「Active」と「Standby」に分かれているかを確認します。
Switch# show switch virtual▼ 確認ポイント: Local switch と Peer switch がそれぞれ認識され、片方が Active、もう片方が Standby になっていれば正常です。
Executing the command on VSS member switch role = VSS Active, id = 1
Switch mode : Virtual Switch
Virtual switch domain number : 100
Local switch number : 1
Local switch operational role: Virtual Switch Active <-- ★ここ!
Peer switch number : 2
Peer switch operational role : Virtual Switch Standby <-- ★ここ!② VSL(リンク)の確認
show switch virtual link コマンドで、心臓部である VSL が正常にアップしているか確認します。
Switch# show switch virtual link▼ 確認ポイント: VSL Status : UP となっていること。ここが Down だと同期が取れません。
Executing the command on VSS member switch role = VSS Active, id = 1
VSL Status : UP <-- ★UPであることを確認
VSL Uptime : 7 minutes
VSL Control Link : Te1/1/1
...③ Dual Active Detection(DAD)の確認
show switch virtual dual-active fast-hello コマンドで、安全装置が有効になっているか確認します。
Switch# show switch virtual dual-active fast-hello▼ 確認ポイント: Detection が enabled: Yes になっており、ポートの状態が Dual Active Capable であることを確認します。
Executing the command on VSS member switch role = VSS Active, id = 1
Fast-hello dual-active detection enabled: Yes <-- ★Yesを確認
Fast-hello dual-active interfaces:
Port Local State Peer Port
---------------------------------------------------
Te1/1/10 Dual Active Capable Te2/1/10 <-- ★Capableを確認まとめ
本記事では、Catalyst 4500-X における VSS の構築手順と重要ポイントを解説しました。
- メリット: 2台を論理的に1台に統合でき、STP 設計や管理が劇的に楽になる。
- 注意点: VSL 設定時の
mode onや、手順の前後関係(コンバージョン前の保存など)を間違えると、起動しなくなるリスクがある。 - 必須対策: 万が一のスプリットブレインに備え、必ず Dual Active Detection(DAD)を設定する。
以上、最後までお読みいただきありがとうございました。
脚注
| ↑1 | 10Gポート×2本で Port-Channel を組むのが一般的 |
|---|








