コンフィグの管理

Standalone Mode本装置のコンフィグ管理について、概念、ライフサイクル、互換性等を説明します。

コンフィグに関するシステム動作の概要

本装置は起動時に内部ストレージからコンフィグを読み込み、メインメモリ上に展開します。

本装置の各機能はメインメモリ上に展開されたコンフィグによって動作が定められます。

設定の変更もメインメモリ上のコンフィグに対して行われますが、変更結果を直接動作に反映するのではなく、編集用に複製された反映候補コンフィグを編集し、エラーチェックを経て動作に反映されます。

変更され動作中のコンフィグは明示的に内部ストレージへ保存しない限り、再起動や電源断によって失われます。

コンフィグのライフサイクル

コンフィグの種類

本装置動の作内容を定義するコンフィグは、役割の異なる複数の領域に保持されます。
startup-config
内部ストレージに保存され、起動時に読み込まれるコンフィグです。
running-config
システム稼働中にメインメモリに保持し、各機能の動作を定めるコンフィグです。
candidate-config
システム稼働中にメインメモリに保持し、running-configに反映する前の編集や正当性チェックの対象となるコンフィグです。
config File
外部システムへ保存された、または外部で作成されたプレーンテキスト形式のコンフィグファイルです。
工場出荷時コンフィグ(factory-config)
システムが初期化された状態(startup-configが空)のとき、起動時に読み込まれるコンフィグです。
ファームウェアに固定的に含まれ、ファームウェアバージョンにより内容が変更される場合があります。ユーザによる編集はできません。

コンフィグを参照(表示)するオペレーション

show config flashrom
startup-configを参照します。システムが初期化されている場合は空になります。
show config [running]
running-configを参照します。runningは省略できます。
show config candidate
candidate-configを参照します。

コンフィグを編集するオペレーション

set / delete / password
candidate-configに対して、コンフィグパラメータを個別に追加・削除します。
  • コマンド実行ごとに文法エラーがチェックされ、エラーがなければrunning-configにも反映されます。
edit
editコマンドはスクリーンエディタを起動してcandidate-configを編集します。
commit
running-configにcandidate-configを反映します。反映前にエラーチェックが行われます。

コンフィグを操作するオペレーション

save-to flashrom
次回以降の起動時のために内部ストレージのコンフィグを更新する操作にあたります。
  • startup-configにrunning-configが反映される
load-from flashrom
動作中の設定変更を破棄して起動時の状態にロールバックする操作にあたります。
  • candidate-configにstartup-configが反映されます。ただしstartup-configが空(初期状態)の場合はエラーにります。
  • 反映されたcandidate-configをエラーチェックし、エラーがない場合はrunning-configにも反映されます。
システム起動
電源投入やリセットを含む再起動の操作にあたります。
  • candidate-configにstartup-configが反映されます。ただしstartup-configが空(初期状態)の場合は、candidate-configにfactory-configが反映されます。
  • 反映されたcandidate-configをエラーチェックし、エラーがない場合はrunning-configにも反映されます。
save-to stdout
PC等へコンフィグのバックアップコピーを退避するエクスポート操作にあたります。
  • シェルの標準出力にrunning-configが出力されます。
load-from stdin
PC等へ退避したコンフィグのバックアップコピーからリストアするインポート操作に当たります。
  • candidate-configにシェルの標準入力からコンフィグファイルの内容を反映します。
コンフィグファイルの内容にエラーがあった場合はエラー行を指摘し、正常な行のみcandidate-configに反映します。
エラーがなかった場合のみ、さらにcandidate-configをエラーチェックしrunning-configに反映します。
factory-config
コンフィグ初期化する操作にあたります。起動時のINITスイッチ押し下げによる初期化も同様です。
startup-configをクリアし空の状態にします。candidate-configやrunning-configは影響しません。
コンフィグの整形
running-configにcandidate-configが反映されようとするとき、ソートやスペースの調整など整形処理が行われます。
このため、編集されたり外部ファイルから反映された状態のcandidate-configとはテキスト上の差分が発生する場合があります。

「工場出荷状態」について

factory-configコマンドの実行やリセットスイッチにより設定内容を初期化した場合、内部ストレージ上にはコンフィグ(startup-config)が保存されていない状態になります。これを「初期状態」または「"factory-config"状態」と呼びます。

本装置が起動時にstartup-configを読み込もうとしたとき、初期状態でコンフィグが存在しないことがわかると、 インストールされているファームウェアにより初期コンフィグをメインメモリ上に展開します。 起動後、何も設定変更をせずにsave-to flashromコマンドで設定を保存した場合、初期コンフィグから反映されたstartup-configの内容がstartup-configとして内部ストレージに保存されます。これは、startup-configが保存されていない「工場出荷状態」とは厳密には異なる状態といえます。

初期コンフィグはファームウェアリリース時に変更される場合があるため、startup-config未保存の場合はインストールされたファームウェアによって起動直後のrunning-configが異なる場合がありますが、 初期コンフィグをstartup-configに保存した状態の場合は起動直後のrunning-configが変化しません。

コンフィグファイルについて

外部保存(バックアップ)したコンフィグファイルは、プレーンテキストファイルになります。 このコンフィグファイルはそのまま元の装置、あるいは、同一機種かつ同一(またはより新しい)ファームウェアの別の装置に読み込ませることができます。

コンフィグファイルはテキストエディタで編集可能ですが、記述ミスのある設定行、及びその設定に依存する設定行は読み込み時にエラーになります。

バージョン間のコンフィグ互換性

SEILシリーズは、同一機種において、より古いバージョンのファームウェアで作成したコンフィグの読み込みをサポートしています。逆に、新しいバージョンのファームウェアで作成したコンフィグを古いバージョンのファームウェアで読み込むことはサポートしていません。古いバージョンのファームウェアで読み込んだ場合、不完全な設定状態となる可能性があります。

新しいファームウェアの仕様変更によりコンフィグの書式が変更されている場合、コンフィグの後方互換性により、動作上は新しい書式に置き換わる場合があります。置き換わったコンフィグをstartup-configに保存した後に古いバージョンのファームウェアに変更すると、古いバージョンのファームウェアにおいては想定外の設定となるため、読み込み時に該当の設定がエラーとなり無視されます。

ヒント:

ファームウェアの更新は、内部ストレージに保存されたstartup-configを変更しません。

ファームウェアのバージョンを更新した後にコンフィグの保存(save-to flashrom)を実行するまでは、startup-configは以前のコンフィグが記憶されています。この状態のままファームウェアを元のバージョンに変更した場合には、以前のコンフィグに復帰します。

機種間のコンフィグ互換性

SEIL/X4は他のSEILシリーズとコンフィグの互換性がありません。

SA-Wシリーズのコンフィグは、書式上SEIL/X4の下位互換に当たります。機種ごとに搭載機能(ハードウェア・ソフトウェア)や設定数上限が異なるためコンフィグファイル全体としての互換性はありませんが、機種移行の際にコンフィグを部分的に流用することは可能です。

機種間でコンフィグを引き継ぐ際は、移行前と移行後の設定反映状況を比較し注意深く確認してください。