$Date: 2023/07/18 17:30:00 $
L2MSのエージェントとして動作しているヤマハスイッチに対して、マネージャーから設定を行ったり動作状態を取得したりすることを「スイッチを操作する」と呼びます。
本文書では、ヤマハルーターをマネージャーとした際に、コマンドでスイッチを操作する方法やスイッチのコンフィグを保存/復元する方法について解説します。
SWX2300をマネージャーとした際の、スイッチの操作方法についてはSWX2300の技術資料を参照してください。
用語 | 説明 |
---|---|
マネージャー | L2MSのエージェントとして動作している、ヤマハネットワーク機器の管理を行う機器 ネットワーク内のヤマハスイッチ、ヤマハ無線APを管理する |
エージェント | L2MSのマネージャーによって管理されるヤマハスイッチ、およびヤマハ無線AP マネージャーから設定の確認や変更を行うことができる |
スイッチを操作するコマンドはswitch control function set、switch control function get、switch control function executeの3つです。それぞれのコマンドの役割は次の通りです。
スイッチが持つ機能に対して設定を行う場合に使用するもので「実行内容が保存されるコマンド」です。つまり、マネージャーからこのコマンドを実行した後show configでその内容が表示されます。使用例としては「ポートの通信速度を設定する」、「省電力機能の設定をする」などです。
このコマンドには大きく分けて2つの役割があります。
1つはスイッチの動作状態を取得する役割です。show statusで始まるコマンドに相当します。使用例としては「ポートのリンク状態を取得する」、「ポートで受信したパケット数を取得する」などです。
もう1つはスイッチの設定内容を取得する役割です。show configでも設定内容を表示することができますが、違う部分もあります。まず、switch control function setで設定した値をこのコマンドで取得することができます。この場合、取得できる値はshow configで表示される内容と同一です。それに加えてswitch control function setで設定していない項目の値も取得することができます。この場合、取得できる値は初期値となります。
スイッチに対して特定の動作を実行させるコマンドです。switch control function setコマンドと似ていますが、違いは実行内容が保存されないという点です。使用例としては「スイッチを再起動する」、「スイッチのMACアドレステーブルをクリアする」などです。
スイッチを操作するコマンドの書式は以下のようになっています。
switch control function set FUNCTION [INDEX] VALUE
no switch control function set FUNCTION [INDEX]
switch control function get FUNCTION [INDEX] [SWITCH]
switch control function execute FUNCTION [INDEX] [SWITCH]
no switch control function setコマンドを実行した場合は、show configの表示内容から削除されると同時に当該機能の設定値が初期値に戻ります。
MACアドレスが00:a0:de:01:02:03、経路がlan1:3であるスイッチのポート3の通信速度を100BASE-TX全二重に設定する方法を解説します。使用する機能はport-speedです。なお、当機能に関する詳細はコマンドリファレンスを参照してください。
# switch select 00:a0:de:01:02:03 switch(00:a0:de:01:02:03)#
switch(00:a0:de:01:02:03)# switch control function get port-speed 3 auto switch(00:a0:de:01:02:03)#
switch(00:a0:de:01:02:03)# switch control function set port-speed 3 100-fdx switch(00:a0:de:01:02:03)#
switch select 00:a0:de:01:02:03 switch control function set port-speed 3 100-fdx
switch(00:a0:de:01:02:03)# switch control function get port-speed 3 100-fdx switch(00:a0:de:01:02:03)#
switch(00:a0:de:01:02:03)# switch select lan1:3 switch(lan1:3)# switch control function get port-speed 3 100-fdx switch(lan1:3)#
スイッチがマネージャーの制御下にある時、マネージャーと配下のスイッチの設定内容は常に同期しています。
スイッチが接続されている状態でswitch control function setコマンドを実行すると、設定内容はマネージャーとスイッチの両方に保存されます。
また、スイッチが接続されていない状態でも当コマンドを実行することができます。この場合、設定内容はマネージャーにのみ保存されます。その後スイッチを接続すると、その内容が転送されます。なお、switch control function get、switch control function executeをスイッチが接続されていない状態で実行するとエラーになります。
同期はマネージャーからスイッチへの一方向であり、スイッチは常にマネージャーに設定されているconfigで動作します。
マネージャーにスイッチを接続した場合、最初にマネージャーとスイッチの設定内容が一致しているかどうかを調べます。一致していない場合は以下の処理が行われます。
例として事前にマネージャーに以下のconfigが設定されている場合を考えます。
switch select lan1:3 switch control function set system-name sales ... (a) switch control function set port-speed 2 100-fdx ... (a) switch control function set port-speed 5 10-hdx ... (a) switch select lan2 switch control function set system-name development ... (b) switch control function set port-speed 4 100-hdx ... (b)
lan1のポート3にスイッチを接続した場合、同期処理によって上記configの (a) の部分が転送されます。またlan2に接続した場合には (b) の部分が転送されます。このように経路指定で設定をした場合、どのようなMACアドレスを持つスイッチを接続しても、経路が一致していれば設定が転送されます。
マネージャーは配下のスイッチの設定内容を定期的に監視しており、マネージャーが持つconfigとの不整合を検出した場合に同期処理を行います。
同期処理には時間を要することがあります (数十秒〜数分)。同期処理中にスイッチは他の操作を受け付けることができません。コマンドを実行した場合、以下のような応答が表示されます。
エラー: スイッチは他の処理を行っています
この場合、コマンドはエラー扱いとなりマネージャーのconfigに保存されません。
同期処理の開始と終了はそれぞれ以下のSYSLOGで確認することができます。
[SWCTL] lan1:3(00:a0:de:01:02:03): sync start [SWCTL] lan1:3(00:a0:de:01:02:03): sync done
経路指定で設定を行っている場合には、スイッチの接続ポートを変えただけで同期処理が開始されることに注意してください。
MACアドレスと経路、それぞれの指定方法による設定が同一のスイッチを対象としてしまうことがあります。この場合は、MACアドレス指定による設定が優先されます。
例として、マネージャーに以下のconfigが設定されている場合を考えます。
switch select 00:a0:de:01:02:03 switch control function set port-speed 2 100-fdx ... (a) switch control function set port-speed 5 10-hdx ... (b) switch select lan1:3 switch control function set port-speed 3 100-hdx ... (c) switch control function set port-auto-crossover 4 off ... (d)
lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチを接続した場合、転送される設定は (a)、(b) となります。この状態で (a)、(b) の設定を削除すると同期処理が開始され (c)、(d) の設定が転送されます。このとき (a)、(b) の設定値は初期値に戻ります。
次に (c)、(d) の設定のみがある状態でスイッチを接続した場合を考えます。
switch select lan1:3 switch control function set port-speed 3 100-hdx ... (c) switch control function set port-auto-crossover 4 off ... (d)
lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチを接続すると (c)、(d) の設定が転送されます。
ここで (a) の設定を追加すると、MACアドレス指定による設定が優先されるので同期処理が開始され (a) の設定が転送されます。(c)、(d) の設定値は初期値に戻ります。
switch select 00:a0:de:01:02:03 switch control function set port-speed 2 100-fdx ... (a) switch select lan1:3 switch control function set port-speed 3 100-hdx ... (c) switch control function set port-auto-crossover 4 off ... (d)
同期処理が完了すると、次のコマンドを入力できます。引き続き (b) の設定を追加すると、その内容がスイッチに転送されます。
switch select 00:a0:de:01:02:03 switch control function set port-speed 2 100-fdx ... (a) switch control function set port-speed 5 10-hdx ... (b) switch select lan1:3 switch control function set port-speed 3 100-hdx ... (c) switch control function set port-auto-crossover 4 off ... (d)
スイッチに適用されている設定 (switch select) は、show status switch controlコマンドで確認することができます。
マネージャーにスイッチを接続しない状態で事前にswitch control function setコマンドを入力しておく場合、それが正しい設定なのか否かわからないことがあります。例えば、ポート10に対するport-speedの設定を入力したが、実際に接続したスイッチは8ポートであったというような場合です。
上記のように、スイッチを接続した結果設定の誤りが判明した場合、その設定はconfigから自動的に削除されます。ただしsaveは実行されないため、フラッシュROMには削除前のconfigが残っています。
他社スイッチの配下に複数のヤマハスイッチが接続されている場合の同期処理について説明します。
マネージャーには以下のconfigが設定されているものとします。以降の説明では当configをconfig (A)と記述します。
switch select lan1:3 switch control function set port-speed 3 100-fdx switch control function set port-auto-crossover 4 off
以下のような構成で、他社スイッチの配下にヤマハスイッチAを接続すると、当該スイッチはconfig (A)で同期されます。
+------------------+ | マネージャー | +--------+---------+ | lan1 port 3 | +--------+---------+ | 他社スイッチ | +--------+---------+ | port 2 | +--------+---------+ | ヤマハスイッチA | +------------------+
次に、他社スイッチの配下にヤマハスイッチBを追加で接続します。
+------------------+ | マネージャー | +--------+---------+ | lan1 port 3 | +--------+---------+ port 5 | 他社スイッチ +------------+ +--------+---------+ | | port 2 | | | +--------+---------+ +--------+---------+ | ヤマハスイッチA | | ヤマハスイッチB | +------------------+ +------------------+
この場合の動作は以下の通りです。
続けて、ヤマハスイッチAのLANケーブルを抜くと、ヤマハスイッチBはconfig (A)で同期されます。
+------------------+ | マネージャー | +--------+---------+ | lan1 port 3 | +--------+---------+ port 5 | 他社スイッチ +------------+ +--------+---------+ | | | +--------+---------+ | ヤマハスイッチB | +------------------+
switch control function defaultコマンドを使用するとスイッチの設定をまとめて削除することができます。以下のconfigを例として説明します。lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチが接続されているものとします。
switch select 00:a0:de:01:02:03 switch control function set port-speed 2 100-fdx ... (a) switch control function set port-speed 5 10-hdx ... (b) switch select lan1:3 switch control function set port-speed 3 100-hdx ... (c) switch control function set port-auto-crossover 4 off ... (d)
# switch control function default lan1:3
# switch control function default 00:a0:de:01:02:03
# switch control function default both lan1:3
switch control function defaultコマンドを実行した場合は、スイッチに適用される設定に変更がない場合でも必ず同期処理が行われます。
スイッチを接続していない状態で当コマンドを実行した場合、bothオプションを指定してもMACアドレスと経路の設定が同時に削除されることはありません。
マネージャーはスイッチのコンフィグを任意の名前のファイルとして保存したり、マネージャーに保存されているコンフィグファイルの内容でスイッチのコンフィグを復元することができます。
以下のマネージャー、およびエージェントでスイッチのコンフィグの保存/復元に対応しています。
機種 | ファームウェア |
---|---|
RTX1300 | Rev.23.00.03 以降 |
RTX1220 | Rev.15.04.01 以降 |
RTX830 | Rev.15.02.03 以降 |
NVR510 | Rev.15.01.13 以降 |
NVR700W | Rev.15.00.14 以降 |
RTX1210 | Rev.14.01.28 以降 |
機種 | ファームウェア |
---|---|
SWX3200-52GT | Rev.4.00.02 以降 |
SWX3200-28GT | |
SWX3100-18GT | Rev.4.01.20 以降 |
SWX3100-10G | Rev.4.01.02 以降 |
SWX2310P-28GT | Rev.2.02.02 以降 |
SWX2310P-18G | |
SWX2310P-10G | |
SWX2310-52GT | Rev.2.04.01 以降 |
SWX2310-28GT | |
SWX2310-18GT | |
SWX2310-10G | |
SWX2300-24G | Rev.2.00.14 以降 |
SWX2300-16G | |
SWX2300-8G | |
SWX2210P-28G | Rev.1.03.01 以降 |
SWX2210P-18G | |
SWX2210P-10G | |
SWX2210-24G | Rev.1.02.01 以降 |
SWX2210-16G | |
SWX2210-8G |
コンフィグの保存/復元の対象となるスイッチは、マネージャーにL2MSのエージェントとして認識されている必要があります。
switch control config getコマンドで、スイッチのコンフィグをマネージャーに保存することができます。
SWITCHパラメータにMACアドレスもしくは経路を指定した場合は、指定したスイッチのコンフィグを保存します。SWITCHパラメータを省略した場合やallを指定した場合は、マネージャーが認識している全てのスイッチのコンフィグを保存します。INTERFACEパラメータを指定した場合は、指定のインターフェースにつながっているスイッチのコンフィグを保存します。
MACアドレス、および経路によるスイッチの指定については、こちらを参照ください。
以下にswitch control config getコマンドの入力例を示します。
コマンド入力例 | 説明 |
---|---|
switch control config get all | マネージャーが認識している全てのスイッチのコンフィグを保存する |
switch control config get lan1 all | マネージャーのLAN1のネットワークで認識されているスイッチのコンフィグを保存する |
switch control config get 00:a0:de:01:02:03 | MACアドレスが00:a0:de:01:02:03であるスイッチのコンフィグを保存する |
switch control config get lan1:2 | lan1:2に接続されているスイッチのコンフィグを保存する |
また、schedule at コマンドとswitch control config getコマンドを組み合わせることによって、定期的にコンフィグを保存することもできます。
# schedule at 1 */* 12:00 * switch control config get all
スイッチから取得したコンフィグは、switch config directoryコマンドで指定したディレクトリに保存されます。デフォルトでは RTFS領域 のディレクトリ /sw_config ですが、外部メモリ(usb1:, sd1: など)も指定することができます。PATHパラメータに相対パスを指定した場合は、環境変数 PWD を基点としたパスと解釈されます。なお、指定のディレクトリがRTFS領域となる場合には、PATHパラメータにマルチバイト文字を使用することはできません。
指定のディレクトリが存在しない場合は、switch control config getコマンド実行時に作成されます。
スイッチから取得したコンフィグは、switch config filenameコマンドで指定したファイル名で保存されます。switch config filenameが設定されていない場合は、"対象スイッチのMACアドレス" + ".conf"を使用します。ただし、:(コロン) は _ (アンダースコアー)に置き換えられます。例えば、対象スイッチのMACアドレスが"00:a0:de:01:02:03"である場合は、ファイル名は"00_a0_de_01_02_03.conf"となります。
switch config filenameコマンドの設定は以下のように行います。
# switch select 00:a0:de:01:02:03 switch(00:a0:de:01:02:03)#
switch(00:a0:de:01:02:03)# switch config filename config.conf
switch select 00:a0:de:01:02:03 switch config filename config.conf
ひとつのスイッチに対して、switch selectコマンドがMACアドレス指定と経路指定の両方で設定されている場合は、MACアドレス指定の設定が優先されます。例として、経路がlan1:4、MACアドレスが00:a0:de:01:02:03のスイッチの場合を示します。
以下のように経路指定の設定だけがある場合は、ファイル名はlan1_4.confを使用します。
switch select lan1:4 switch config filename lan1_4.conf
以下のようにMACアドレス指定と経路指定の両方の設定がある場合は、MACアドレス指定の設定が優先され、ファイル名はconfig.confを使用します。
switch select lan1:4 switch config filename lan1_4.conf switch select 00:a0:de:01:02:03 switch config filename config.conf
switch control config setコマンドで、マネージャーに保存されているコンフィグファイルの内容でスイッチのコンフィグを復元することができます。
コンフィグを復元するスイッチの指定方法、コンフィグの保存場所、コンフィグのファイル名についてはコンフィグを保存するときと同様です。
以下にswitch control config setコマンドの入力例を示します。
コマンド入力例 | 説明 |
---|---|
switch control config set all | マネージャーが認識している全てのスイッチのコンフィグを復元する |
switch control config set lan1 all | マネージャーのLAN1のネットワークで認識されているスイッチのコンフィグを復元する |
switch control config set 00:a0:de:01:02:03 | MACアドレスが00:a0:de:01:02:03であるスイッチのコンフィグを復元する |
switch control config set lan1:2 | lan1:2に接続されているスイッチのコンフィグを復元する |
また、schedule at コマンドとswitch control config setコマンドを組み合わせて使用することもできます。
switch control config setコマンド実行後、スイッチのコンフィグの復元が完了すると、当該スイッチが再起動されます。
switch control config-auto-set useコマンドで、ゼロコンフィグ機能を使用するか否かを設定します。
以下の場合に動作します。
ゼロコンフィグに対応しているスイッチは、LANマップ/スイッチ制御GUI/Yamaha LAN Monitor 機能比較表を参照してください。
スイッチのコンフィグは、switch config directoryコマンドで設定したディレクトリにあるファイルを転送できます。
例えば、SDカードにファイルを入れておいて以下のコマンドで指定することもできます。
switch config directory sd1:/
ゼロコンフィグ機能では以下の手順で動作します。