このドキュメントでは、ルータの不揮発性RAM(NVRAM)に同時にアクセスする場合に発生する問題と、その解決方法について説明します。
このドキュメントに関する固有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
ルータのNVRAMに同時にアクセスすると、次の2つのエラーが発生する場合があります。
show startup-configコマンドを使用してNVRAMの内容を表示する場合:
Router#show startup-config Using 5524 out of 129016 bytes %Error opening nvram:/startup-config (Device or resource busy)
copy running-config startup-configコマンドを使用してNVRAMに設定を保存する場合:
Router#copy running-config startup-config Destination filename [startup-config]? startup-config file open failed (Device or resource busy)
このドキュメントに記載されている問題の解決に役立つ段階的なアプローチを次に示します。
ルータに接続されているユーザの数を判別するには、show usersコマンドを入力します。
Router#show users Line User Host(s) Idle Location 0 con 0 user1 idle 00:00:14 * 2 vty 0 user2 idle 00:00:00 64.104.207.114
出力に示されているように、別のユーザがコンソールを通じてルータに接続されています。
回線2 vty 0の横にある「*」は、このセッションで使用されている回線を示しています。ユーザが2人を超える場合は、「*」が付いた行を除き、すべてのユーザをクリアします。このユーザは、この時点でNVRAMにアクセスし、ロックしています。
他のユーザが接続している回線をクリアしてNVRAMを解放するには、clear lineコマンドを発行します。
Router#clear line 0
[confirm]
[OK]
確認するには、再度show usersコマンドを発行します。
Router#show users Line User Host(s) Idle Location * 2 vty 0 user2 idle 00:00:00 64.104.207.114
ここに示すように、このセッションではルータに接続しているユーザは1人だけです。
これでNVRAMにアクセス可能になり、show startup-configコマンドとcopy running-config startup-configコマンドを発行しても問題は発生しなくなりました。
Router#show startup-config Using 5524 out of 129016 bytes ! version 12.1 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption Router#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] Router#
NVRAMの空き領域が2K未満の場合、「%SYS-4-NV_BLOCK_INITFAIL: Unable to initialize the geometry of nvram」エラーメッセージが表示されます。
一時的な解決策は、write eraseコマンド(フォーマットNVRAM)を使用してから、write memoryコマンドを発行することです。もう1つのオプションは、service compress-configコマンドを発行することです。