主要メッセージの手引き

nsrck: SYSTEM error, more space needed to compress [client] index, 8.1 MB required

原因

networker では、/nsr ファイルシステムがいっぱいになると削除を行うために、「Remove Oldest Cycle」機能を使用することはできません。ファイルシステムがいっぱいであることを示すエラーメッセージがコンソールウィンドウに表示されます。

対処方法

  1. networker デーモンを停止して、インデックスをいくつか移動できるようにします。SunOS 5 システムでは、/etc/init.d/networker stop を使用します。SunOS 4 システムでは、ps -ef | grep nsr を使用してプロセスを終了 (kill(1)) します。

  2. クライアントのインデックスを 1 つ移動できるスペースを持つファイルシステムを探します。networker サーバーのインデックスではなく、クライアントのインデックスを 1 つだけ移動してください。クライアントのインデックスのサイズを調べるには、/nsr/index/client name/db へ移動して、ls -l を使用して内容を表示します。データベースファイルのサイズは非常に大きく、500M バイト以上の場合もあります。

  3. クライアントのインデックスの内容を他のファイルシステムに移動して、/nsr が使用できる領域を解放したことを確認します。場合によっては、/nsr のマウント解除してからマウントし直したり、移動によって解放された領域を使用できるように再起動する必要があります。

  4. 領域が使用可能になった後、デーモンを再起動します。

  5. nwadmin ツールの「Clients」メニューから「Indexes」を選択し、「Indexes」ウィンドウ上でクライアントを選択し、「Remove oldest cycle」を使用して領域をさらに解放します。

  6. Reclaim Space」を使用して、削除されたサイクルで使用していた領域を再利用します。古いサイクルがいくつか削除されると、ファイルシステムには削除されたクライアントのインデックスを元に戻すための領域ができます。

  7. デーモンを停止して、クライアントのインデックスを /nsr/index/clientname に戻します。

  8. デーモンを再起動します。移動されたばかりのクライアントの最も古いサイクルを削除します。

以後このような状態が発生しないように、ブラウズポリシーと保持ポリシーを見直す必要があります。

他に長期的な解決策として、ハードディスクを増設してgrowfs を実行すること、/nsr を空き領域の多いドライブに移動することなどがあります。