以下のレジストリは SIOS DataKeeper サービスまたはドライバに関連があり、Regedt32 を使用して参照および編集することができます。
修正可能なレジストリエントリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters
SIOS DataKeeper ドライバは以下のパラメータキーを使用します。パラメータキー内 (* で示す) の値はシステムのすべてのボリュームに対してグローバルな値です。各ターゲット IP のレジストリキー († で示す) の下の値はミラーのみに特有です。* および † で示される値は両方のキーの下に表示されます。(この場合、ターゲット特有の値が優先されます)
BandwidthThrottle †
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\BandwidthThrottle | ||
名前 | タイプ | デフォルトデータ |
BandwidthThrottle | REG_DWORD | 0 |
ミラーに使用するネットワーク帯域幅の最大値 (単位 Kb/s)を指定してください。0 は [制限なし] という意味です。 |
BitmapBaseDir *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\BitmapBaseDir | ||
名前 | タイプ | デフォルトデータ |
BitmapBaseDir | REG_SZ | C:\%EXTMIRRBASE%\Bitmaps (通常は C:|Program Files\SIOS\DataKeeper\Bitmaps ですが、システムをアップグレードした場合、または SIOS DataKeeper を別のパスにインストールした場合は異なります)。 |
SIOS DataKeeper がインテントログを保存するディレクトリを指定してください。 (注記: ドライブレターは大文字である必要があります。) 空の文字列のディレクトリ設定はインテントログを無効にします。 インテントログの機能を無効にするには、それらの各システムで設定が反映されるように再起動する必要があります。 |
BitmapBytesPerBlock * †
場所: 新しいミラーに対して: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\BitmapBytesPerBlock 既存のミラーに対して: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\BitmapBytesPerBlock 注:Parametersでこの編集する場合、すべての新規作成のミラーはこの値を引き継ぎますが、{Target IP}でこの編集を行った場合には、値はそのTargetのみに反映されます。また、 {Target IP}において設定された値は、Parameter で設定された値に優先します。 |
||
名前 | タイプ | デフォルトデータ |
BitmapBytesPerBlock | REG_DWORD | 65536 (0×10000) |
書き込み要求が発生した際に DataKeeper Intent Log のビットマップにダーティーとして表されるバイト数を指定します。ビットマップ内の単一のビットは65536バイトを表し、BitmapBytesPerBlock は、複数のビットとして表される有効なブロックサイズを表します。この値を増やすことで、シーケンシャル書き込みや比較的レイテンシの大きなBitmapストレージでの動作など、特定の状況においてレプリケーションのパフォーマンスを改善することが可能です。65,536バイト以下ブロックのシーケンシャル書き込みでは、より大きなブロックサイズはビットマップファイルへの書き込み回数の減少を意味します。より大きなブロックサイズを指定することは、もっぱらランダムな書き込みが行われる環境や、低レイテンシの高速なシステム上では顕著なパフォーマンスの改善にはつながりません。また、より大きなブロックサイズはシステム障害時における再同期時にデータ量の増大につながる場合もあります。 注: BitmapBytesPerBlockの最低値は65,536であり、これより低い数値は65,536として扱われます。最大値には制限はありません。 注: BitmapBytesPerBlock はミラー再同期の速度には影響しません。 |
BlockWritesOnLimitReached * †
場所: 新しいミラーに対して: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\BlockWritesOnLimitReached 既存のミラーに対して: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\BlockWritesOnLimitReached 注: Parameters の下のこのエントリを編集する場合、作成されたすべての新しいミラーはこの値を継承します。 {Target IP} の下のこのエントリを編集する場合、値はそのターゲットにのみ関係します。 すべての {Target IP} の値は、グローバルパラメータ値を上書きします。 |
||
名前 | タイプ | デフォルトデータ |
BlockWritesOnLimitReached | REG_DWORD | 0 |
この値は、ミラーの書き込みキューが定義された上限値に達した場合(WriteQueueHighWater または WriteQueueByteLimit に達した場合)のミラーの動作を決定します。 BlockWritesOnLimitReached が「0」の場合、ミラーは一時停止され、少し後に部分再同期が開始されます。 BlockWritesOnLimitReached が「1」の場合、書き込みキューに空きができるまで、書き込みは遅延します。ミラーはミラーリング状態のままですが、ネットワークの速度とリモートノードのボリュームに応じてアプリケーションのスループットが低下します。このレジストリ値を更新した後、 DataKeeper が直ちに新しい値の使用を開始できるように、 READREGISTRY コマンドを実行してください。 |
BlockWritesOnNDLGTimeoutReached *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\BlockWritesOnNDLGTimeoutReached |
||
名前 | タイプ | デフォルトデータ |
BlockWritesOnNDLGTimeoutReached | REG_DWORD | 1 |
この値は、同期ミラーのクラスター TargetState 値を設定するときに DataKeeper がタイムアウトを処理する方法を決定します。データの損失を回避するために、DataKeeper は通常、そのようなタイムアウトを検出するとボリュームをロックし、未処理の書き込みを失敗させます。これは、この値が「1」に設定されている場合のデフォルトの動作です。 ボリュームがロックされ、書き込みが失敗するのを防ぐには、この値を「0」に設定します。変更した設定を有効にするには、ノードを再起動する必要があります。 注記: この値を「0」に設定するとアプリケーションデータが失われる可能性があるため、これは推奨しません。 |
CompressionLevel †
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\CompressionLevel | ||
名前 | タイプ | デフォルトデータ |
CompressionLevel | REG_DWORD | 0 |
指定したミラーに対する圧縮レベルを指定してください。有効値は 0 ~ 9 です。レベル 0 は「圧縮なし」です。1 ~ 9 の値は、圧縮の CPU の集中レベルを増分的に指定します。圧縮レベル 1 は高速圧縮です。データを圧縮する CPU 時間は最短ですが、パケットサイズが最大になります。レベル 9 は圧縮時間が最長ですが、圧縮率は最大になります。つまり、CPU 時間は長くなりますが、パケットサイズは最小になります。お使いのシステム、ネットワーク、および作業負荷に応じて、CPU 利用率とネットワーク効率の均衡を取るように適切なレベルに調節することができます。 |
DontFlushAsyncQueue *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\DontFlushAsyncQueue | ||
名前 | タイプ | デフォルトデータ |
DontFlushAsyncQueue | REG_SZ | 空 <drive letter> [<drive letter>] |
ドライバがフラッシュ要求を受けた場合に、非同期キューをフラッシュしないボリュームを指定することができます。この値は適用されるボリュームのドライブレターを含みます。ドライブレターは続けて入力するか (XY) またはスペースで区切って (X Y) 入力してください。コロンは不要です。このレジストリ値を更新した後、DataKeeper が新しい値を使用してすぐに起動できるように READREGISTRY コマンドを実行してください。 (注記: DontFlushAsyncQueue を設定する場合は、データとデータベースログを同じパーティションに配置してください) |
MaxResyncPasses *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\MaxResyncPasses | ||
名前 | タイプ | デフォルトデータ |
MaxResyncPasses | REG_DWORD | 200 (0xc8) |
SIOS DataKeeperが再同期プロセスを一時的に中断する前に、ソースボリュームに一定の書き込み処理がある間に再同期の最大パス数を指定してください。この中断後、通常は60秒後に再同期が自動的に再開されます。すべてのパスで、SIOS DataKeeperはパスの途中で書き込まれたボリュームブロックをマークします。次のパスでは、マークされたブロックのみをターゲットに送信します。 注:設定されたすべての変更の反映には、システムの再起動が必要となります。 |
NotificationIconUpdateStatus *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\NotificationIconUpdateStatus | ||
名前 | タイプ | デフォルトデータ |
NotificationIconUpdateStatus | REG_SZ | true |
マシン上の DataKeeper 通知アイコンのすべてのインスタンスによって実行されるステータス更新チェックを無効にすることができます。この値には、 True または False のいずれかを設定する必要があります。コンテキストメニューから通知アイコンを無効にすると、このエントリーは False に設定されます。 |
PingInterval *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\PingInterval | ||
名前 | タイプ | デフォルトデータ |
PingInterval | REG_DWORD | 3000 (0xBB8) |
ping 間の発行間隔をミリ秒で指定してください。WAN 接続または信頼性の低いネットワークに対しては、高い値を設定してください。 MaxPingMisses の値とともに発行間隔をカスタマイズすることでミラーリングのパフォーマンスを調整することが可能です。 keep-alive パケット機能は、データが送信されていない場合、ソースが各ミラーに対してデフォルトで3秒間ごとに送信するのが特徴です。パイプをオープンにし続け、システムやネットワークダウンの検知を手助けします。DataKeeper は、ping 非応答によりミラー状態を変更せず、ミラーの処理に対してそれほど影響を与えません。これはソースからターゲットのみとなります。 デフォルト設定は、ソースシステム上のレジストリーで変更可能です。 |
ResyncBlockWritesTimeoutMs * †
場所: 新しいミラーの場合: および HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\ResyncBlockWritesTimeoutMs 既存のミラーの場合: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\ResyncBlockWritesTimeoutMs 注記 : パラメータ の下にあるこのエントリを編集する場合、作成されたすべての新しいミラーはこの値を継承します。 {Target IP} の下にあるこのエントリを編集する場合、値はそのターゲットにのみ関連します。 すべての{Target IP}の値は、グローバルパラメータの値を上書きします。 |
||
名前 | タイプ | デフォルトデータ |
ResyncBlockWritesTimeoutMs | REG_DWORD | 15000 (0×3a98) |
再同期中に DataKeeper が書き込みを遅らせる最大時間を指定します。詳細については、 大量書き込みに対する考慮事項 のトピックを参照してください。 |
ResyncLowWater * †
場所: 新しいミラーの場合: および HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\ResyncLowWater 既存のミラーの場合: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\ResyncLowWater 注記 : パラメータ の下にあるこのエントリを編集する場合、作成されたすべての新しいミラーはこの値を継承します。 {Target IP} の下にあるこのエントリを編集する場合、値はそのターゲットにのみ関連します。 すべての{Target IP}の値は、グローバルパラメータの値を上書きします。 |
||
名前 | タイプ | デフォルトデータ |
ResyncLowWater | REG_DWORD | 150 (0×96) |
再同期中に DataKeeper が書き込みを遅らせるダーティーブロックの最大数を指定します。詳細については、 大量書き込みに対する考慮事項 のトピックを参照してください。 |
ResyncReads *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\ResyncReads | ||
名前 | タイプ | デフォルトデータ |
Resync Reads | REG_DWORD | 20 (0×14) |
この値は、ミラー再同期の間、読み込んでターゲットシステムに送信するために処理中にできる最大ディスクブロック数を表します。この値を変更するとミラーの再同期速度が変更されます。 注記: この値の調整は、同期および非同期のミラーに適用することができます。 |
SetSvcNullSessionPipes *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\SetSvcNullSessionPipes | ||
名前 | タイプ | デフォルトデータ |
SetSvcNullSessionPipes | REG_DWORD | 1 |
DataKeeper はシステム間およびクライアントシステムと DataKeeper サービス間との通信のために名前付きパイプ “DkSvcPipe”を使用します。デフォルトでこのパイプは、匿名接続 を許可する権限をもって作成されます。 (これは NullSessionPipes リストに追加されます)。NullSessionPipes から DkSvcPipeを削除する場合は、 この値を “0” にし、レジストリ値を編集してください。HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes – このレジストリ値のパイプリストから DkSvcPipe を削除してください。 |
SnapshotLocation †
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\SnapshotLocation | ||
名前 | タイプ | デフォルトデータ |
SnapshotLocation | REG_SZ | <drive letter> |
このボリュームのターゲットスナップショットファイルを格納するフォルダを指定します。 |
TargetDispatchPort *
場所 ターゲットシステム: 上記ターゲットにミラーを作成するソースシステム: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Targets{Target IP} (つまり、ターゲットシステムのIPアドレスを名前とするキーを作成するか、すでに存在する場合はそのキーのTargetDispatchPortの値を更新します。) |
||
名前 | タイプ | デフォルトデータ |
TargetDispatchPort | REG_DWORD | 9999 |
ディスパッチポートを 9999 から変更する場合は、TargetDispatchPort を設定すべき箇所が 2 か所あります。ターゲットシステムでは、 ExtMirr\Parameters キー内に配置してください。新しい設定は、サーバのすべての既存および新規ターゲットに対して適用されます。 変更したパラメータキーの設定を反映させるには、ターゲットの再起動が必要です。 このターゲットへのミラーを作成するソースシステムで、ミラーがすでに存在する場合は、 ExtMirr\Parameters\Targets\{Target IP} キーに配置します。そのキーがまだ存在しない場合は作成してください。 注記: ソースとターゲットの両方で、ポートを同じにしてください。 新しいディスパッチポートを動作させるためにはすべてのソースおよびターゲットサーバ上でファイアウォールを開放する必要があります。 |
TargetPortBase *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\TargetPortBase | ||
名前 | タイプ | デフォルトデータ |
TargetPortBase | REG_DWORD | 10000 |
ターゲットボリュームへの接続に対するベースの TCP ポート番号を指定してください。この番号はデフォルトのポートが他のサービスで使用されている場合、またはファイアウォールでブロックされている場合に調整する必要があることもあります。ターゲットが使用する実際のポートは次のように計算されます。 ポート = TargetPortBase + (ボリュームレター - A:) 以下に例を示します。 TargetPortBase = 10000 ボリュームレター = H ポート = 10000 + (H:-A:)= 10007 |
TargetPortIncr *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\TargetPortIncr | ||
名前 | タイプ | デフォルトデータ |
TargetPortIncr | REG_DWORD | 256 |
ベースの TCP ポート番号の増分を指定してください。これは、TCP ポートが使用されている場合にのみ使用されます。例えば、ターゲットがポート 10005 を使用しようとしたがこのポートが使用中だった場合、ポート 10005 + TargetPortIncr を使用して処理が再試行されます。 |
TargetSnapshotBlocksize *
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\TargetSnapshotBlocksize | ||
名前 | タイプ | デフォルトデータ |
TargetSnapshotBlocksize | REG_DWORD | なし |
DataKeeper のターゲットスナップショットは、スナップショットファイルに書き込むすべてのエントリについて、デフォルトのブロックサイズ 64KB を使用します。このブロックサイズを変更するには、TargetSnapshotBlocksize レジストリキーを作成します。 この値は必ず、ディスクセクタサイズ (通常は 512 バイト) の倍数にする必要があります。特定の作業負荷と書き込みパターンについて、ブロックサイズ変更のメリットがあります。たとえば、データの順次ストリームで書き込むボリューム (SQL Server のログファイルなど) では、大きいブロックサイズが効果的です。ブロックサイズを大きくすると、連続するブロックを書き込むときにターゲットの読み取り回数が少なくなります。ただし、ランダムなパターンで書き込まれるボリュームでは、小さい値、またはデフォルトの 64KB が効果的です。ブロックサイズを小さくすると、ランダム書き込み要求でのスナップショットファイルの使用量が少なくなります。 |
VssQuiesceWaitTimeoutMs *
場所 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\VssQuiesceWaitTimeoutMs |
||
名前 | タイプ | デフォルトデータ |
VssQuiesceWaitTimeoutMs | REG_DWORD | 60000 |
DataKeeper のサービスが VSS スナップショットソースの開始要求を完了するまでの待機時間(ミリ秒単位)を指定します。VSS スナップショットソースの開始要求は、VSS を使用してスナップショットボリュームのデータを静止させます。 |
WriteQueueByteLimitMB †
場所 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\WriteQueueByteLimitMB |
||
名前 | タイプ | デフォルトデータ |
WriteQueueByteLimitMB | REG_DWORD | 0 |
このミラーの書き込みキューに割り当てることができる最大バイト数を指定します(メガバイト単位 - 1048576バイトの倍数)。値「0」は「制限なし」を意味します。大量のディスク書き込み処理の間、このミラーの書き込みキューが WriteQueueByteLimitMB に達するレベルまで増加すると、SIOS DataKeeper ドライバーはミラーを一時停止してキューを排出し、自動的に部分再同期を開始します。このレジストリ値を更新した後、DataKeeper が新しい値を使用してすぐに起動できるように READREGISTRY コマンドを実行してください。 この値は、ミラーが再同期状態にある場合だけでなくミラーがミラーリング状態にある場合にも、ボリュームデータをターゲットに送信する間使用されます。再同期中に書き込みキューに置くことのできる64KB(65536バイト)ブロックの数を指定する ResyncReads の値(下記参照)が、WriteQueueByteLimitMB で指定した上限を超えないようにする必要があります。WriteQueueByteLimitMB が0に設定されていない場合、ResyncReads に65536を乗じて1048576で割った値はWriteQueueByteLimitMB を超えてはなりません。 この値は、WriteQueueHighWater(下記参照)と組み合わせて使用できます。両方の値の上限が0以外の値に設定されている場合、いずれかの上限に達するとミラーは一時停止されます。一方が0に設定されて他方が0以外の値に設定されている場合、0ではないほうの値が優先されます(書き込みキューによる非ページメモリの使用は推奨しません)。 注記:この調整パラメーターは、同期ミラーと非同期ミラーに適用されます。SIOS DataKeeper パフォーマンスモニタカウンタ、特に [キューの現在のバイト数] を使用してミラーリングの動作を監視し、それに応じてこの制限を設定できます。 |
WriteQueueHighWater * †
場所 新規ミラーの場合: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\WriteQueueHighWater および 既存ミラーの場合: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\{Target IP}\WriteQueueHighWater 注記 : このエントリの Parameters を編集した場合、新規に作成されたミラーは全てこの値を継承します。このエントリの Target を編集した場合、その値は作成された 1 つのターゲットにのみ適用されます。 Target の値は Parameter の値よりも優先されます。 |
||
名前 | タイプ | デフォルトデータ |
WriteQueueHighWater | REG_DWORD | 20000 (0×4e20) |
このミラーの書き込みキューに格納できる書き込み要求の最大数(バイト数ではありません)を指定してください。値「0」は「制限なし」を意味します。大量のディスク書き込み処理の間にこのミラーの書き込みキューの長さがこの値に達した場合、SIOS DataKeeper ドライバーは一時的にミラーを停止して、キューを排出し、自動的に部分再同期を開始します。この値は、バイト数ではなく、キュー内の書き込み要求の数を表します。このレジストリ値を更新した後、DataKeeper が新しい値を使用してすぐに起動できるように READREGISTRY コマンドを実行してください。 この値は、ミラーが再同期状態にある場合だけでなくミラーがミラーリング状態にある場合にも、ボリュームデータをターゲットに送信する間使用されます。ResyncReads の値(下記参照)は再同期中に書き込みキューに置くことができるブロック数を指定し、WriteQueueHighWater が0に設定されていない場合、WriteQueueHighWaterで指定された上限を超えないようにする必要があります。 この値は、WriteQueueByteLimitMB と組み合わせて使用できます。両方の上限が0以外の値に設定されている場合、いずれかの上限に達するとミラーは一時停止されます。一方が0に設定されて他方が0以外の値に設定されている場合、0ではないほうの値が優先されます。両方とも0に設定されている場合、ミラーの書き込みキューは一切制限されません(この設定は推奨しません。WriteQueue は Nonpaged メモリを使用します)。 注記: この値の調整は、同期および非同期のミラーに適用されます。この値はシステムで使用可能なメモリに依存します。SIOS DataKeeper パフォーマンスモニタカウンタを使用してミラーリング処理を監視すると、この値を適切に設定することができます。 |
このトピックへフィードバック
Cassius Rhue 書き出しました: Jan 5, 2021
Consider adding information to explain what the actual PingInterval does and why it matters. The following was taken from an actual case response.
The keep-alive packet function is a feature the Source sends every 3 seconds by default for each mirror if there has not been any data transmitted. It keeps the pipe open and helps detect down systems / networks. DataKeeper does not change the mirror state due to a missed ping, so it doesn't have much of an effect on mirroring activities. It is only from Source to Target.
The default can be changed in the registry on the source system