この節では、ミラーとその操作についていくつかのヒントを提供します。
次に示す 2 つの作業では、ミラーを破壊せずにサブミラーの飛び越し値を変更する方法、およびオンラインバックアップ用にミラーを使用する方法を示します。
この作業では、ストライプ方式メタデバイスで構成される、ミラーの配下のサブミラーの飛び越し値を変更します。この方法を使用すれば、ミラーとサブミラーを再作成してデータを復元する必要がありません。
コマンド行を使用してこの作業を実行するには、 metadetach(1M)、metainit(1M)、および metattach(1M) のマニュアルページを参照してください。
この作業に含まれる手順の概要を次に示します。
サブミラー 1 の切断
サブミラー 1 の除去
サブミラー 1 として使用される、新しい飛び越し値をもつ新しいストライプを作成
サブミラー 1 をミラーに接続
ミラー再同期の終了を待つ
サブミラー 2 に対して、上述の手順を繰り返す
DiskSuite ツールが起動されていることを確認する。
オブジェクトリストからミラーオブジェクトをダブルクリックする。
オブジェクトがキャンバスに表示されます。
切断されるサブミラーの内部をクリックする。
サブミラーをミラーオブジェクトからキャンバスにドラッグする。
これが 2 面のミラーである場合、ミラーの状態は「緊急」に変化します。
ミラーオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
希望する飛び越し値をもつ新しいサブミラーを作成する。
「ストライプ方式メタデバイスの作成方法 (DiskSuite ツール)」を参照してください。
新しいサブミラーオブジェクトをミラーオブジェクトにドラッグする。さらに「確定」をクリックしてミラーを確定する。
ミラーの再同期が始まります。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
DiskSuite は「バックアップ製品」ではありませんが、ミラーをマウント解除したりミラー全体をオフラインにすることなく、またシステムを停止したりデータへのユーザーアクセスを拒否することなく、ミラー化されたデータをバックアップするための手段を提供します。これは次のように行われます。サブミラーの 1 つをオフラインにして (一時的にミラーの機能を失います)、バックアップを実行します。バックアップが終了すると、すぐにそのサブミラーをオンラインに戻し、再同期を行います。
この作業は、ルート (/) を除いて、どのファイルシステムでも使用できます。この種のバックアップでは、動作中のファイルシステムの「スナップショット」を取得していることに留意してください。ファイルシステムが書き込みロックされたときの使用方法に応じて、バックアップ上の一部のファイルとファイル内容が、ディスク上の実際のファイルと一致しないことがあります。
この作業を 2 面ミラーで行う場合、1 つのサブミラーがバックアップ用にオフラインになっているとき、データの冗長性が失われることに注意してください。3 面ミラーでは、この問題は発生しません。
バックアップが終了してから、オフラインにされていたサブミラーがオンラインに復帰するとき、システムには若干の負荷が発生します。
これらの作業を定期的に使用する場合、スクリプトにすると使いやすくなります。
この作業の手順を次に示します。
ファイルシステムの書き込みロック (UFS のみ)。ルート (/) はロックしない。
metaoffline(1M) コマンドを使用して、1 つのサブミラーをミラーからオフラインにする。
ファイルシステムのロック解除。
オフラインにしたサブミラー上のデータのバックアップ。
metaonline(1M) コマンドを使用して、オフラインにされたサブミラーをオンラインに戻す。
作業を開始する前に、metastat(1M) コマンドを実行して、ミラーが「Okay (正常)」状態にあることを確認する。
「Maintenance (保守状態)」のミラーは、最初に修復してください。
ルート (/) を除くすべてのファイルシステムで、ファイルシステムを書き込みからロックする。
# /usr/sbin/lockfs -w <マウント先> |
UFS だけを書き込みロックする必要があります。メタデバイスが、データベース管理ソフトウェアやその他の特定アプリケーション用の raw デバイスとして設定された場合、lockfs(1M) の実行は必要ありません (しかし、他社提供の適切なユーティリティを実行して、バッファをフラッシュしたりアクセスをロックすることもできます)。
ルート (/) を書き込みロックすると、システムがハングアップすることがあります。したがって、これを行なってはいけません。
1 つのサブミラーをミラーからオフラインにする。
# metaoffline <ミラー> <サブミラー> |
このコマンドでは、
ミラー |
ミラーのメタデバイス名。 |
サブミラー |
オフラインにされるサブミラー (メタデバイス) の メタデバイス名。 |
読み取りは、他のサブミラーから続行されます。最初の書き込みが行われると、ミラーはすぐに同期外れとなります。この不一致は、オフラインにされたサブミラーが手順6 でオンラインに戻ると訂正されます。
オフラインにされたファイルシステムでは、fsck(1M) を実行する必要はありません。
ファイルシステムのロックを解除し、書き込みを継続させる。
# /usr/sbin/lockfs -u <マウント先> |
上の 手順 2 で使用された他社提供のユーティリティにもとづいて、必要なロック解除作業を実行する必要があります。
オフラインにされたサブミラーのバックアップを実行する。ufsdump(1M)、または通常使用しているバックアップユーティリティを使用する。
適切なバックアップを行うには、/dev/md/rdsk/d4 などの raw メタデバイスを使用します。「rdsk」を使用すると、2G バイトを超えるアクセスが可能となります。
ミラーをオンラインに戻す。
# metaonline <ミラー> <サブミラー> |
DiskSuite は、サブミラーとミラーの再同期を自動的に開始します。
この例では、サブミラー d2 と d3 から成る、d1 という名前のミラーを使用します。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 |
ルート (/)、/usr、および swap 用のミラーを備えたシステム (いわゆる「ブート」ファイルシステム) がシングルユーザーモードでブートされる (boot -s) と、これらのミラーだけではなく、おそらくシステム上のすべてのミラーが、metastat コマンドで見ると「Needing Maintenance」状態として表示されます。その上、これらのスライスに書き込みが行われた場合、metastat はミラー上にダーティリージョンが増えることを明らかにします。
これは危険なように見えるかもしれませんが、心配する必要はありません。metasync -r コマンドは、通常はミラーを再同期するためにブート処理時に実行されますが、システムがシングルユーザーモードでブートされたときには、実行を中断します。システムがリブートされると、metasync -r が実行されて、すべてのミラーを再同期します。
これが心配な場合、metasync -r を手動で実行します。