コマンド行インターフェース (CLI) から repairvdiskcopy コマンドを使用して、ミラーリングされた VDisk コピーを検証し、修復することができます。
重要: すべての VDisk コピーが同期化されている場合のみ、repairvdiskcopy コマンドを実行してください。
repairvdiskcopy コマンドを発行する際には、-validate、-medium、または -resync パラメーターのうちの 1 つだけを使用する必要があります。また、検証および修復される VDisk の名前または ID を、コマンド行の最後の項目として指定する必要があります。このコマンドを発行した後、出力は表示されません。
- -validate
- ミラーリングされた VDisk コピーが同一であることを確認するだけの場合に、このパラメーターを使用します。差異が検出されると、コマンドは停止し、論理ブロック・アドレス (LBA) と最初の差異の長さを含むエラーをログに記録します。毎回異なる LBA から開始してこのパラメーターを使用すると、VDisk 上の差異数をカウントすることができます。
- -medium
- 異なる内容を含むすべての VDisk コピー上のセクターを仮想メディア・エラーに変換する場合に、このパラメーターを使用します。完了時に、このコマンドはイベントをログに記録します。これは、検出された差異の数、メディア・エラーに変換された数、および変換されなかった数を示します。どのデータが正しいか確かでないときに、誤ったバージョンのデータを使用したくない場合は、このオプションを使用してください。
- -resync
- 指定された 1 次 VDisk コピーから他の VDisk コピーに内容を上書きする場合に、このパラメーターを使用します。このコマンドは、1 次コピーから、比較対象のコピーにセクターをコピーすることによって、異なるセクターを訂正します。完了後、このコマンド・プロセスはイベントをログに記録します。このイベントは、訂正された差異の数を示します。1 次 VDisk コピー・データが正しいこと、またはホスト・アプリケーションが正しくないデータを処理できることが確実である場合に、このアクションを使用します。
- -startlba lba
- オプションとして、検証と修復を開始する元の開始論理ブロック・アドレス (LBA) を指定する場合に、このパラメーターを使用します。以前に validate パラメーターを使用した場合、最初の差異 (ある場合) が検出された LBA と一緒にエラーがログに記録されています。その LBA を指定した repairvdiskcopy を再発行すれば、比較済みの同じ先頭セクターが再処理されないようになります。
このパラメーターを使用して repairvdiskcopy を引き続き再発行して、すべての差異をリストします。
指定された VDisk のミラーリング・コピーを検証し、必要に応じて自動的に修復するには、次のコマンドを発行します。
svctask repairvdiskcopy -resync -startlba 20 vdisk8
注: - 一度に 1 つの repairvdiskcopy コマンドのみを VDisk に対して実行できます。
- repairvdiskcopy コマンドを開始した後、コマンドを使用して処理を停止することはできません。
- repairvdiskcopy -resync コマンドの実行中に、ミラーリングされた VDisk の 1 次コピーを変更できません。
- 1 つのミラーリング・コピーしかない場合、このコマンドは、エラーを出してただちに戻ります。
- 比較されるコピーがオフラインになると、コマンドはエラーを出して一時停止します。
このコマンドは、コピーがオンラインに戻ったときに、自動的に再開されません。
- 一方のコピーが読み取り可能であるにもかかわらず、もう一方のコピーにメディア・エラーがある場合、このコマンド・プロセスでは、もう一方のコピーから読み取られたデータを書き込むことによって、メディア・エラーを自動的に修正しようとします。
- repairvdiskcopy 処理時に異なるセクターが見つからない場合、プロセスの終わりに情報エラーが記録されます。
CLI を使用した、VDisk コピーの検証と修復の進行状況の確認
ミラーリングされた VDisk の検証と修復の進行状況を表示するには、lsrepairvdiskcopyprogress コマンドを使用します。-copy id パラメーターを使用して、VDisk コピーを指定できます。
アクティブ・タスクが実行されている複数のコピーを持つ VDisk を表示するには、パラメーターなしのコマンドを指定します。ただ 1 つの VDisk コピーに対してアクティブ・タスクが実行されることはあり得ません。
ミラーリングされた VDisk の検証と修復の進行状況を確認するには、次のコマンドを発行します。
svcinfo lsrepairvdiskcopyprogress –delim :
次の例は、このコマンド出力の表示内容を示します。
vdisk_id:vdisk_name:copy id:task:progress:estimated_completion_time
0:vdisk0:0:medium:50:070301120000
0:vdisk0:1:medium:50:070301120000