文書番号: 000129145
ここでは以下の方を対象とし進めています。
紹介内容
ここではPatrol Readの主な特徴について説明します。
Patrol Read |
Consistency Check |
|
---|---|---|
目的 |
ハードドライブ関連のエラーを検出し、エラー検出時にはデータをリカバリ | 冗長アレイにおけるデータの整合性を修正 |
機能 |
ディスクメディアエラー(冗長RAIDアレイなど)を効果的に先行してリカバリ | 電源が切れるなどのイレギュラーなイベント後の冗長アレイの整合性を復元 |
長所 |
|
|
短所 |
メディアエラーしか検出できない(RAID5のパリティエラーは検出しない) | ディスクを実際に読み込んでいるため負荷がかかり、データ転送やバス負荷が発生する。このため、PERC内部のRAIDプロセッサにも負荷がかかる |
実行内容 |
検証する(サポート外のものは読み取りのみ) | 読み取りのみ |
並行性 |
複数のディスクを同時に実行可能 | 複数のディスクを同時に実行可能 |
パリティ検証 |
検証しない | 検証する |
正常なRAID0 |
エラーログがNVRAMに記述されるが修正しない | N/A |
正常なRAID1 |
ミラーARMからデータを読み取り、メディアエラーブロックを再割り当てして再度書き込む(AWREとともにWRITE_VERIFYコマンドが最初に使用される) | ミラーARMからデータを読み取り、メディアエラーブロックを再割り当てして再度書き込む(AWREとともにWRITE_VERIFYコマンドが最初に使用される) |
正常なRAID5 |
同一アレイ内の他のディスクからピアデータブロックを読み取る。ソースブロックから再計算する。メディアエラーブロックを再割り当てして再度書き込む(AWREとともにWRITE_VERIFYコマンドが最初に使用される) | 同一アレイ内の他のディスクからピアデータブロックを読み取る。ソースブロックから再計算する。メディアエラーブロックを再割り当てして再度書き込む(AWREとともにWRITE_VERIFYコマンドが最初に使用される) |
劣化したRAID1/RAID5 |
エラーログがNVRAMに記述されるが修正しない | N/A |
ホットスペア |
エラーブロックを再割り当てする | N/A |
CODエリア |
エラーブロックを再割り当てしてCODデータを書き込む | N/A |
Ready(オプション) |
エラーブロックを再割り当てする | N/A |
未設定エリア(オプション) |
エラーブロックを再割り当てする | N/A |
Patrol Readとは、障害が発生する前にディスクにSCSI/SASのVerifyコマンドを実行して物理デバイスのエラーを検出し、エラーをリカバリする作業です。
通常の入出力操作時のエラーリカバリが不要になるため、システムパフォーマンスを向上することができます。
Patrol Readの主な特徴は以下の通りです。
*Patrol Readはスキャン中にディスクがアクティブ状態になります。このため、通常アイドル状態であると予想される場合でも、Patrol Readのオペレーション中は接続されているすべてのディスクドライブがアクティブになります。
*Patrol Readの操作については、「Patrol Readの実施」をご参照ください。
Patrol Readを実施する際、Patrol Readが使用可能になっていない場合は以下の手順で設定します。
BIOS Configuration UtilityでのPatrol Readの設定
Patrol Readを設定するにはBIOS Configuration Utilityを使用します。
このユーティリティのPatrol Readオプションでは、自動または手動(ユーザーによる実行が必要)の設定またはPatrol Readを無効に設定することができます。
Dell OpenManage Array ManagerやOpenManage System Storage Managementでは、Patrol Readを設定することはできません。
Patrol Readの操作は、WindowsまたはLinuxからMegaPR Utilityを使用することで設定できます。
ManualモードでPatrol Readを設定している場合、Patrol Readはそのままでは動作しません。
Patrol Readを動作させるには、その都度以下のAdapter BIOSでのPatrol Readオプションの設定手順で[Start]メニューを選択する必要があります。
一度Manualモードを選択すると、設定を変更するまでManualモードのままです。
*Patrol Readは以下の各LSIコントローラとファームウェアの組み合わせて構成される環境か、それよりも新しいバージョンの組み合わせによる環境の場合デフォルトで使用することができます。LSIコントローラ以外のコントローラを搭載した環境では使用できません。
コントローラ | ファームウェアバージョン |
---|---|
PERC 4/DC | 351S |
PERC 4/SC | 351S |
PERC 4/Di(PE2600) | 251S |
PERC 4/Di(PE1750) | 421S |
PERC 4e/DC | 521S |
PERC 4e/Di(PE2800) | 521S |
PERC 4e/Di(PE2850) | 521S |
PERC 4e/Si(PE1850) | 521S |
PERC 3/DC PERC 3/DCL PERC 3/QC PERC 3/SC |
198U |
*ファームウェアおよびドライバの最新バージョンは、サポートサイトの各製品ページのドライバおよびダウンロードから検索できます。
*サポートサイトからドライバやファームウェアをダウンロードした場合、ファームウェアまたはドライバのアップデート作業については、恐れ入りますがお客様自身の責任において、お客様自身でのアップデート作業をお願いいたします。
*Dell Diagnosticsプログラム(診断プログラム)を実行した際にバックグラウンドでPatrol Readが起動していた場合、「Read/Write Buffer Test data mismatch」というメッセージが表示される場合があります。これはハードディスクのバッファのRead/Writeチェック中にPatrol Readのチェックが同時に起こった場合、Patrol Read側がデータの整合性が取れないという誤認識を起こした場合に表示されます。実際のハードディスクの故障ではありませんのでご注意ください。Dell Diagnosticsを起動する場合、Patrol Readを[Off]に設定し起動するとこのメッセージは表示されなくなります。
Patrol Readオプションの設定は以下の手順で実行します。
ManagementメニューよりObjects -> Adapterの順に選択します。
AdapterメニューよりPatrol Read Optionsを選択すると、以下のオプションが表示されます。
Patrol Read Modeを選択すると以下のオプションが表示されます。
Manualモードを使用する場合、Patrol Readを反復して実行するには以下の通り設定します。
Patrol Read Statusを選択しEnterキーを押すと以下のオプションが表示されます。
Patrol Readがアクティブ状態のときにEnterキーを押すことにより、完了した割合を表示する2次オプションで現在の状態が表示されます。
1次オプションおよび3次オプションは読み取り専用です。
MegaPRユーティリティ
オペレーティングシステム経由でPatrol Readをアクティブにするには、MegaPRユーティリティを使用します。
MegaPRは、オペレーティングシステムからPatrol Readの状態を管理、レポートするユーティリティです。
MegaPRにはWindows 2000/2003版およびLinux(RHEL 2.1、3、4)版の2種類のバージョンがあります。
*MegaPRユーティリティはサポートサイトの各種ドライバおよびファームウェアから検索できます。カテゴリより[SCSI RAID]、その他該当するOSを指定し検索してください(一部サポートしていない機種、OSがあります)。
使用可能なオプションは以下の通りです。
各オプションについてのヘルプを表示するには、cmd -[option]と入力します。
各オプションの後にアダプタ番号-ax(xはアダプタ番号で0~11まで指定可能)を入力します。
Patrol Readを開始する場合のMegaPRのオプション例:Megapr.exe -startPR -a0
Patrol Readの自動スケジュール処理の設定手順
Patrol Readが使用可能になったら、以下の手順でスケジュールの詳細を設定します。
BIOS Configuration UtilityでPatrol Readを[Auto]モードに設定します。
*PERCコントローラのデフォルト設定はAutoモードです。
*Patrol ReadがAutoモードで、操作を定期的に実行中にサーバーがリブートした場合、Patrol Readは最初から操作を再開します。Manualモードでサーバーがリブートした場合には再開しません。
AutoモードではPatrol Readはシステム上で継続的に動作し、直前の実行から4時間以内に新しく実行するようスケジュールされます。
Patrol Read Modeが[Auto]から[Manual]、[Manual Halt]、[Disabled]に変更された場合、その次の実行スケジュールはN/Aとして設定されます。
メディアエラーが発生した場合、MegaRAIDファームウェアがLBAへのVerifyコマンドを5回まで再試行します。
再試行回数が5回を超えると以下のアクションが実行されます。
Patrol Readを停止します。
エラーをリカバリします。
エラー修正後Patrol Readが停止したところから開始します。
エラーリカバリ手順
エラーのリカバリ手順は以下の通りです。
NVRAMに格納されているデータ
ファームウェアはPatrol ReadのデータをNVRAMに格納します。現在のデータ構造がNVRAMに格納されます。
新しいPatrol Readの実装をサポートするために、以下のような変数を取得します。
その目的は1.物理ドライブの進捗状況の把握、2.Patrol Read開始時のスケジュール設定、3.エラー情報のログ取得です。
これらの値は、どのようなデータがユーザーにとって有益かによって決定されます。
実行箇所の選定
Patrol Readを実行する場所を決めることができます。
オプション1:未設定領域を修正しますが、未設定ディスクは修正しません(現在の設定)。
オプション2:未設定領域を修正し、未設定ディスクも修正します。
しきい値
Patrol Readのしきい値
Patrol Readを実行する場所を決めることができます。
詳細については「付録」の「Patrol Read実施のためのしきい値の定義」をご参照ください。
複数のドライブで同時にPatrol Readを実施する場合
Patrol Readは複数の物理ドライブで実行することができます。
Patrol Readを複数のドライブで実行するように設定した場合、論理ドライブが設定されているすべての物理ドライブで実行を試みます。
論理ドライブの動作
Patrol Readはドライブが以下の状態または状況では動作しません。
PERC/CERC Configuration Manager(Ctrl+M)ユーティリティの使用
PERC 3/SC/DC/QCとPERC 4/SC/DC/DiのRAIDコントローラは、PERC/CERC Configuration Manager(Ctrl+M)ユーティリティで管理することができます。
ブートプロセス中にRAIDコントローラが初期化されていると表示されている間に[Ctrl]+[M]キーを押すと、このユーティリティにアクセスします。
管理者はCtrl+Mの画面で再構築プロセスを監視することができます。
この画面には再構築プロセスの100%までの完了割合が表示されます。
再構築中にメディアエラーが検出されると、Ctrl+Mユーティリティは利用者に通知しませんが、終了時に[INCON]メッセージを表示します。
Patrol Read実施のためのしきい値の定義
物理ドライブの進捗状況の把握
上記の値を保つことにより、ユーザーは最近2回分のビットマップクリアのサイクル内で少なくとも1回はどのドライブがPatrol Readの実施を完了したか、またファームウェアがビットマップを前回クリアした時刻を把握できます。
たとえば、ユーザーがPatrol Readビットマップクリアの頻度を30日と設定した場合、ユーザーは最近30日から60日の間に少なくとも1回はどのドライブがPatrol Readによって完了したかを把握できることになります。
Patrol Read開始時のスケジュール設定
ファームウェアが開始時刻に基づいて次回の希望開始時刻を計算します。
開始時刻がくるとファームウェアは次の希望開始時刻を計算します。
開始時刻をすでに過ぎていた場合、次回の開始時刻はNVRAMに保存され、超過分を差し引いてその次の開始時刻を計算します。
ファームウェアはPatrol Readのすべての物理ドライブの実施を1回分完了すると、次回の希望開始時刻をチェックします。
算出された次回の開始時刻をすでに過ぎていた場合はただちにPatrol Readが実施されますが、それ以外の場合は次回の時刻まで保留されます。
エラー情報のログ取得
ファームウェアはエラー情報(物理ドライブおよびLBA)のログを取得してNVRAMに記録します。
回復済みエラーおよび未回復エラーの両方のログが記録されます。
しきい値
しきい値にはユーザーの要求、物理ディスクの動作の2つの局面があると考えられます。
物理ディスクがビジーであるほど、ファームウェアがディスクに送るコマンドは少なくなります。
しきい値の設定例:MaxAllowedOutstandingDiskCommands = prRate/5;
Starvationロジック
IOのしきい値が満たされない場合でも、ある期間の範囲内に開始するPatrol Readのサイクルは保証されています。
Patrol Readレートに従って遅延時間が決定されます。
Patrol Readレートが0(%)でしきい値が満たされない場合(特別なケース)はPatrol Readは再開できません。
次回のPatrol Readサイクル開始時刻を定義するために、タイミング遅延用の公式があります。
しきい値の詳細は最終的な実装で変化する可能性があります。
以下は遅延の計算例です。
遅延の計算例:prStarvationDelayTime = (100-prRate)*20 / 100;
しきい値はPatrol Readの開始時およびコールバック機能に対して機能します。
しきい値がコールバック機能で満たされる場合、ファームウェアは次回のLBAのためにVERIFYコマンドを続けて実行します。
しきい値がコールバック機能で満たされない場合、Patrol Readは数秒遅延し設定時刻の期限が切れるまで再開しません。
転送サイズ
物理ドライブ上のOutstandingコマンド数に基づいて動的に(1MBから32MB)Patrol Read転送を調整します。
Outstandingコマンド | 転送サイズ |
---|---|
4個以上 | 1MB |
3 | 2MB |
2 | 4MB |
1 | 8MB |
0 | 32MB |
上記の計算は、さまざまな条件のシステムワークロードで実際に測定される数値に基づいて変わることがあります。
Servers
19 12月 2022
6
How To