【Cisco】Catalyst 4500-X VSS 設定方法|構築手順から Dual Active 対策まで

  • URLをコピーしました!
目次

はじめに

本記事では、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-X4500-E でもサポートされました。

💡 補足:Catalyst 9000 シリーズの場合

現在主流の 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 を組むのが一般的

このパラメータを元に、次項から実際に設定を投入していきます。

設定手順

STEP
VSL (Virtual Switch Link) の作成

まずは、2台のスイッチをつなぐ心臓部、VSLVirtual Switch Link)を作成します。 ここには設定情報やステータス同期などの重要な制御パケットが流れます。

【重要】なぜ LACP ではなく「mode on」なのか?

VSL の EtherChannel 設定は、必ず mode on(強制) で設定する必要があります。 LACP や PAgP などのネゴシエーションプロトコルを使用してはいけません。

💡 理由は? VSS の同期プロセスは、スイッチの起動直後(OS の完全起動前)から始まります。 LACP などのプロトコルが動作するよりも「前」にリンクアップして通信を開始する必要があるため、ネゴシエーション不要で強制的にリンクを上げる mode on が必須となります。

Switch 1 の設定

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)# end
Switch 2 の設定

Switch 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/1Te1/2 を使用する例とします。

これで、物理的な「土管(VSL)」の準備が整いました。 まだこの時点では、お互いは独立したスイッチとして動作しています。

STEP
VSS ドメイン定義とコンバージョン

VSL のリンク設定が完了したら、VSS ドメイン ID を割り当て、実際に変換モード(Conversion)を実行します。

1. Virtual Switch Domain の設定

まずは、先ほど決めたドメイン ID とスイッチ ID、プライオリティを設定します。

▼ Switch 1(Active 予定)の設定
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)# exit
▼ Switch 2(Standby 予定)の設定
Switch-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 1Active) → 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]: yes

yes を押すと再起動が始まります。Switch 2 でも同様に実行してください。

3. 再起動後の変化

再起動から復帰すると、2台は「1台のスイッチ」として動作を開始します。

インターフェース名の変化

従来 Te1/1 だったポートは、Te1/1/1 (Switch 1) や Te2/1/1 (Switch 2) という 3桁表記(スイッチ番号/スロット/ポート)に変わります。

コンソールの変化

Switch 2(Standby)のコンソールポートは操作を受け付けなくなり、すべての操作は Switch 1(Active) 側で行うことになります。

STEP
Dual Active Detection(DAD)の設定

VSS 構築において、忘れてはならないのが Dual Active Detection(DAD)の設定です。 これは、万が一 VSL(心臓部のリンク)がすべて切断された際に、ネットワークが崩壊するのを防ぐための仕組みです。

【重要】「スプリットブレイン」の恐怖

もし DAD を設定していない状態で、何らかの障害により VSL ケーブルがすべて切断されたらどうなるでしょうか?

  1. Switch 1: 「Switch 2 との連絡が途絶えた。何か問題あったな。俺が Active を続けるぞ。」
  2. 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)# exit

2. インターフェース設定

DAD 用に用意したポート(例: Te1/1/10Te2/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 switchPeer 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 を組むのが一般的
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次