この手順は、ルート (/) 以外のすべてのファイルシステムに使用できます。このタイプのバックアップは、動作中のファイルシステムのある時点での内容を保存することに注意してください。ファイルシステムへの書き込みをロックしたときのファイルシステムの使用状況によっては、バックアップしたファイルがディスク上の実際のファイルに対応しないことがあります。
この手順には次の制約があります。
この手順を 2 面ミラーに対して使用すると、1 つのサブミラーをバックアップのためにオフラインにしたときに、データの冗長性が失われます。多面ミラーにはこの問題はありません。
バックアップの完了後に、再接続されたサブミラーを再同期するときに、システムにある程度のオーバーヘッドが生じます。
この手順の概要は次のとおりです。
ファイルシステムへの書き込みをロックします (UFS のみ)。ルート (/) はロックしないようにします。
キャッシュのすべてのデータをディスクにフラッシュします。
metadetach コマンドを使って、このミラーの 1 つのサブミラーを切り離します。
ファイルシステムのロックを解除します。
fsck コマンドを使って、切り離されたサブミラーにファイルシステムがあることを確認します。
切り離されたサブミラーのデータをバックアップします。
metattach コマンドを使って、切り離されたサブミラーをミラーに再び接続します。
このような手順を定常的に使用する場合は、これをスクリプトにしておくと実行が容易になります。
より安全な方法としては、ミラーに 3 番目または 4 番目のサブミラーを接続し、これを再同期し、バックアップに使用します。これによって、データの冗長性が常に保たれます。
ミラーが「正常 (Okay)」状態であることを確認します。
ミラーが「保守 (Maintenance)」状態の場合は、まずそれを修復する必要があります。
# metastat mirror |
キャッシュのデータと UFS ロギングデータをディスクにフラッシュし、このファイルシステムの書き込みをロックします。
# /usr/sbin/lockfs -w mount-point |
書き込みをロックする必要があるファイルシステムは UFS ボリュームだけです。このボリュームがデータベース管理ソフトウェアなどのアプリケーション用に raw デバイスとして設定されている場合は、lockfs コマンドを実行する必要はありません。ただし、ベンダー提供の適切なユーティリティーを実行してバッファーをフラッシュしたり、アクセスをロックする必要がある場合もあります。
ルート (/) ファイルシステムは書き込みロックしてはなりません。ルート (/) ファイルシステムを書き込みロックすると、システムが停止します。ルート (/) ファイルシステムをバックアップしている場合は、この手順をスキップします。
ミラーから 1 つのサブミラーを切り離します。
# metadetach mirror submirror |
ミラーのボリューム名です。
切り離すサブミラー (ボリューム) のボリューム名です。
読み取りは、他のサブミラーから引き続き行われます。最初の書き込みが行われた時点でミラーは同期していない状態になります。この不整合の状態は、手順 7 でサブミラーが再び接続された時点で修復されます。
ファイルシステムのロックを解除し、書き込みを再開します。
# /usr/sbin/lockfs -u mount-point |
手順 2 で使用したベンダー提供のユーティリティーを使用して、必要なロック解除手順を実行しなければならない場合があります。
fsck コマンドを使って、切り離されたサブミラーにファイルシステムがあることを確認します。この手順によって、クリーンなバックアップが保証されます。
# fsck /dev/md/rdsk/name |
オフラインにしたサブミラーのバックアップを取ります。
これには、ufsdump コマンド、または通常使用しているバックアップユーティリティーを使用します。ufsdump コマンドを使ってバックアップを実行する方法については、「ufsdump コマンドによるマウント済みファイルシステムのバックアップ」を参照してください。
適切なバックアップを確実に行うには、raw ボリューム名 (/dev/md/rdsk/d4 など) を使用します。raw ボリューム名を使用すると、2G バイトを超える記憶領域にアクセスできます。
サブミラーを接続します。
# metattach mirror submirror |
サブミラーとミラーの再同期が自動的に開始されます。
この例では、ミラー d1 を使用します。このミラーはサブミラー d2、d3、および d4 からなります。サブミラー d3 を切り離して、このサブミラーのバックアップを取ります。この間、サブミラー d2 と d4 はオンラインのままです。このミラーにあるファイルシステムは /home1 です。
# metastat d1 d1: Mirror Submirror 0: d2 State: Okay Submirror 1: d3 State: Okay Submirror 1: d4 State: Okay ... # /usr/sbin/lockfs -w /home1 # metadetach d1 d3 # /usr/sbin/lockfs -u /home1 # /usr/sbin/fsck /dev/md/rdsk/d3 (Perform backup using /dev/md/rdsk/d3) # metattach d1 d3 |