運用中にNx Witnessの管理者パスワードを変更した後、起動エリアが切り替わると、反対側のエリアに残っている古い設定で起動することがあります。
これは、エリア0とエリア1がそれぞれ個別にNx Witnessの設定を保持しているためです。新しいパスワードでログインできない場合、共通の保存領域にある最新の設定も読み込まれません。
この問題を防ぐには、メンテナンス時に反対側のエリアでもパスワードを変更し、両エリアの設定を揃える必要があります。
| 対象機種 | ☑ AG10 ☑ AG20 ☐ AR10 ☐ AR20 ☐ AC10 ☐ AC15 ☐ AC25 ☑ AX11 ☑ AX21 ☑ AX30 ☐ AB11 ☐ AB12 |
| ファームウェアバージョン | N/A |
1. まず理解しておきたい仕組み
まず、エリア0・エリア1とNx Witnessの設定保存領域の関係を確認しましょう。
エリア0とエリア1は、それぞれ別のNx Witness設定を保持しています
amnimoには、障害などに備えて2つの起動エリア(エリア0/エリア1)があります。
両エリアではファームウェアがそれぞれ管理されており、Nx Witnessの設定も個別に保持しています。一方、Nx Witnessの設定バックアップは、両エリアで共通の保存領域に1つだけ保存されます。
例えば、エリア1でパスワードを変更して設定を保存しても、エリア0のNx Witnessに登録されているパスワードは自動的には変更されません。
そのため、エリア0に切り替えた際、エリア0に古いパスワードが残っていると、共通の保存領域から最新の設定を読み込めなくなる場合があります。
設定・データの保存先
各設定・データの具体的な保存場所を以下に示します。
| データの種類 | 保存場所・補足情報 |
|---|---|
① 本体設定/etc/amnimo/config.yaml
|
eMMC boot領域 Nx Witnessへログインするためのパスワード登録値を含みます。 本体設定の保存時に両エリアへ記録され、起動時に復元されます。 |
② Nx Witness設定のバックアップ/mnt/share/nxwitness/database/file.db
|
共有領域(eMMC:mmcblk0p5) 「Nx Witness設定保存」の実行により作成されます。両エリアで共通して使用します。 |
③ 各エリアのNx Witness設定/opt/networkoptix/mediaserver/var/ecs.sqlite
|
各エリアのrootfs領域 エリア0:mmcblk0p1 エリア1:mmcblk0p2 管理者パスワード、カメラ、ユーザーなどの設定を含みます。エリアごとに個別に保持されます。 |
④ カメラの録画データ/media/ssd/
|
SSD領域(sda1) 両エリアで共通して使用します。 |
2. なぜパスワードを変更すると、反対側のエリアに設定が反映されないのか
次に、起動時に設定が読み込まれる仕組みと、パスワードが一致しない場合の動作を説明します。
ポイントは、共通のバックアップを読み込む前に、起動したエリアのNx Witnessへのログインが必要になることです。
Nx Witnessの設定を読み込む仕組み
「Nx Witness設定保存」(config nxwitness save)を実行すると、Nx Witnessのデータベース(ecs.sqlite)の内容が、パスワードも含めて共有領域のfile.dbに保存されます。
起動時には、まず本体設定(①)に登録されているパスワードで、起動したエリアのNx Witness(③)にログインします。ログインに成功すると、共有領域のバックアップ(②のfile.db)から最新の設定を読み込みます。
ログインに失敗した場合は、最新の設定を読み込めません。そのため、起動したエリアに残っている設定のまま動作します。
パスワード変更後に発生する状態
両エリアで一度運用した後、エリア1でNx Witnessの管理者パスワードを変更した場合を例に説明します。
- エリア1でパスワードを変更し、「Nx Witness設定保存」を実行します。
- 共有領域の
file.dbには、新しいパスワードを含む最新の設定が保存されます。 - しかし、エリア0のNx Witnessには、変更前の古いパスワードが残っています。
- エリア0で起動すると、本体設定に登録された新しいパスワードでログインしようとします。
- エリア0のNx Witnessには古いパスワードが登録されているため、ログインに失敗します(
Wrong password)。 - ログインに失敗したため、共通領域の最新の設定を読み込めず、エリア0に残っている古い設定で起動します。
このように、パスワードはログインに使用するだけでなく、バックアップから設定を読み込むための入口にもなっています。そのため、パスワードが一致しないと、カメラやユーザーなどの設定も引き継がれません。
パスワードを変更していない場合
起動エリアが切り替わっても、最後に保存したNx Witnessの設定が起動時に読み込まれます。ただし、次の条件を満たしている必要があります。
- 本体設定に登録されているパスワードと、Nx Witnessの実際のパスワードが一致していること。
- 最後に設定を変更した後、「Nx Witness設定保存」を実行していること。保存していない変更は、再起動後に最後に保存した時点の内容へ戻ります。
3. 反対側のエリアへ直接コピー・同期することはできるか
稼働中のエリアから、再起動せずに反対側のエリアへNx Witnessの設定を直接コピーする機能はありません。
-
直接コピー機能はありません。
稼働中のエリアから、別エリアのNx Witness設定(/opt/networkoptix/配下)を直接コピーする機能・手順は製品として提供していません。共有領域に設定を保存し、別エリアで起動した際に読み込む方式です。
Linux上でのファイルコピーやddコマンドなどによるパーティション複製は、動作検証を行っておらず、サポート対象外です。 -
エリア同期(sync)の対象外です。
エリア同期(sync)はファームウェアを両エリアで揃える機能です。Nx Witnessの設定は同期対象外です。 -
archive.listの対象外です。
証明書やスクリプトなどを保持するarchive.listについても、Nx Witnessのデータベース保持は想定していません。
4. 対処手順:両エリアのパスワードを揃える
片方のエリアでNx Witnessの管理者パスワードを変更した場合は、再起動が可能なメンテナンス時に、反対側のエリアでもパスワードを変更してください。
ここでは、現在エリア1で正常稼働しており、エリア0側の設定を揃える場合の手順を説明します。
作業の全体像
- エリア1で最新の設定を保存する。
- エリア0に切り替えて起動する。
- エリア0のNx Witnessのパスワードを新しいパスワードに変更する。
- 共有領域の最新の設定を読み込む。
- エリア1に戻して動作を確認する。
手順1:定期保存を一時的に無効にする
スケジューラでNx Witnessの定期保存を設定している場合は、作業前に無効にしてください。
エリア0で起動した後も定期保存は動作します。最新の設定を読み込む前に定期保存が実行されると、エリア0に残っている古い設定で共有領域のバックアップ(file.db)が上書きされるおそれがあります。
-
GUI:「詳細設定・制御」>「スケジュール設定」>「ユーザー定義」タブで、該当のタスク(例:
nxsave)を編集し、無効に切り替えます。 - CLI:CLIユーザーズマニュアルの「7.7.3 スケジュールを設定する」を参照してください。
無効にした設定は、次の手順2で本体設定を保存することで記録されます。必ず手順2まで続けて実施してください。
手順2:エリア1で最新の設定を保存する
現在稼働中のエリア1で、Nx Witnessの設定と本体設定を保存します。この操作では再起動は発生しません。
- GUI:
-
CLI(amsh):
amnimo# config nxwitness save amnimo# config file save
手順3:エリア0に切り替えて再起動する
次回の起動エリアをエリア0に指定してから、再起動します。
device bootは次回起動するエリアを指定するコマンドです。再起動は別のコマンドで実行します。
参考マニュアル:起動する冗長領域を設定する
-
CLI(amsh):
amnimo# device boot 0 amnimo# reboot type soft Are you sure you want to restart? (y/n):y
-
bashで再起動する場合:
amnimo# device boot 0 amnimo# exit amnimo$ exit admin@amnimo:~$ sudo amctrl reboot -t soft Are you sure you want to restart? (y/n):y
手順4:エリア0のNx Witnessのパスワードを変更する
エリア0で起動したら、Nx Witnessにログインし、管理者パスワードをエリア1と同じ新しいパスワードに変更します。
このとき、変更前のログインには、エリア0に残っている古いパスワードを使用してください。
手順5:共有領域の最新の設定を読み込む
エリア0のパスワードを変更したら、次のコマンドで共有領域に保存されている最新のNx Witness設定を読み込みます。
amnimo# config nxwitness load
読み込みが完了したら、次の項目を確認してください。
- 新しいパスワードでNx Witnessにログインできること。
- カメラの設定などが最新の状態になっていること。
警告:設定を読み込む前に保存しないでください。
config nxwitness loadによる読み込みが正常に完了したことを確認するまでは、GUI・CLIのいずれでも「Nx Witness設定保存」を実行しないでください。定期保存(スケジューラ)による保存も同様です。
読み込み前に保存すると、エリア0に残っている古い設定で共有領域のバックアップ(file.db)が上書きされるおそれがあります。その場合、エリア1に戻した際にも古い設定が読み込まれてしまいます。
手順6:エリア1に戻して再起動する
エリア0で設定が正常に反映されたことを確認したら、次回起動エリアを元のエリア1に設定して再起動します。
-
CLI(amsh):
amnimo# device boot 1 amnimo# reboot type soft Are you sure you want to restart? (y/n):y
-
bashで再起動する場合:
amnimo# device boot 1 amnimo# exit amnimo$ exit admin@amnimo:~$ sudo amctrl reboot -t soft Are you sure you want to restart? (y/n):y
手順7:定期保存を元に戻す
手順1で定期保存を無効にした場合は、エリア1で起動した後、該当のタスクを有効に戻してください。その後、本体設定を保存します。
- GUI:手順1と同じ画面で該当のタスクを有効に戻し、本体設定の保存を実行します。
-
CLI:手順1の参照先に従ってタスクを有効に戻したうえで、次のコマンドを実行します。
amnimo# config file save
5. 今後の運用と再発防止
パスワードを変更したときは、両エリアの設定を揃える
Nx Witnessの管理者パスワードを変更する際は、本体設定に登録されているパスワードもあわせて変更してください。
また、今回の手順に従って、反対側のエリアでもNx Witnessのパスワードを新しいものに変更してください。両エリアのパスワードを揃えることで、起動エリアが切り替わった際にも、最新の設定を読み込める状態を維持できます。
Nx Witness設定の定期自動保存を設定する
ファームウェア標準ではNx Witnessの設定は自動保存されません。設定変更後の保存漏れを防ぐため、スケジューラによる定期保存を推奨します。
ストレージ保護のため、保存間隔は1時間以上を推奨します。
CLI設定例(3時間ごとに保存する場合):
amnimo(cfg)# schedule user-define nxsave datetime 0 */3 * * * command amcfgnx save enable amnimo(cfg)# exit amnimo# config file save
注意:両エリアのパスワードが揃っていない状態での定期保存に注意してください。
パスワードが揃っていない状態で起動エリアが切り替わると、起動時の設定読み込みに失敗した後、定期保存が実行される可能性があります。
その結果、共有領域のバックアップが古い設定で上書きされるおそれがあります。パスワードを変更した際は、速やかに両エリアのパスワードを揃えてください。
電源環境を見直す
電圧低下や意図しない電源断は、予期しない再起動の要因となります。UPSの導入など、電源供給の安定化を検討してください。
コメント
0件のコメント
サインインしてコメントを残してください。