一時的な設定データベーススペースの管理
概要 一時的なデータベースインスタンスのオプションを設定して、データベースが使用するスペースの量をより効果的に管理します。
Junos デバイスは、コミットするたびに一時的な設定データベース オブジェクトのバージョンを維持します。したがって、一時的なデータベースに対する変更が、追加、変更、または削除であるかに関わらず、データベースのサイズが大きくなる。その結果、データベースのサイズは時間の経過とともに増加します。一時的な構成のサイズやデータベースの変更に応じて、データベースは大量のディスク領域を消費し、フラグメント化され、データベースの最大サイズに実行される可能性があります。一時的なデータベース インスタンスが使用する領域を管理するには、さまざまなオプションを設定します。
サポートされるリリースでは、Junos デバイスは、一時的なインスタンスをコミットすると、デフォルトで巡回バージョン管理を実行します。巡回バージョン管理は、以前のデータベース・バージョンで削除されたオブジェクトが使用するスペースを再利用します。一時的なデータベースで消費される領域を管理するには、デバイスを次のように設定します。
-
運用に応じて周期バージョン管理を調整します。
-
一時的なデータベースが特定の基準を満たす場合は、サイズを変更します。
巡回バージョン管理とリサイズのメリット
-
特定の環境に必要な一時的な設定データベーススペースをより効率的に管理します。
-
データベースのフラグメント化を削減して、パフォーマンスを向上させます。
-
一時的な設定データベースが最大データベース サイズまで実行されないようにします。
巡回バージョン管理について
Junos デバイスは一時的なデータベース オブジェクトのバージョン管理を維持するため、データベースは削除されたオブジェクトも保持して保存します。削除の特徴は次のとおりです。
-
設定を明示的に削除する。
-
コンフィギュレーション属性の値を変更する。
-
ロード更新操作中のエレメントの並べ替え。
巡回バージョン管理では、以前のバージョンのデータベースで削除されたオブジェクトが占める領域が再利用されます。周期バージョン値は、コミット操作中に削除されたオブジェクトを再利用する一時的なデータベースバージョンを決定します。各一時的なデータベース インスタンスのデフォルトの周期バージョン値は 10 です。したがって、周期バージョン管理をサポートするデバイスでは、システムはデフォルトで、削除された設定オブジェクトが占める領域をコミットするたびに再利用します。インスタンスごとに設定を変更できます。周期バージョン管理を無効にするには、周期バージョン値を 0 に設定します。
例えば、デフォルトの周期バージョン値 10 を使用する場合、次のようになります。
-
11 番目のコミット(バージョン 11)の後、デバイスは、バージョン 1 で削除されたオブジェクトが占める領域を再利用します。
-
12 番目のコミット(バージョン 12)の後、デバイスは、バージョン 2 で削除されたオブジェクトによって占有されたスペースを再利用します。
-
13 番目のコミット(バージョン 13)の後、デバイスは、バージョン 3 で削除されたオブジェクトによって占有されたスペースを再利用します。
このプロセスは、後続のコミット操作のたびに続行されます。前の例に示すように、システムが現在のコミット操作中に削除されたオブジェクトを再利用するバージョンは次のとおりです。
version to reclaim = current version - cyclic version
システムがデータベースのサイズを変更すると、システムはアクティブな構成オブジェクトのみを保持し、各オブジェクトのバージョンを最新バージョンにリセットします。その結果、周期バージョン値と同じコミット操作を実行するまで、削除されたオブジェクトは再び再利用されません。
以前のリリースや循環バージョン管理を使用しないデバイスでは、一時的なデータベースのデフォルト動作は、データベースが許容可能な最大バージョンに達したときにデータベースをパージすることです。パージ操作では、削除されたオブジェクトが使用する領域が再利用されますが、すべてのプロセスが完全なコンフィギュレーションを読み取る必要があります。データベースのパージ操作には、以下が含まれます。
-
新しいデータベースの作成
-
現在のデータベースから新しいデータベースにアクティブな設定オブジェクトのみをコピーする。
-
新しいデータベース内のすべてのアクティブな構成オブジェクトのバージョンをバージョン 1 に設定します。
一時的なデータベースのサイズ変更について
巡回バージョン管理が有効で、要素の削除や並べ替えを含むデータベースに頻繁に変更を加える場合、一時的なデータベースのサイズを変更する必要がある場合があります。周期バージョン管理をサポートするデバイスでは、コミット操作中に削除されたオブジェクトが占める領域を自動的に再利用します。ただし、データベースを更新する際に、新しい設定オブジェクトの空き領域が再割り当てされる場合も、そうでない場合もあります。システムがスペースを再割り当てしない場合、時間の経過とともにデータベースがフラグメント化される可能性があります。一時的なデータベースのサイズを変更すると、すべての削除されたオブジェクトが占める領域が再利用され、データベースのデフラグが行われるので、パフォーマンスが向上します。
データベースのサイズ変更操作には、以下が含まれます。
-
新しいデータベースの作成
-
現在のデータベースから新しいデータベースにアクティブな設定オブジェクトのみをコピーする。
-
新しいデータベース内のすべてのアクティブな構成オブジェクトのバージョンを最新バージョンに設定します。
静的設定データベースと同様に、一時的な設定データベースのサイズを変更するようにJunosデバイスを設定できます。データベースのサイズ変更を設定した後、Junos デバイスは、データベースの領域が指定されたしきい値を超えた場合、コミット操作中に一時的なデータベースのサイズを変更します。各一時的なインスタンスのしきい値を変更できます。
データベースサイズが以下の設定ステートメントの両方の基準を満たす場合、システムはデータベースのサイズを変更します。
-
database-size-diff
-データベースサイズと実際の使用量の最小差。デフォルトは 100 MB です。 -
database-size-on-disk
ディスク上の最小構成データベース サイズ。デフォルトは450 MBです。
たとえば、デフォルト値を使用するようにデバイスを設定した場合、ディスク上のデータベース サイズが 450 MB を 超え、データベース サイズが実際のデータベース使用量よりも 100 MB 大きい場合、システムはデータベースのサイズを変更します。
データベースのサイズ変更の設定については、 一時的なデータベースインスタンスのサイズ変更を参照してください。
データベースの show system configuration database usage
ディスク容量の使用状況を表示するには、 コマンドを使用します。コマンドは、ディスク上の現在のデータベース サイズ、実際のデータベース使用率、およびデータベースの最大サイズを表示します。
user@host> show system configuration database usage ephemeral-instance default Maximum size of the database: 692.49 MB Current database size on disk: 1.50 MB Actual database usage: 1.49 MB Available database space: 691.01 MB
巡回バージョン管理の設定
Junos デバイスは、デフォルトで 10 の周期バージョン値を使用します。巡回バージョン値を設定する場合、要素を並べ替えたり、多くのオブジェクトや属性を削除したりする拡張された設定に対して頻繁にコミット操作を行う場合は、より小さな値を使用することをお勧めします。値が小さいほど、デバイスは削除されたオブジェクトをより少ないバージョンのデータベースに保存するため、全体的なディスク領域が少なくなります。このような場合は、2 または 3 の値をお勧めします。それ以外の場合は、デフォルト値 10 など、より大きな周期バージョン値を使用できます。
Junosプロセスが、設定された周期バージョン値よりも多くのコミットの読み取りを見逃した場合、バージョン間のデルタが利用できなくなったため、完全な設定を読み取る必要があります。この効果は、より小さな巡回バージョン値を設定した場合、より頻繁に発生する可能性があります。
コミット操作中にデバイスが削除されたオブジェクトが占める領域を再利用するために使用する周期バージョン値を指定するには、以下を行います。
一時的なデータベース インスタンスのサイズ変更
デバイスでデータベースのサイズを変更するように設定した後、指定した基準を満たすと、そのデータベースに対するコミット操作の後にデバイスがデータベースのサイズを変更します。データベースのサイズを正常に変更すると、デバイスは以下のメッセージを発行します。
Database resize completed