モードロックメカニズムの設定

この章では、StarOS 構成モード内で管理ロックのメカニズムがどのように動作するかについて説明します。

ここで説明する内容は、次のとおりです。

モードロック設定の概要

Exec モードの configure コマンドを介して、グローバル構成(config)モードを開始します。デフォルトでは、すべての管理ユーザーが構成モードを共有します。複数の管理ユーザーは、同時に構成モードへのアクセスを共有できます。これは shared-lock と呼ばれます。

shared-lock の存在を示すプライマリ表示は、構成モードを開始すると表示されるメッセージです。

Warning: One or more other administrators may be configuring this system 

(注)  


shared-lock の下で構成モード入った場合、デフォルトの制限的な動作変更はありません


複数の管理者が実行設定を編集または保存すると、同時変更によって、競合、不整合、または欠落している設定コマンドが発生する可能性があります。システムの再起動を試行している場合は、設定を保存するときに同様の問題が発生する可能性があります。

configure コマンドのオプションの ock [ force | warn ] キーワードを使用すると、管理者は構成モードの相互排他ロックを要求して、他のユーザーが同時に設定を変更しないようにすることができます。これは exclusive-lock と呼ばれます。管理者に exclusive-lock が許可されると、その他のユーザーはロックがかかっている間、セッションの期間に構成モードにアクセスできません。exclusive-lock は、ロックを保持しているユーザーが Exec モードに戻った場合にのみ終了します。

設定の保存中に他のユーザーがシステムをリロードまたはシャットダウンしないようにするために、設定の保存操作中に shutdown-lock が有効になります。

shared-lock、shared-lock、および shutdown-lock などの構成モードのロッキングメカニズムによって、競合するコマンド、ファイルの破損、およびリブートの問題が軽減されます。

Exclusive-Lock の要求


重要


管理者が排他的ロックを保持して構成モードを終了できないことに起因する混乱を回避するには、CLI セッション絶対タイムアウトやアイドルタイムアウトを使用してすべての管理者アカウントを設定することがベストプラクティスですこれらのタイムアウトの設定の詳細については、このガイドの「使用する前に」の章の「CLI を使用した初期設定」の項を参照してください。


Exec モードの configure lock コマンドを実行することにより、構成モードで排他的ロックを要求できます。

[local]host_name# configure [ <url> ] lock [ force | warn ] 

URL を指定すると、排他的ロックはプリロードされた構成ファイルに関連付けられます。URL を指定しない場合は、実行構成に排他的ロックが許可されます。詳細については、URL スクリプトに対するロック設定の効果を参照してください。

force オプションを適用すると、他のすべての管理者は、現在排他的ロックを保持しているユーザーを含め、構成モードを終了します。

warn オプションは、他のすべての管理者に対して、構成モードを終了するよう警告します。この管理者は、すぐに排他的ロックを取得します。このオプションは、実際に管理者が構成モードを強制的に終了する前に使用することができます。

構成モードで他の管理者がいない場合は、 configure lock を入力すると、ただちに排他的ロックが許可されます。

[local]host_name# configure lock 
Info: No one else can access config mode while you have the exclusive lock 
[local]host_name#  

排他的ロックが許可されている場合、他の管理者は構成モードへの入力や、構成ファイルのロードを許可されません。他の管理者が構成モードを開始したり、構成ファイルをロードしたりしようとすると、次のメッセージが表示されます。

Failure: User <username> has the exclusive lock 
 - please enter 'show administrators' for more information 

すでに排他的ロックが有効になっている場合、他の管理者が排他的ロックで構成モードを開始しようとすると、次のメッセージが表示されます。

Failure: Another administrator is still in configuration mode 
 - please enter 'show administrators' for more information 

最初に排他的ロックを取得しない場合、configure lock force を使用できます。

configure lock force が成功した場合、終了して Exec モードへ戻ることを強制されたすべてのユーザーには、構成モードから強制終了されたことを示す次の警告メッセージが表示されます。

[local]host_name(config)# 
 Warning: Administrator <username> has forced you to exit from configuration mode 
[local]host_name# 

他の管理者がパスワードの入力中であったり、中断できない重要なシステムオペレーションを実行したりする可能性が非常に低いため、configure lock force コマンドは成功しない場合があります。この場合、エラーメッセージが表示されます。

[local]host_name# configure lock force 
 Failure: Another administrator could not release the configuration mode lock 
 - please enter 'show administrators' for more information 

configure lock warn コマンドは、すべての構成モードのユーザー(存在する場合)に警告メッセージを送信し、その後、最大 10 秒間待機して排他的ロックを取得します。まだ構成モードのユーザーがいる場合、構成モードは共有ロック状態のままになります。

[local]host_name# configure lock warn 
 please wait for this message to be sent to the other administrators...... 
 [local]host_name(config)# 

他の管理者のセッション出力には、最終的に次のメッセージが表示されます。

[local]host_name(config)# 
 Administrator <username> requires exclusive access to configuration mode 
 >>> You need to exit from configuration mode as soon as possible <<< 
 [local]host_name# 

他の管理者が通常、セッション出力内のメッセージを確認することを想定していないため、configure lock warn コマンドを実行しても、通常は排他的ロックが取得されることはありません。


重要


StarOS は、すべての主要な構成モードのロックの連携動作をイベントログと syslog ファシリティ(設定されている場合)に記録します。発生した連携動作の記録にいつでもアクセスできます。


URL スクリプトに対するロック設定の効果

configure <url> コマンドを使用して設定スクリプトファイルをロードしようとする場合は、共有ロック(デフォルト)または排他ロックのいずれかを取得する必要があります。設定スクリプトファイルには通常、config コマンドが含まれているため、実際には config コマンドが解析されて実行される前と後にロックは保留されます。

ロックは、設定ファイル全体の実行中は保持されます。双方向設定モードロックと同じ共有ロックが使用されるため、警告メッセージが表示され、(-noconfirm有効になっていない場合は)その後に確認プロンプトが表示されます。次に例を示します。

 [local]host_name# config /flash/myconfig.cfg 
 Warning: One or more other administrators may be configuring this system 
 Are you sure? [Y/N]: 

-noconfirm が有効になっている場合は、すべてのコマンドも画面にエコーされるため、警告メッセージが画面から消え、気づかない場合もあります。


重要


StarOS が最初に起動すると、初期起動設定ファイルはロード中は常に排他的にロックされます。


設定ファイルの保存

部分的または不完全な構成ファイルを保存すると、保存された設定が後でロードされたときに StarOS が不安定になる可能性があります。StarOS は、変更処理中の設定を保存することをユーザーに禁止します。

保存操作中に共有ロックが有効になっている場合、保存操作の確認を求めるプロンプトが表示されます。

[local]host_name# save configuration /flash/config.cfg 
 Warning: One or more other administrators may be configuring this system 
 Are you sure? [Y/N]: 

排他的ロックがユーザーによって保持されている場合、保存操作は失敗します。

[local]host_name# save configuration /flash/config.cfg 
Failure: Configuration mode is currently locked, use ignore-lock to ignore lock 

既存の排他ロックを上書きするには、save configuration コマンドで ignore-lock キーワードを使用します。

[local]host_name# save configuration /flash/config.cfg ignore-locks 
 Warning: Ignoring the configuration mode lock held by another administrator 

重要


また、save configuration コマンドを使用すると、設定の保存中に他のユーザーがシステムをリロードまたはシャットダウンできなくなるシャットダウンロックも有効になります。詳細については、「リロードコマンドとシャットダウンコマンド」を参照してください。


リロードコマンドとシャットダウンコマンド

Exec モードの reload コマンドと shutdown コマンドについては、save configuration コマンドの進行中にこれらのいずれかのコマンドを実行すると、設定ファイルが破損するか、または不完全なものになる可能性があります。

この問題の発生を防ぐため、reload コマンドと shutdown コマンドは、StarOS 全体ですべての save configuration コマンドを実行している状態で CLI shutdown-lock を共有します。つまり、何らかの save configuration コマンドの実行中は、StarOS は reload コマンドや shutdown コマンドを実行できません。これらのコマンドは、すべての保存設定操作が完了するまで無期限にキューに入れられます。

ユーザーが待機キュー内で無期限に「ハング」するのを防ぐために、ユーザーは Ctrl+C を押して、次の例に示すように待機を終了することができます。

[local]host_name# reload 
Are you sure? [Yes|No]: yes 
Waiting for other administrators to finish saving configuration 
(ctrl-c to abort) .......^C  
Action aborted by ctrl-c 
[local]host_name#  

保存中のプロセスでファイルを破損するリスクがあるかどうかにかかわらず、StarOS をすぐに再起動する必要がある場合がまれにありますが、このような場合に reload コマンドまたは shutdown コマンドを ignore-locks キーワードと組み合わせて使用することができます。このオプションを選択すると、StarOS は適切な警告メッセージを表示しますが、再起動を開始する前に設定の保存操作が完了するまで待機しません

[local]host_name# reload ignore-locks -noconfirm 
Warning: One or more other administrators are saving configuration 
Starting software 21.0... 
Broadcast message from root (pts/2) Wed May 11 16:08:16 2016... 
The system is going down for reboot NOW !! 

注意    


システムを再起動するときに ignore-locks キーワードを指定すると、設定ファイルが破損する可能性があります。


show administrators コマンド

Exec モードの show administrators コマンドには、管理者のセッションの現在のロックモードを示す 1 文字の「M」列があります。M モードの文字は、次のように定義されます。
  • [空白]:管理者は Exec モードを使用しています。

  • c:管理者セッションは現在構成モードになっています(共有ロック)。

  • s:管理者セッションは現在、設定を保存しています。

  • f:管理者セッションは現在、設定ファイルをロードしています。

  • L:管理者セッションは現在、排他的ロックを使用して構成モードになっています。

次に、現在のロックモードを示す show administrators コマンドの出力例を示します。

[local]asr5500# show administrators 
Administrator/Operator Name    M Type    TTY            Start Time 
------------------------------ - ------- -------------- ------------------------ 
Bob                              admin   /dev/pts/2     Tue Mar 29 11:51:15 2016 
Alice                          c admin   /dev/pts/1     Mon Mar 28 14:41:15 2016 
Carol                            admin   /dev/pts/0     Mon Mar 28 14:40:52 2016