はじめに
Cisco Catalyst 9000 シリーズで 2 台のスイッチを論理的に 1 台へ統合する技術が StackWise Virtual(SVL)です。キャンパスのコア/ディストリビューション層で、STP に依存しない冗長構成を組みたい場面で用いられます。従来の VSS(Catalyst 4500-X/6500)に相当する技術で、現行プラットフォームでの標準的な選択肢になっています。
本記事は、SVL とドメインの設定からリロードによる変換、Dual-Active Detection(DAD)までの手順を、Cisco 公式リファレンスに沿って整理した実務向けの備忘録です。
- StackWise Virtual の仕組みと、対応機種・前提条件
- SVL とドメインの設定から、リロードによる変換までの手順(コマンド例つき)
- スプリットブレインを防ぐ Dual-Active Detection の設定と、障害時の挙動
- VSS との違いと、Catalyst 4500-X などからの移行のポイント
結論を先に整理すると、StackWise Virtual は直接接続した同一モデルの 2 台を 1 台の仮想スイッチとして扱う技術で、SVL リンクと DAD を設定したうえでリロードを行うと standalone から SVL モードへ変換されます。両機で同一モデル・同一 IOS-XE・Network Advantage ライセンスがそろっていることが前提です。
VSS の後継にあたるため、サポートが終了した 4500-X などからの移行先としても有力です。
StackWise Virtual(SVL)とは
StackWise Virtual は、直接接続した 2 台の Catalyst 9000 スイッチを、制御プレーンと管理プレーンの観点から 1 台の論理スイッチとして動作させる技術です。2 台が 1 台として振る舞うことで、スパニングツリーはこのペアを 1 つのブリッジノードとして扱います。
主な利点は次のとおりです。
- ループフリー化: STP ドメインを縮小し、ブロックポートによる帯域の無駄を抑えられる。
- 単一の管理点: 管理 IP が 1 つになり、設定・運用がシンプルになる。
- 帯域の有効活用: 2 台をまたぐ Multi-Chassis EtherChannel(MEC)により、Active/Active で帯域を活用できる。
- FHRP の削減: HSRP / VRRP などのゲートウェイ冗長プロトコルへの依存を減らせる。
StackWise Virtual は Catalyst 9400 / 9500 / 9600 系(9500 High Performance、9500X を含む)でサポートされます。対応する機種・モジュール・速度はソフトウェアリリースによって異なるため、導入前に各機種のリリースノートで確認することを推奨します。
参考: Cisco Catalyst 9000 Platform StackWise Virtual White Paper
“StackWise Virtual enables the creation of a loop-free topology”
(StackWise Virtual はループフリーなトポロジーの構成を可能にします)
https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9000/nb-06-cat-9k-stack-wp-cte-en.html


構築前の前提条件と設計パラメータ
StackWise Virtual は前提条件が比較的多いため、設定前に環境を確認しておくと安全です。公式ドキュメントで示されている主な前提条件は次のとおりです。
- 2 台は相互に直接接続されていること。
- 2 台が同一のスイッチモデルであること。
- 両機のライセンスレベル・ソフトウェアバージョン・SDM テンプレートが一致していること。
- SVL を構成するポートはすべて同一速度であること(1G インターフェースでの SVL 構成は非対応)。
また、設計上は以下のパラメータを事前に決めておきます。
- Domain ID(1〜255、デフォルト 1)
-
StackWise Virtual ペアを識別する ID。同一ネットワーク内で重複しない値を割り当てます。
- Switch ID(1〜9、一般に 1 と 2)
-
各筐体に割り当てる番号。
- Switch Priority(1〜15、デフォルト 1)
-
Active にしたい側を高く設定します(最大 15)。
注意点として、StackWise Virtual を導入する際は、内部の制御通信に予約 VLAN 4094 が使われるため、この VLAN をネットワーク内で使用しないようにします(9500X は対象外)。また、SVL/DAD の設定は手動で行い、反映には再起動が必要です(同じく 9500X は対象外)。StackWise Virtual の設定コマンドは Network Advantage ライセンスでのみ認識され、Network Essentials では認識されません。
参考: Configuring Cisco StackWise Virtual (Catalyst 9500, IOS XE 17.13.x)
“configuration commands will be recognised only on a switch running Network Advantage license”
(設定コマンドは Network Advantage ライセンスのスイッチでのみ認識されます)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/17-13/configuration_guide/ha/b_1713_ha_9500_cg/configuring_cisco_stackwise_virtual.html
StackWise Virtual の設定手順
ここからは、SVL とドメインの設定 → リロードによる変換 → DAD の設定 → 確認、の順に進めます。本セクションのコマンドは、上記の Cisco 公式設定ガイドおよびホワイトペーパーで確認した内容に基づいています。設定例は Catalyst 9500 系を想定しています。
SVL とドメインの設定
まず、各筐体で StackWise Virtual ドメインと SVL を設定します。両機で同じ SVL リンク ID(ここでは 1)を指定します。あわせて、Active にしたい側のプライオリティを高く設定します。
Switch 1(Active 予定)の設定:
Switch-1(config)# switch 1 priority 15
Switch-1(config)# stackwise-virtual
Switch-1(config-stackwise-virtual)# domain 100
Switch-1(config-stackwise-virtual)# exit
Switch-1(config)# interface range TenGigabitEthernet 1/0/1 - 2
Switch-1(config-if-range)# stackwise-virtual link 1
Switch-1(config-if-range)# endSwitch 2(Standby 予定)の設定:
Switch-2(config)# stackwise-virtual
Switch-2(config-stackwise-virtual)# domain 100
Switch-2(config-stackwise-virtual)# exit
Switch-2(config)# interface range TenGigabitEthernet 1/0/1 - 2
Switch-2(config-if-range)# stackwise-virtual link 1
Switch-2(config-if-range)# endポート番号や速度は機種・モジュールにより異なります。SVL に使うポートは、対象機種でサポートされる速度・配置に合わせてください。
参照: Configuring Cisco StackWise Virtual(https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/17-13/configuration_guide/ha/b_1713_ha_9500_cg/configuring_cisco_stackwise_virtual.html)
リロードによる変換
SVL の設定後、設定を保存して両機を再起動すると、standalone から StackWise Virtual ドメインへ変換されます。これは一度きりの変換プロセスで、再起動後に 2 台が SVL ペアとしてオンラインに戻ります。再起動による通信断が発生するため、メンテナンス枠での実施が無難です。
Switch-1# write memory
Switch-1# reloadSwitch 2 でも同様に保存・再起動します。復帰後はインターフェース名にスイッチ番号が反映され、Switch 2 側のポートは TenGigabitEthernet2/0/1 のような表記になります。管理操作は Active 側に集約され、Standby 側のコンソールは操作を受け付けなくなります。
Dual-Active Detection(Fast Hello)の設定
SVL がすべて切断されると、両筐体が「自分が Active」と判断する状況(Dual Active/スプリットブレイン)が起こり得ます。これを検知・回避する仕組みが Dual-Active Detection(DAD)です。DAD リンクは、SVL とは別のポートに設定する必要があります。
ここでは一般的な Fast Hello 方式の設定例を示します。Fast Hello では、2 台を直結する専用リンクを用意します(最大 4 本まで割り当て可能)。
Switch(config)# interface range TenGigabitEthernet 1/0/48 , TenGigabitEthernet 2/0/48
Switch(config-if-range)# stackwise-virtual dual-active-detection
Switch(config-if-range)# endDAD には、このほかに中間スイッチ経由で検知する enhanced PAgP(ePAgP)方式もあります。直結リンクを確保できる環境では Fast Hello が扱いやすい選択肢です。
参照: Configuring Cisco StackWise Virtual(https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/17-13/configuration_guide/ha/b_1713_ha_9500_cg/configuring_cisco_stackwise_virtual.html)
構築後のステータス確認
変換と再起動が完了したら、StackWise Virtual の状態・SVL・DAD の 3 点を確認します。
StackWise Virtual の状態確認:
Switch# show stackwise-virtualドメイン番号、各スイッチの番号、Active/Standby の役割が想定どおりかを確認します。
SVL(リンク)の確認:
Switch# show stackwise-virtual linkSVL が正しく確立され、リンクが稼働していることを確認します。ここが正常でないと、ペアとしての同期が取れません。
DAD の確認:
Switch# show stackwise-virtual dual-active-detection各スイッチで Recovery Reload が有効になっていること、DAD リンクのポートが想定どおりに設定されていることを確認します。
あわせて show switch で 2 台の役割(Active/Standby)とプライオリティを、show redundancy で冗長モードが SSO、Standby が STANDBY HOT であることを確認しておくと、同期状態の裏取りになります。
スプリットブレインと Recovery 動作
DAD の役割を理解するうえで、障害時の挙動を押さえておくと運用判断がしやすくなります。
SVL がすべて切断されると、Standby 側は Active の状態を判断できず、自身が Active へ昇格しようとします。一方で元の Active が稼働し続けている場合、2 台が同時に Active となるスプリットブレインに陥ります。両機が同じ IP アドレス・STP ブリッジ ID などを使うため、ネットワークが不安定になります。
DAD リンクが生きていれば、この状況を検知できます。検知時には、元の Active 側が Recovery Mode に移行し、SVL と管理インターフェースを除く全ポートを閉塞します。これにより IP 重複を回避します。SVL の障害が復旧すると、Recovery Mode のスイッチは自動的に再起動し、Standby として再参加します。スプリットブレインによる影響を避けるため、DAD の併用が推奨されます。
なお、ペアがうまく形成されない場合、原因の多くは構成の不一致です。両機で IOS-XE バージョン、StackWise Virtual ドメイン ID、SVL/DAD リンクのインターフェース指定が一致しているかを確認するとよいでしょう。


VSS との違いと移行のポイント
StackWise Virtual は、考え方としては VSS(Catalyst 4500-X/6500)とよく似ています。専用リンクで状態を同期し、2 台を論理 1 台として扱い、DAD でスプリットブレインに備える、という基本構造は共通です。主な違いを整理すると次のようになります。
| 項目 | VSS(4500-X/6500) | StackWise Virtual(9400/9500/9600) |
|---|---|---|
| 同期リンク | VSL | SVL |
| リンク/役割の制御 | ― | LMP/SDP(9500X は LACP/IS-IS) |
| DAD 方式 | Fast Hello/ePAgP | Fast Hello/ePAgP |
| ライセンス | ― | Network Advantage が必要 |
| 予約 VLAN | ― | VLAN 4094(9500X を除く) |
| 位置づけ | サポート終了 | 現行 |
従来の VSS は、Catalyst 4500-X がすでに公式サポートを終了しているため、新規構築や更改では StackWise Virtual を前提に設計するのが現実的です。既存の VSS 環境からの移行を検討している場合は、移行元側の設定・確認手順を整理した関連記事『Catalyst 4500-X VSS 設定の手順と Dual Active 対策のポイント』もあわせて参照してください。設定コマンド体系は異なりますが、SVL/DAD の設計観点はそのまま移行の検討材料になります。
まとめ
本記事では、Catalyst 9000 における StackWise Virtual の設定手順と、障害時の挙動を整理しました。前提条件や予約 VLAN、リロードによる変換など、事前に押さえておくべき点を確認したうえで構築を進めると、つまずきを減らせます。VSS からの移行先としての位置づけも踏まえ、判断材料としてご活用ください。
- StackWise Virtual は 2 台の Catalyst 9000 を論理 1 台に統合する技術
- SVL は制御・データの両方を運ぶ専用 EtherChannel リンク
- 設定後はリロードで standalone から SVL モードへ変換
- 両機で同一モデル・同一 IOS-XE・Network Advantage が前提
- スプリットブレイン対策として Dual-Active Detection を併用
- 確認は show stackwise-virtual/link/dual-active-detection が基本
- VSS の後継にあたり、4500-X などからの移行先として有力
以上、最後までお読みいただきありがとうございました。

