スイッチの起動設定の機能
ここでは、起動設定の機能について説明します。
• 「ブート プロセスの概要」
• 「ROMモニタの概要」
• 「コンフィギュレーション レジスタの概要」
• 「BOOT環境変数の概要」
• 「CONFIG_FILE環境変数の概要」
ブート プロセスの概要
ブート プロセスには、ROMモニタとスーパバイザ エンジン システム コードの2つのソフトウェア イメージが関与します。スイッチを起動またはリセットすると、ROMモニタ コードが実行されます。NVRAM(不揮発性RAM)内の設定に応じて、スイッチはROMモニタ モードのままの場合と、スーパバイザ エンジン システム コードをロードする場合とがあります。
スイッチを起動する方法は、コンフィギュレーション レジスタとBOOT環境変数という、ユーザ側で設定できる2つのパラメータによって決まります。コンフィギュレーション レジスタについては、「コンフィギュレーション レジスタの概要」を参照してください。BOOT環境変数については、「BOOT環境変数の概要」を参照してください。
ROMモニタの概要
ROMモニタ コードは、スイッチの起動時、リセット時、または重大な例外が発生したときに実行されます。ROMモニタ モードが開始されるのは、スイッチが有効なシステム イメージを見つけることができなかった場合、NVRAM内の設定が壊れていた場合、またはコンフィギュレーション レジスタがROMモニタ モードを開始するように設定されていた場合です。ROMモニタ モードで、フラッシュ メモリ、ネットワーク サーバ ファイル、またはブートフラッシュからシステム イメージを手動でロードできます。
スイッチを再起動し、起動から60秒以内に Break キーを押すことにより、ROMモニタ モードを開始できます。端末サーバから接続している場合は、エスケープによってTelnetプロンプトを表示し、 send break コマンドを入力すると、ROMモニタ モードが開始されます。
(注) コンフィギュレーション レジスタの設定値でBreakキーがオフに設定されているかどうかに関係なく、システムの再起動から60秒間は、Breakキーが必ず有効です。
ROMモニタには、次の機能が組み込まれています。
• 電源投入時の信頼性テスト
• ハードウェアの初期化
• 起動(手動起動および自動起動が可能)
• デバッグ ユーティリティおよびクラッシュ分析機能
• モニタ呼び出しインターフェイス(EMTコール ― ROMモニタはEMTコールを使用して、実行システム イメージに情報およびある種の機能を提供します)
• ファイルシステム(ROMモニタは、単純なファイル システムを認識し、動的にリンクされたファイル システム ライブラリ[MONLIB]によって新しく作成されたファイル システムをサポートします)
• 例外処理
コンフィギュレーション レジスタの概要
コンフィギュレーション レジスタによって、スイッチがオペレーティング システム イメージをロードするかどうか、また、どこにシステム イメージを保管するかが決まります。コンフィギュレーション レジスタのブート フィールドによって、起動時にROMモニタがスーパバイザ エンジンのシステム イメージをロードするかどうかが、また、ロードする場合にはその方法が決まります。ブート フィールドを変更することにより、起動時にデフォルトのシステム イメージを使用するのではなく、強制的に特定のシステム イメージを起動させることができます。
ブート フィールドは16ビットのコンフィギュレーション レジスタの下位4ビット(ビット3、2、1、および0)で形成されます。デフォルトのブート フィールド値は0x10Fです。次に挙げるコンフィギュレーション レジスタのブート フィールド設定を使用できます。
• ブート フィールドが0000の場合、スイッチはシステム イメージをロードしません。その代わりに、ROMモニタ モードを開始します。ROMモニタ モードでは、ROMモニタ コマンドを入力して、システム イメージを手動でロードできます。
• ブート フィールドが0001の場合、スイッチはオンボード フラッシュ メモリ上で見つけた最初に有効なシステム イメージをロードします。
• ブート フィールドの値が0010~1111の場合、スイッチはNVRAM設定の boot system コマンドで指定されたシステム イメージをロードします。 boot system コマンドの入力順に、イメージの起動を試行します。BOOT環境変数リストの中のどのイメージも起動できなかった場合は、ROMモニタ モードのままになります。正確なブート シーケンスは、ROMモニタによって定義されます。
コンフィギュレーション レジスタの他のビットを設定する場合、次のような機能を持ちます。
• ビット5(0x0020) ― CONFIG_FILEの反復がイネーブルになります。
• ビット6(0x0040) ― システム ソフトウェアによってNVRAMの内容が消去されます。
• ビット7(0x0080) ― OEMビットがイネーブルになります(未使用)。
• ビット8(0x0100) ― ブレークがディセーブルになります。
• ビット9(0x0200) ― セカンダリ ブートストラップが使用されます(ROMモニタでは未使用)。
• ビット10(0x0400) ― すべてゼロでIPブロードキャストを行います(未使用)。
• ビット11/12(0x0800/0x1000) ― コンソールの回線速度を次のように指定します。0/0=9600、0/1=1200、1/0=4800、1/1=2400(デフォルトの設定は9600)です。
• ビット13(0x2000) ― ネットワーク ブートができなかった場合に、デフォルトのフラッシュ ソフトウェアを起動します(未使用)。
• ビット14(0x4000) ― IPブロードキャストにネットワーク番号がありません(未使用)。
• ビット15(0x8000) ― 診断メッセージをイネーブルにし、NVRAMの内容を無視します(未使用)。
BOOT環境変数の概要
BOOT環境変数では、起動時にスイッチの起動元となる各種デバイス上のイメージ ファイルをリスト形式で指定します。
BOOT環境変数に複数のイメージを追加すると、フェールセーフ起動設定が得られます。最初のファイルでスイッチを起動できなかった場合、BOOT環境変数で次に指定されているイメージが試行され、スイッチが起動するか起動を試行するイメージがなくなるまで、この作業が順番に繰り返されます。最終的に、起動できる有効なイメージがなかった場合、システムはROMモニタ モードを開始して、ユーザが手動でブート イメージを指定できるようにします。
システムは、BOOT環境変数に入力された順序で、イメージを保管および実行します。起動時のイメージ試行順序を変更する場合は、BOOT環境変数のイメージを追加または消去して、適切な順序になるようにするか、BOOT環境変数全体をいったん消去して、適切な順序でリストを指定し直します。
CONFIG_FILE環境変数の概要
CONFIG_FILE環境変数を使用することにより、起動時のスイッチ設定に使用する各種装置のコンフィギュレーション ファイル(auto-configファイル)のリストを指定できます。次の動作を指定できます。
• 反復不能 ― CONFIG_FILE環境変数にコンフィギュレーション ファイルのリストを追加すると、次回のスイッチ再起動時に、システムによってNVRAM内の設定が消去され、指定されたファイルを使用してスイッチが設定されます。CONFIG_FILE環境変数は、スイッチの設定前に消去されます。反復不能がデフォルトの設定です。
• 反復可能 ― CONFIG_FILE環境変数にコンフィギュレーション ファイルのリストを追加すると、リストがNVRAMに永続的に保管されます。スイッチを再起動するたびに、システムによってNVRAM内の設定が消去され、指定されたコンフィギュレーション ファイルを使用してスイッチが設定されます。CONFIG_FILE環境変数は消去されません。
反復または反復不能の指定方法については、「CONFIG_FILE反復の設定」を参照してください。
• 上書き ― CONFIG_FILE環境変数にコンフィギュレーション ファイルのリストを追加すると、NVRAM内の設定が消去され、そのあとでコンフィギュレーション ファイルが実行されます。上書きがデフォルトの設定です。
• 追加 ― NVRAMを消去せずに、コンフィギュレーション ファイルが実行されます。
上書きまたは追加の指定方法については、「CONFIG_FILE上書きの設定」を参照してください。
• 同期イネーブル ― コンフィギュレーション ファイルが自動的にスタンバイ スーパバイザ エンジンと同期するよう同期化をイネーブルにします。ファイルはアクティブ スーパバイザ エンジン上のファイルと同じ状態に保たれます。
• 同期ディセーブル ― 同期化をディセーブルにします。
同期化を指定する方法については、「CONFIG_FILE同期の設定」を参照してください。
ヒント CONFIG_FILE環境変数は変更可能です。また、起動時スイッチを設定するコンフィギュレーション ファイル内のコマンドによってプロパティが変更される可能性があります。
CONFIG_FILE環境変数には、複数のコンフィギュレーション ファイルを追加できます。ローカル フラッシュ デバイス(bootflash:またはslot0:)に保管されている任意の有効なコンフィギュレーション ファイルを指定できます。
スイッチの起動時に、CONFIG_FILE環境変数で指定されたファイルのいずれかが有効なコンフィギュレーション ファイルであった場合、NVRAM内の設定が消去され、指定のコンフィギュレーション ファイルを使用してスイッチが設定されます。有効なコンフィギュレーション ファイルが複数指定されていた場合、CONFIG_FILE環境変数に指定された順に、1つずつコンフィギュレーション ファイルが実行されます。
指定されたファイルが有効なコンフィギュレーション ファイルではなかった場合、そのエントリを無視して次のファイルが試行されます。指定されたイメージがほかになくなるまで、この動作が繰り返されます。有効なコンフィギュレーション ファイルが1つも指定されていなかった場合、NVRAMに最後に保管された設定が使用されます。
コンフィギュレーション レジスタの設定
(注) コンフィギュレーション レジスタの設定が、冗長スーパバイザ エンジンに自動的にコピーされることはありません。スイッチ内の各スーパバイザ エンジンに、個別にコンフィギュレーション レジスタを設定する必要があります。
ここでは、コンフィギュレーション レジスタを変更する方法について説明します。
• 「コンフィギュレーション レジスタのブート フィールドの設定」
• 「ROMモニタ コンソール ポートのボーレートの設定」
• 「CONFIG_FILE反復の設定」
• 「CONFIG_FILE上書きの設定」
• 「CONFIG_FILE同期の設定」
• 「スイッチにNVRAM内の設定情報を無視させる設定」
• 「コンフィギュレーション レジスタ値の設定」
コンフィギュレーション レジスタのブート フィールドの設定
コンフィギュレーション レジスタのブート フィールドを設定することにより、次回の起動時にスイッチが使用するブート方式を指定できます。このコマンドが作用するのは、ブート フィールドを制御するコンフィギュレーション レジスタ ビットだけです。他のビットの設定は変わりません。使用できる起動方式は次のとおりです。
• ROMモニタ ― rommon キーワードを使用して、起動時にスイッチがROMモニタ モードにとどまるようにします。
• ブートフラッシュ ― bootflash キーワードを使用して、オンボード フラッシュ メモリ上の最初のイメージからスイッチを起動させます。
• システム ― system キーワードを使用して、BOOT環境変数で指定されたイメージから起動させます(デフォルトの設定)。
(注) set boot config-register bootコマンドで使用するオプションは、rommonおよびsystemに限定することを推奨します。
コンフィギュレーション レジスタのブート フィールドを設定するには、イネーブル モードで次の作業を行います。
|
|
コンフィギュレーション レジスタのブート フィールドを設定します。 |
set boot config-register boot { rommon | bootflash | system } [ mod ] |
コンフィギュレーション レジスタのブート フィールドを設定する例を示します。
Console> (enable) set boot config-register boot rommon
Configuration register is 0x0
auto-config: non-recurring
ROMモニタ コンソール ポートのボーレートの設定
ROMモニタが使用するコンソール ポートのボーレートを設定できます。新しいボーレートが使用されるのは、次にスイッチを再起動したときです。このコマンドの作用を受けるのは、ボーレートを制御するコンフィギュレーション レジスタ ビットだけです。他のビットの設定は変わりません。
(注) コンフィギュレーション レジスタで指定したボーレートを使用するのは、ROMモニタだけです。set system baudコマンドで指定するボーレートとは異なります。
コンフィギュレーション レジスタでROMモニタ コンソール ポートのボーレートを設定するには、イネーブル モードで次のコマンドを入力します。
|
|
コンフィギュレーション レジスタでROMモニタ コンソール ポートのボーレートを設定します。 |
s et boot config-register baud { 1200 | 2400 | 4800 | 9600 } [ mod ] |
コンフィギュレーション レジスタでROMモニタ コンソール ポートのボーレートを2400に設定する例を示します。
Console> (enable) set boot config-register baud 2400
Configuration register is 0x1800
auto-config: non-recurring
CONFIG_FILE反復の設定
デフォルトでは、CONFIG_FILE環境変数を設定した場合に、起動時に使用するコンフィギュレーション ファイルのリストが維持されるのは、次にスイッチを再起動するまでの間です。
システム ソフトウェアにCONFIG_FILE環境変数の設定値を無期限に維持させ、スイッチを再起動するたびに、指定のコンフィギュレーション ファイルを使用してスイッチが設定されるようにすることができます。
このコマンドが作用するのは、CONFIG_FILE環境変数の設定が反復か反復不能かを制御するコンフィギュレーション レジスタ ビットだけです。他のコンフィギュレーション レジスタ ビットは変更されません。
注意 CONFIG_FILE環境変数を
recurringに設定すると、スイッチを再起動するたびにNVRAMの現在の設定が消去され、指定のコンフィギュレーション ファイルを使用してスイッチが設定されます。CONFIG_FILE環境変数を
non-recurringに設定すると、次回スイッチを再起動したときにNVRAMの現在の設定が消去され、指定のコンフィギュレーション ファイルを使用してスイッチが設定されます。NVRAM設定は、(再びCONFIG_FILE変数を設定しないかぎり)その後の再起動後も維持されます。
スイッチが現在のCONFIG_FILE環境変数を無期限に維持するように設定するには、イネーブル モードで次の作業を行います。
|
|
現在のCONFIG_FILE環境変数が無期限に維持されるようにスイッチを設定します。 |
set boot config-register auto-config { recurring | non-recurring } |
現在のCONFIG_FILE環境変数が無期限に維持されるようにスイッチを設定する例を示します。
Console> (enable) set boot config-register auto-config recurring
Configuration register is 0x1820
auto-config: recurring, overwrite, sync disabled
CONFIG_FILE上書きの設定
このコマンドでは、auto-configファイルを使用してNVRAM内の設定を上書きするか、またはNVRAMの現在の内容の最後にファイルの設定を追加するかを指定できます。overwriteを指定すると、NVRAM内の設定が消去されてから、auto-configファイルが実行されます。appendを指定すると、NVRAMを消去せずにauto-configファイルが実行されます。デフォルトの設定は overwrite です。
auto-configファイルでNVRAM内の設定を上書きするか、それともNVRAMの現在の内容にファイルの設定を追加するかを指定するには、イネーブル モードで次の作業を行います。
|
|
auto-configファイルでNVRAM内の設定を上書きするか、それともNVRAMの現在の内容の最後にファイルの設定を追加するかを指定します。 |
set boot config-register auto-config { overwrite | append } |
auto-configファイルを使用してNVRAM内の設定を上書きするように指定する例を示します。
Console> (enable) set boot config-register auto-config overwrite
Configuration register is 0x12F
auto-config: recurring, overwrite, sync disabled
boot: image specified by the boot system commands
次に、NVRAMの現在の内容にauto-configファイルを追加するように指定する例を示します。
Console> (enable) set boot config-register auto-config append
Configuration register is 0x12F
auto-config: recurring, append, sync disabled
boot: image specified by the boot system commands
CONFIG_FILE同期の設定
このコマンドでは、同期化をイネーブルにして、auto-configファイルの内容をスタンバイ スーパバイザ エンジンに自動的に反映させることができます。ファイルはアクティブ スーパバイザ エンジン上のファイルと同じ状態に保たれます。デフォルトの設定は disabled です。同期化チェックおよび(必要な場合)同期化をトリガするイベントは、次のとおりです。
• どちらかのスーパバイザ エンジン上でのauto-configファイルの変更(アクティブ スーパバイザ エンジン上でファイルが削除された場合は、スタンバイ スーパバイザ エンジン上でも削除されます)
• ブート ストリングのCONFIG_FILE変数の設定変更
• 新しいスーパバイザ エンジンの搭載
• システムの起動
アクティブ スーパバイザ エンジンのCONFIG_FILE変数が、スタンバイ スーパバイザ エンジン上でも同一に保持されます。アクティブ スーパバイザ エンジンの各auto-configファイルが、スタンバイ スーパバイザ エンジンの対応するauto-configファイルと比較されます。2つのファイルの長さおよびCyclic Redundancy Check(CRC;巡回冗長検査)が同じであれば、それらのファイルは同一とみなされます。スタンバイ スーパバイザ エンジンのファイルがアクティブ スーパバイザ エンジンのファイルと同じでなければ、アクティブ スーパバイザ エンジン上のファイル名を使用して、スタンバイ スーパバイザ エンジン上に新しいファイルが作成されます。スタンバイ スーパバイザ エンジン上に同名のファイルが存在する場合には、上書きされます。
同期化をイネーブルまたはディセーブルにするには、イネーブル モードで次の作業を行います。
|
|
同期化をイネーブルにするか、ディセーブルにするかを指定します。 |
set boot config-register auto-config sync { enable | disable } |
同期化をイネーブルにする例を示します。
Console> (enable) set boot config-register auto-config sync enable
Configuration register is 0x12F
auto-config: recurring, append, sync enabled
boot: image specified by the boot system commands
次に、同期化をディセーブルにする例を示します。
Console> (enable) set boot config-register auto-config sync disable
Configuration register is 0x12F
auto-config: recurring, append, sync disabled
boot: image specified by the boot system commands
スイッチにNVRAM内の設定情報を無視させる設定
次にスイッチを再起動するときに、NVRAMに保存されている設定情報をシステム ソフトウェアに無視させることができます。このコマンドが作用するのは、スイッチにNVRAM内の設定を無視させるかどうかを制御するコンフィギュレーション レジスタ ビットだけです。他のビットの設定は変わりません。このコマンドは、次にスイッチを再起動したときに初めて作用します。
注意
ignore-configパラメータをイネーブルにすることは、
clear config allコマンドを入力するのと同じことです。次回のスイッチ再起動時に、NVRAMに保管されているすべての設定が消去されます。
次回の再起動時にNVRAM内の設定をスイッチに無視させるには、イネーブル モードで次のコマンドを入力します。
|
|
起動時にNVRAMの内容を無視するようにスイッチを設定します。 |
set boot config-register ignore-config enable |
次回の再起動時にNVRAM内の設定を無視するようにスイッチを設定する例を示します。
Console> (enable) set boot config-register ignore-config enable
Configuration register is 0x1860
コンフィギュレーション レジスタ値の設定
コンフィギュレーション レジスタ値を設定するには、イネーブル モードで次の作業を行います。
|
|
コンフィギュレーション レジスタを設定します。 |
set boot config-register 0x value [ mod ] |
コンフィギュレーション レジスタ値を0x90fに設定する例を示します。
Console> (enable) set boot config-register 0x90f
Configuration register is 0x90f
auto-config: non-recurring
boot: image specified by the boot system commands
CONFIG_FILE環境変数の設定
ここでは、CONFIG_FILE環境変数を変更する方法について説明します。
• 「CONFIG_FILE環境変数の設定」
• 「CONFIG_FILE環境変数の設定値の消去」
CONFIG_FILE環境変数の設定
set boot auto-config コマンドを使用し、セミコロン(;)で区切ることにより、複数のコンフィギュレーション ファイルを指定できます。各コンフィギュレーション ファイルに、装置名とファイル名の両方を指定する必要があります。
(注) CONFIG_FILE環境変数の前後にコンフィギュレーション ファイルを付加することはできません。set boot auto-configコマンドを入力すると、それまでset boot auto-configコマンドによって指定されていたコンフィギュレーション ファイル リストが消去されます。
CONFIG_FILE環境変数を設定するには、イネーブル モードで次の作業を行います。
|
|
CONFIG_FILE環境変数を設定します。 |
set boot auto-config device:filename [ ; device:filename ...] |
CONFIG_FILE環境変数を設定する例を示します。
Console> (enable) set boot auto-config bootflash:generic.cfg;bootflash:6509_1_noc.cfg
CONFIG_FILE variable = bootflash:generic.cfg;bootflash:6509_1_noc.cfg
WARNING: nvram configuration may be lost during next bootup,
and re-configured using the file(s) specified.
CONFIG_FILE環境変数の設定値の消去
CONFIG_FILE環境変数からエントリを消去するには、イネーブル モードで次の作業を行います。
|
|
CONFIG_FILE環境変数のエントリを消去します。 |
clear boot auto-config |
CONFIG_FILE環境変数のエントリを消去する例を示します。
Console> (enable) clear boot auto-config