26.22.1 系が切り替わる原因
NTFSキャッシュのフラッシュが発生すると,キャッシュのフラッシュが完了するまでボリューム制御ブロックが排他されます。このフラッシュには,NTFSキャッシュ及びすべてのメモリマップトファイルが含まれます。フラッシュされるデータ量は,キャッシュやメモリマップトファイル上にある,ディスクに反映する必要がある未反映のデータ量に依存します。多量のキャッシュフラッシュが発生すると,プログラムが長時間にわたってボリューム制御ブロックの排他待ちとなり,処理の沈み込みが発生することがあります。
- 参考
-
ボリューム制御ブロックとは,NTFSファイルシステムの内部機構であり,入出力などでボリュームを使用する場合,その制御で用いる管理テーブルです。
HiRDBは,複数のプロセスで情報を共用するため,ユニットコントローラ用の共用メモリやグローバルバッファ用の共用メモリを,メモリマップトファイルを用いて実装しています。HiRDBのメモリマップトファイルは,共用メモリ管理方式としてregularを使用している場合,%PDUXPLDIR%\spool\shmディレクトリ下に通常ファイルとして作成されます。HiRDB稼働中は,業務APやHiRDBのユティリティなどのトランザクションを実行すると,グローバルバッファ上にキャッシュされるデータ量が増えていきます。多量のデータがキャッシュされた状態でフラッシュが発生すると,メモリマップトファイルがあるドライブへの多量出力が発生し,該当するドライブ上のファイル入出力をするHiRDBのプログラムの処理が沈み込みます。
これによって,本来HiRDBが1秒間隔で行っているHitachi HA Toolkit Extensionへの稼働連絡が設定値を過ぎても実行されないため,Hitachi HA Toolkit ExtensionはHiRDBのスローダウンと判断して系を切り替えます。
キャッシュのフラッシュは,主に次の操作をすると発生します。
-
ディスクの管理の操作
-
オンライン稼働中のWindowsへのログオン及びログオフ操作
-
システム情報のSCSIの表示
-
システム情報ファイルの出力(SCSIを含む場合)
-
デフラグの実施
-
diskpart.exe,nfi.exe,又はfsutil.exeの実行
-
chkdsk.exeの実行
-
HDLMのパスヘルスチェック
-
HDLMのdlnkmgr view -pathでのパスの状態確認やDLMgetrasの実行
-
pdchgprc,pdpfresh,又はpdstopコマンドの実行