Solaris Resource Manager 1.1 のシステム管理

リミットデータベースの保存と復元

リミットデータベースは sparse ファイルの場合があるので、コピーするときには注意が必要です。sparse ファイルをサポートしないユーティリティで書き込まれたファイルは、通常、大量のディスク容量を使用します。ファイルの空領域は一連のゼロとして読み込まれ、書き直されるときには、空領域ではなく実ブロックとして書き込まれるからです。tar(1)cpio(1)cp(1) などのユーティリティでのファイルのコピーや、バックアップ、復元の場合などです。ufsdump(1M)ufsrestore(1M) などのプログラムでは、「穴」のまま空領域として残せます。

limreport を使って ASCII ファイルを生成し、limadm を使ってこの ASCII ファイルから元のファイルを作成し直しても、リミットデータベースのバックアップと復元を行うことができます。たとえば、次のようにします。

# limreport 'flag.real' - lname preserve > /var/tmp/savelnodes 

このコマンドでは、パスワードマップの各ユーザーに対応する l ノードの ASCII 表示として /var/tmp/savelnodes を作成します。パスワードマップにエントリがない l ノードは保存されません。少なくともパスワードマップのすべてのユーザー ID に対しては l ノードを作成してください。

次のコマンドでは、保存したデータから l ノードを再作成します。

# limadm set -f - < /var/tmp/savelnodes

保存しなかった l ノードは削除されないので、この方法を使えば、リミットデータベース全体ではなく l ノードを選択して保存し復元できます。

limreportlimadm コマンドの使い方については、limreport コマンドと limadm コマンド」で詳しく説明します。管理者にとって、これらのコマンドの使い方を知っておくと、l ノードの保存や復元をするときに便利です。リミットデータベースに定義された l ノード構造の解釈に変更があったときに、これらのコマンドを使用することがあるからです。

リミットデータベースの内容は通常のシステム操作の間に定期的に変更されるので、システムが停止しているときや、シングルユーザーモードのときにバックアップをとる必要があります。同様に、リミットデータベース全体を復元する場合には、システムがシングルユーザーモードのときのように、Solaris Resource Manager が使用されていないときに行う必要があります。