この手順は、ルート (/) 以外のすべてのファイルシステムに使用できます。このタイプのバックアップは、活動中のファイルシステムの「スナップショット」を使用することに注意してください。ファイルシステムへの書き込みをロックしたときのファイルシステムの使用状況によっては、バックアップしたファイルやファイルの内容がディスク上の実際のファイルに対応しないことがあります。
この手順には次の制約があります。
この手順を 2 面ミラーに対して使用すると、1 つのサブミラーをバックアップのためにオフラインにしたときに、データの冗長性が失われます。3 面ミラーにはこの問題はありません。
バックアップの完了後にサブミラーをオンラインに戻したときに、システムにある程度のオーバーヘッドが生じます。
この手順の概要は次のとおりです。
ファイルシステムへの書き込みをロックします (UFS のみ)。ルート (/) はロックしないようにします。
metaoffline コマンドを使って、このミラーの 1 つのサブミラーをオフラインにします。
ファイルシステムのロックを解除します。
オフラインにしたサブミラーのデータをバックアップします。
metaonline コマンドを使ってサブミラーをオンラインに戻します。
このような手順を定常的に使用する場合は、これをスクリプトにしておくと実行が容易になります。
metastat コマンドを実行して、ミラーが「正常 (Okay) 」状態であることを確認します。
ミラーが「保守 (Maintenance) 」状態の場合は、まずそれを修復する必要があります。
ファイルシステムがルート (/) 以外の場合は、次のコマンドを実行して書き込みをロックします。
# /usr/sbin/lockfs -w mount point |
書き込みをロックする必要があるファイルシステムは UFS だけです。このボリュームがデータベース管理ソフトウェアなどのアプリケーション用に raw デバイスとして設定されている場合は、lockfs を実行する必要はありません。 (ただし、ベンダー提供の適切なユーティリティを実行してバッファをフラッシュしたり、アクセスをロックする必要がある場合もあります。)
ルート (/) の書き込みをロックするとシステムがハングしますので、絶対にロックしないでください。
1 つのサブミラーをオフラインにします。
# metaoffline mirror submirror |
ここで、
ミラーのボリューム名です。
オフラインにするサブミラー (ボリューム) のボリューム名です。
読み取りは、他のサブミラーから引き続き行われます。最初の書き込みが行われた時点でミラーは同期していない状態になります。この不整合の状態は、手順 6 でサブミラーがオンラインに戻された時点で修復されます。
オフラインにしたファイルシステムに対して fsck コマンドを実行する必要はありません。
ファイルシステムのロックを解除し、書き込みを再開します。
# /usr/sbin/lockfs -u mount-point |
上の手順 2 で使用したベンダー提供のユーティリティを使って、必要なロック解除手順を実行しなければならない場合があります。
オフラインにしたサブミラーのバックアップをとります。
これには、ufsdump コマンド、または通常使用しているバックアップユーティリティを使用します。
適切なバックアップを確実に行うためには、raw ボリューム (/dev/md/rdsk/d4 など) を使用します。 「rdsk」では、2G バイトを超えるアクセスが可能です。
サブミラーをオンラインに戻します。
# metaonline mirror submirror |
サブミラーとミラーの再同期が自動的に開始されます。
この例では、ミラー d1 はサブミラー d2 と d3 から構成されています。 サブミラー d3 をオフラインにして、このサブミラーのバックアップをとります。この間、サブミラー d2 はオンラインのままです。このミラーにあるファイルシステムは /home1 です。
# /usr/sbin/lockfs -w /home1 # metaoffline d1 d3 d1: submirror d3 is offlined # /usr/sbin/lockfs -u /home1 (/dev/md/rdsk/d3 を使ってバックアップをとる) # metaonline d1 d3 d1: submirror d3 is onlined |