次の目的で、HADB データ (ディスク記憶装置) デバイスの空き領域を監視します。
ディスク容量の使用傾向を定期的にチェックする。
予防保守の一環として。ユーザー側の負荷が増え、データベース設定の大きさの変更やスケールを考慮している場合。
データベースを拡大する操作の一部として。hadbm addnodes を実行して新規ノードをシステムに追加する前に、十分なデバイス空間があるかどうかをチェックします。ノードを追加するには、既存のノード上に 40 〜 50% ほどの空き領域が必要となることを念頭に置いてください。
履歴ファイルや server.log ファイルに次のようなメッセージが表示された場合。
No free blocks on data devices
No unreserved blocks on data devices .
hadbm deviceinfo コマンドを使用して、データデバイス内の空き領域に関する情報を取得します。このコマンドを実行すると、データベースの各ノードについて次の情報が表示されます。
割り当て済みの合計デバイスサイズ (Totalsize)。単位は M バイト。
空き領域 (Freesize)。単位は M バイト。
現在使用されているデバイスの比率 (Usage)
コマンド構文は次のとおりです。
hadbm deviceinfo [--details] [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname オペランドにはデータベース名を指定します。デフォルトは hadb です。
--details オプションを指定すると、次の追加情報が表示されます。
デバイスが実行した読み取り操作の数。
デバイスが実行した書き込み操作の数。
デバイスの名前。
その他のコマンドオプションの説明は、「汎用オプション」を参照してください。
詳細については、hadbm-deviceinfo(1)を参照してください。
ユーザーデータ用に使用可能な空き容量を算定するには、合計デバイスサイズから HADB 用に予約済みの容量 (LogBufferSize の 4 倍 + デバイスサイズの 1%) を減算します。ログバッファーのサイズがわからない場合は、コマンド hadbm get logbufferSize を使用してください。たとえば、合計デバイスサイズが 128M バイトで LogBufferSize が 24M バイトの場合、ユーザーデータ用に使用可能な容量は 128 – (4 x 24) = 32M バイトです。この 32M バイトのうち、半分はレプリケートデータ用に使用され、約 1 % が索引用に使用されるため、実ユーザーデータに使用できるのは 25 % だけです。
ユーザーデータに使用可能な容量は、合計サイズと予約済みサイズの差です。将来的にデータを再断片化するのであれば、空き容量がユーザーデータに使用可能な領域の 50% にほぼ等しくなるようにする必要があります。再断片化がふさわしくない場合は、データデバイスを最大限度まで活用することができます。システムのデバイス容量が不足すると、リソース消費警告が履歴ファイルに書き込まれます。
HADB の調整に関する詳細については、『Sun Java System Application Server パフォーマンスチューニングガイド』を参照してください。
コマンド
hadbm deviceinfo --details
を実行すると、次の例のような結果が表示されます。
NodeNO Totalsize Freesize Usage NReads NWrites DeviceName 0 128 120 6% 10000 5000 C:\Sun\SUNWhadb\hadb.data.0 1 128 124 3% 10000 5000 C:\Sun\SUNWhadb\hadb.data.1 2 128 126 2% 9500 4500 C:\Sun\SUNWhadb\hadb.data.2 3 128 126 2% 9500 4500 C:\Sun\SUNWhadb\hadb.data.3