スタック機能


1 機能概要

スタックは、複数のスイッチを接続し、 仮想的な1台のスイッチとして動作させる機能 です。
スタックの特長について、以下に示します。

  1. 利用効率の高い冗長性の実現
    ネットワーク構成の単一障害点 (SPOF) を除去するための構成としては、 VRRP とSTP で構成する方法 と、 スタックとリンクアグリゲーションで構成する方法 があります。
    スタックを利用することで、VRRPと違い、待機スイッチがないことから、冗長性を確保しながらスイッチの利用効率を高めることができます。
  2. 容易なポート増設
    スイッチを追加することで,利用できるポート数を容易に増やすことができます。

スタック機能は、工場出荷時、 無効 に設定されています。


2 用語の定義

  1. メンバースイッチ
    スタックを構成するネットワークスイッチ。
    各スイッチは、スタックIDにより識別されます。

  2. スタックID
    スタックを構成するメンバースイッチを識別するためのID。
    スタックIDは、1からスタック構成可能な最大数 (現状は2) まで設定することができます。

  3. マスタースイッチ
    スタックを構成するネットワークスイッチを管理するスイッチ。
    初期設定では、スタックIDが1のスイッチがマスタースイッチとして動作します。

  4. スレーブスイッチ
    マスタースイッチによって管理されるネットワークスイッチ。
    初期設定では、スタックIDが1以外のスイッチがスレーブスイッチとして動作します。

  5. 仮想スイッチ
    スタック機能により 複数のメンバースイッチで構成された論理的な1台のスイッチ。

  6. スタックポート
    スタックを構成するネットワークスイッチを接続するために使用するSFP+スロット。

  7. スタックリンク
    スタックを構成するメンバースイッチ間の接続のこと。


3 機能詳細

3.1 スタックの構成

モデル毎にスタック可能な構成について、以下に示します。
本バージョンでは、 A, B, F のみ(同一モデルの二台構成)をサポート します。
なお、スタックは、障害時の影響を少なくすることを考慮し、 必ず、二つのスタックリンクで構成するようにしてください。

3.2 メンバースイッチ間の接続

スタック機能を有効にすると、メンバー間の接続用ポートとして、以下の SFP+スロット が スタックポート に切り替わります。

スタックポートは通常の通信ポートと異なり、メンバースイッチ間の通信にのみ利用されます。
メンバースイッチ間の接続は、ヤマハが提供する ダイレクトアタッチケーブル(YDAC-10G-1M/3M)、SFP+モジュール(YSFP-10G-SR/LR) でのみ可能です。
他社製品で接続した場合、スタックリンクは強制的にダウンします。
接続するスタックポートは、メンバースイッチの 若番 (Lower number) ポートと 老番 (Higher number) ポート を接続します。

3.3 マスタースイッチの選出とMACアドレスの付与

マスタースイッチの選出とMACアドレスの付与ルールについて、以下に示します。
なお、スタック構成時に使用するMACアドレスは、通信への影響をなくすため、以下のルールで適用します。

  1. 初期スタック構成時は、マスタースイッチ (ID 1のスイッチ) のMAC アドレスを仮想スイッチのMACアドレスとして使用します。
  2. スタック構成中にスレーブスイッチが (何らかの異常で) 離脱した場合、仮想スイッチは、設定中のMACアドレスを継続して使用します。
  3. スタック構成中にマスタースイッチが (何らかの異常で) 離脱した場合、仮想スイッチは、設定中のMACアドレスを継続して使用します。
    すなわち、スタック構成に組み込まれていないスイッチのMACアドレスを使用します。
  4. 障害が発生したスイッチとは別のスイッチ (MAC アドレスが異なるスイッチ) をメンバースイッチとして組み込んだ場合も、仮想スイッチは、設定中のMACアドレスを継続して使用します。
    現在の構成状況でスタック構成を組みなおしたい場合は、仮想スイッチを同時に再起動することで、再構築が行われます。
    (ID 1 がマスタースイッチとなり、仮想スイッチは、マスタースイッチのMACアドレスを使用します)


3.4 仮想スイッチに対する操作

スタック構成中の仮想スイッチに対する操作は、 基本的にマスタースイッチから制御します。
オペレーションに関する仕様について、以下に示します。

  1. 仮想スイッチにログインすると、 必ず、マスタースイッチにログインします。
    必要に応じて、スレーブスイッチにログインしたい場合は、 remote-login コマンドを使用してください。
  2. 仮想スイッチに対する設定 (running-config, startup-config) は、常にメンバースイッチ間で同期します。
    設定完了後は、必ず、 write コマンドで running-config を保存するようにしてください。
    なお、 write コマンドはマスタースイッチ側からのみ実行可能です。
  3. 仮想スイッチ運用時、L2/L3ネットワークスイッチとしての保存している情報 (e.g. FDB学習情報、ARPキャッシュなど)は、自動で同期されます。
    ユーザが意識する必要は特にありません。
  4. 仮想スイッチのログ参照は、ログイン後、 show logging コマンドで行います。
    本状態で参照しているログは、マスタースイッチのログであるため、スレーブスイッチのログを参照したい場合は、 remote-login コマンドで該当スイッチにログインしてからログを参照してください。

3.5 スタック構成時のスイッチの状態

メンバースイッチは、スタック構成中の状態を以下で管理します。
本状態は、 show stack コマンドで参照することができます。

  1. Setting
  2. Active
  3. Inactive
  4. Standalone
  5. Disable

3.6 異常状態の検出と措置

スタック構成中のメンバースイッチは、異常を検出すると、ネットワークサービスに影響がないように仮想スイッチ内で自律的に解決しようとします。
本スイッチは、以下の異常状態を監視します。

ハートビートは、メンバースイッチが正常に稼働しているかどうかを確認するための機能です。
ハートビートフレームが一定期間 (現在は4秒) 受信できなかった場合、メンバースイッチに異常が発生したと判断します。

以下に異常検出時の動作について、示します。



4 関連コマンド

関連コマンドについて、以下に示します。
詳細は、コマンドリファレンスを参照願います。



5 スタックの初期設定

スタック構成時の初期設定フローについて、以下に示します。

  1. 必要機材の準備
  2. メンバースイッチの設定
  3. メンバースイッチの接続

5.1 必要機材の準備

スタックを構成するために必要な機材を準備します。

5.2 メンバースイッチの設定

スタックを構成するメンバースイッチの設定を行います。
設定を開始する前に、以下について、検討します。

  1. メンバースイッチに割り当てる スタックID の決定
    メンバースイッチに割り当てるスタックIDは、 静的に決める 必要があります。
    初期設定時、 スタックID: 1 は、マスタースイッチとなり、それ以外のIDは、スレーブスイッチ になります。

  2. スタートアップコンフィグの保存先の決定
    スタック構成時のスタートアップコンフィグの保存先を決定します。
    保存先として フラッシュROM 内の 0~4 を選択し、説明文でスタック保存用とわかるようにします。

検討後、以下の手順で メンバースイッチを個別に設定 します。

  1. メンバースイッチの起動
    メンバースイッチを個別で起動し、シリアルコンソールからアクセスします。

  2. ファームウェアバージョンの確認と更新
    show environment コマンドで現在のファームウェアバージョンを確認します。
    Yamaha> show environment
    SWX3200-52GT BootROM Ver.1.00
    SWX3200-52GT Rev.4.00.05 (Fri Mar  9 09:34:05 2018) ... (ファームウェアバージョンの確認)
    main=SWX3200-52GT ver=00 serial=S00000000 MAC-Address=00a0.de00.0000
    ...
    

    最新の公開ファーウェアを RTpro にて確認します。
    公開されている該当スイッチのファームウェアのバージョンが起動中のファームウェアより新しい場合は、更新を行います。
  3. スタートアップコンフィグの保存先の設定
    startup-config select コマンドで、スタック運用時に使用するコンフィグを選択します。
    このとき、スタック運用時のコンフィグに使用することを 説明文 に設定することをお勧めします。
    Yamaha> enable
    Yamaha# startup-config description 2 Stack ... (startup-config #2 に "Stack" と説明文を設定)
    Yamaha# startup-config select 2 ... (startup-config #2を選択)
    reboot system? (y/n): y  ... (再起動する)
    


  4. スタック ID の設定
    スイッチの状態を show stack で確認し、スタック機能が無効になっていることを確認します。
    また、スタックIDを確認します。スタックID は初期値が 1 に設定されています。
    Yamaha> enable
    Yamaha#
    Yamaha# show stack
    Stack: Disable
    
    Configured ID: 1
    
    ID  Model          Status    Role    
    -------------------------------------
    Yamaha#
    

    必要に応じて、スタックIDを stack renumber コマンドを使用して、変更します。
    Yamaha(config)# stack 1 renumber 2 ... (スタックID を #1 から #2 に 変更する)
    Yamaha(config)# do show stack
    Stack: Disable
    
    Configured ID: 2
    
    ID  Model          Status    Role    
    -------------------------------------
    Yamaha#
    


  5. スタック機能の有効化
    stack enable コマンドを使用して、スタック機能を有効にします。
    コマンド投入後、本装置のリブートを行います。
    リブート完了後、default-config が適用されます。
    SWX3200(config)#stack enable ... (スタック機能を有効化)
    reset configuration and reboot system? (y/n): y ... (再起動の実行)
    

    再起動後、スイッチの状態を show stack で確認し、スタック機能が有効になっていることを確認します。
    また、スタートアップコンフィグの保存先も確認します。
    Yamaha> enable
    Yamaha#
    Yamaha# show stack
    Stack: Enable ... (スタック機能が有効になっている)
    
    Configured ID: 1
    Running ID   : 1
    Status       : Standalone
    
    ID  Model          Status      Role    
    -------------------------------------
    1   SWX3200-52GT   Standalone  Master ... (1台で動作しているため、Standalone で Master となる)
    
    Yamaha>show environment
    SWX3200-52GT BootROM Ver.1.00
    SWX3200-52GT Rev.4.00.05 (Fri Mar  9 09:34:05 2018)
    main=SWX3200-52GT ver=00 serial=S00000000 MAC-Address=00a0.de00.0000
    CPU:   2%(5sec)   2%(1min)   1%(5min)    Memory:  10% used
    Fan status: Normal
    Fan speed: FAN1=4000RPM FAN2=3870RPM
    Startup firmware: exec0
    Startup Configuration file: config2 ... (設定したスタートアップコンフィグになっていることを確認)
    Serial Baudrate: 9600
    Boot time: 2018/01/01 11:06:36 +09:00
    Current time: 2018/01/02 16:12:23 +09:00
    Elapsed time from boot: 1days 05:05:49
    Temperature status: Normal
    Temperature: 37 degree C
    Voltage: 11.99V    Current: 0.741A
    
    


5.3 メンバースイッチの接続

スタックを有効化したスイッチを、 ダイレクトアタッチケーブル または、 SFP+モジュール を使用して接続します。
接続方法は 3.2 メンバースイッチ間の接続 を参照ください。
なお、メンバースイッチの接続は、 電源を落とした状態、電源を入れた状態、どちらで行っても問題ありません。


メンバースイッチの接続後、 show stack コマンドでシステムの状態を確認してください。

Yamaha# show stack
Stack: Enable

Configured ID: 1
Running ID   : 1
Status       : Active

ID  Model          Status      Role    
-------------------------------------
1   SWX3200-52GT   Active      Master  ... (スタックID 1 のスイッチが マスター)
2   SWX3200-52GT   Active      Slave   ... (スタックID 2 のスイッチが スレーブ)  

メンバースイッチの初期設定状態を backup system コマンドを使用してSDカードにバックアップします。
SDカード内の /swx3200/firmware フォルダに swx3200.bin(ファームウェアファイル) を保存しておくことで、バックアップ実行時に設定とファームウェアの両方をバックアップすることができます。

Yamaha> enable
Yamaha# backup system  ... (マスタースイッチの全設定を SDカードへコピー)
Succeeded to backup system files and firmware file.
Yamaha# remote-login 2 ... (スレーブスイッチ (スタックID: 2) にリモートログイン)

Entering character mode
Escape character is '^]'.

SWX3200-52GT Rev.4.00.XX
  Copyright (c) 2018 Yamaha Corporation. All Rights Reserved.

Yamaha-2> enable
Yamaha-2# backup system  ... (スレーブスイッチの全設定を SDカードへコピー)
Succeeded to backup system files and firmware file.

スタックの初期設定は、以上で終了となります。
利用ネットワークに仮想スイッチを組み込み、運用に必要な設定を行います。
運用に必要な設定を完了した後は、初期設定後と同じく、異常時に備え、バックアップを行うようにしてください。


6 メンバースイッチの交換

2台の SWX3200-52GT を使用した構成で、メンバースイッチに異常が発生した場合の交換手順を紹介します。
SDカードを使用する場合と使用しない場合のそれぞれについて、以下に示します。

6.1 SDカードを使用した交換手順

SDカードを使ったバックアップ/リストアによってメンバースイッチの交換を行います。

  1. 通常運用時
    メンバースイッチへの設定完了後、障害発生を考慮して、SDカードへシステム情報をバックアップします。
    システム情報のバックアップは backup system コマンドを実行して行います。
    バックアップ実行前に、SDカード内の /swx3200/firmware フォルダに swx3200.bin(ファームウェアファイル) を保存しておきファームウェアのバックアップも行います。

  2. 障害発生
    スタックID: 2 のスレーブ機器で異常が発生したと仮定します。

  3. 障害復旧
    交換するメンバースイッチを用意し、障害が発生したスイッチのバックアップを保存したSDカードを接続します。
    restore system コマンドを実行することでファームウェアとシステム情報を適用します。
    適用後、 電源をOFFにして、動作中のマスタースイッチと接続し、電源をONにする ことで、スタック構成を復旧します。

6.2 SDカードを使用しない交換手順

SDカードを使わずにメンバースイッチの交換を行います。

  1. 運用開始時
    メンバースイッチの設置完了後、メンバースイッチに書き込まれているファームウェアと同じリビジョンのファームウェアをPCなどに保管します。
    各メンバースイッチのシリアル番号、使用中のコンフィグID、スタックIDを記録します。
    Yamaha> show environment
    SWX3200-52GT BootROM Ver.1.00
    SWX3200 Rev.4.00.05 (Fri Mar  9 09:34:05 2018)
    main=SWX3200-52GT ver=00 serial=S00000000 MAC-Address=00a0.de00.0000   ... (シリアル番号)
    CPU:   2%(5sec)   2%(1min)   1%(5min)    Memory:  10% used
    Fan status: Normal
    Fan speed: FAN1=4000RPM FAN2=3870RPM FAN3=3870RPM FAN4=4000RPM
    Startup firmware: exec0
    Startup Configuration file: config1   ... (コンフィグID)
    Serial Baudrate: 9600
    Boot time: 2018/01/01 11:06:36 +09:00
    Current time: 2018/01/02 16:12:23 +09:00
    Elapsed time from boot: 1days 05:05:49
    Temperature status: Normal
    Temperature: 37 degree C
    Voltage: 11.99V    Current: 0.741A
    Yamaha>
    Yamaha> show stack
    Stack: Enable
    
    Configured ID: 1   ... (スタックID)
    Running ID   : 1
    Status       : Active
    
    ID  Model          Status      Role
    -------------------------------------
    1   SWX3200-52GT   Active      Master
    2   SWX3200-52GT   Active      Slave
    


  2. 障害発生
    スタックID: 2 のスレーブ機器で異常が発生したと仮定します。

  3. 障害復旧
    交換するメンバースイッチを用意し、保管しておいたファームウェアを書き込みます。
    メンバースイッチを起動させて、起動時に使用するコンフィグIDを変更します。
    ※運用開始時に使用していたコンフィグIDが 0 だった場合、コンフィグIDを変更する必要はありません。
    Yamaha> enable
    Yamaha# startup-config select 1
    reboot system? (y/n): y
    

    再起動後、スタック機能を有効にします。
    設定するスタックIDは、運用開始時に記録したメンバースイッチのシリアル番号とスタックIDを参考にしてください。
    Yamaha> enable
    Yamaha# configure terminal
    Yamaha(config)# stack 1 renumber 2   ... (スタックID 2 を設定する)
    Yamaha(config)# stack enable         ... (スタック機能を有効にする)
    reset configuration and reboot system? (y/n): y
    

    スタック機能を有効にした後、 電源をOFFにして、動作中のマスタースイッチと接続し、電源をONにする ことで、スタック構成を復旧します。


7 ファームウェア更新

スタック構成時のファームウェア更新方法として、以下の二つの方法を提供します。

  1. 構成中のメンバースイッチを同時に更新する方法 (パラレル更新)
  2. ネットワークサービスの停止なしに更新する方法 (シーケンシャル更新)

パラレル更新は、サービス停止が発生してもよい時間を確保できる場合には、有効な方法です。
しかし、 スタック構成中は、サービス停止を伴わないシーケンシャル更新をお勧めします。
なお、スタック構成中のファームウェア更新は、以下のみに対応します。

SDカードを挿入したままファームウェアの更新を行うと、再起動時にSDカードブートが行われる可能性があります。
boot prioritize sd コマンドでSDカードブートを無効化することができます。

Yamaha> enable
Yamaha# boot prioritize sd disable   ... (SDカードブートを無効にする)
reboot system? (y/n): y

詳細は、 ファームウェア更新 を参照ください。

7.1 ファームウェアのパラレル更新

ファームウェアのパラレル更新は、スタック構成中のメンバースイッチのファームウェアを同時に更新します。
仮想スイッチ全体で更新のための再起動が発生するため、サービス停止が伴います。
パラレル更新を行う場合には、以下の点に注意をしてください。

パラレル更新の概要について、以下に示します。

7.2 ファームウェアのシーケンシャル更新

ファームウェアのシリアル更新は、スタック構成中のメンバースイッチのファームウェアを順次更新します。
仮想スイッチ全体で更新のための再起動が発生しないため、サービス停止を伴いません。(※注意事項6参照)
シーケンシャル更新を行う場合には、以下の点に注意をしてください。

シーケンシャル更新の概要について、以下に示します。


8 注意事項

  1. スタック機能を有効にすると、以下の機能を使用することができません。
    1. RMON
    2. DHCP クライアント
    3. VRRP
    4. MLDスヌーピング

  2. スタック機能有効時、機能としては利用できますが、一部制限が発生します。
    1. ミラーリング機能
      • メンバスイッチ間のミラーリングはできません。
    2. フロー制御
      • Pauseフレームを送信することができません。
    3. バックプレッシャー機能
      • スタックポートを経由する通信の場合、ジャム信号を送信しません。
    4. ポートLED
      • SWX2310P-28GT のみ、Link/ActモードでLEDは点滅しません。
    5. SFP 受光レベル監視
      • スタックポートの受光レベル監視は行いません。
    6. リンクアグリゲーション
      • 動的リンクアグリゲーション(LACP)は使用することができません。
      • 最大論理グループ数が1つ減ります。
    7. MODE ボタン
      • SWX2310P-28GT でスタックを構成した場合、MODE ボタンによる制御は 無効 です。
        SWX3200-28GT/52GT と同じく、ループ発生時 STATUSモードに自動遷移します
    8. コマンドライン入力
      • グローバルコンフィグレーションモードへ遷移できるユーザーが制限されます。
        コンソール入力でグローバルコンフィグレーションモードになっている状態で、
        新たにtelnetでログインし、グローバルコンフィグレーションモードに遷移した場合は、
        コンソール側のモードが自動的に特権EXECモードに遷移します。
        コンソール、telnet、ssh、リモートログイン、GUI設定が排他制御されます。

  3. スタック機能有効時、コマンドやGUIで各機能の設定をする際は、必ずスタック構成を組んでいる状態で行ってください。
    スタックが正しく構成できていない状態で行った場合は、設定が正しく反映されない場合があります。
    write コマンドと copy running-config startup-config コマンドは、マスタースイッチ側(Active状態)のみ実行できます。
    スレーブスイッチ側、および、スタックが正しく構成できていない状態では実行できません。

  4. スタック機能有効時、スタックの制御パケットが送信キュー#7, #6を使用しているため、その他のパケットを送信キュー#7, #6に割り当てないようにしてください。
    Qos有効時、CoS-送信キューID変換テーブルの初期設定では送信キュー#7, #6に割り当てがあるため、割り当てを変更してください。

  5. スタック機能有効時、スイッチ本体から送信されるフレームの送信キュー指定の初期設定が送信キュー#6になります。
    スイッチ本体から送信されるフレームの送信キュー指定の設定を初期設定から変更しないでください。

  6. 機器交換や接続不良などによりメンバースイッチが再接続された場合、スタック構成中の状態となるため一時的に全ての通信が停止状態になります。
    スタック構成完了後に通信停止状態が解除されます。
    ファームウェア更新(シーケンシャル更新)時も、startup-configの反映期間は一時的に停止状態になります。

  7. スタック構成時にマスタースイッチ/スレーブスイッチで設定(startup-config)に差異がある場合、スレーブスイッチの設定を更新し再起動します。


9 関連文書

トップへ戻る