フェイルオーバ時、共有/ミラーディスク/ハイブリッドディスクの切断が失敗し、サーバがシャットダウンされました。
その際、イベントログに下記のメッセージが出力されていました。
原因を教えてください。
------------------------------------------------
イベントID: 3201
ディスクの切断を再実行中です。
ディスクが使用中の可能性があります。
確認してください。
------------------------------------------------
イベントID: 3208
ディスクの切断に失敗しました。
------------------------------------------------
イベントID: 2411
ミラーディスクの切断を再実行中です。
ミラーディスクが使用中の可能性があります。
確認してください。
------------------------------------------------
イベントID: 2441
ミラーディスクの切断に失敗しました。
------------------------------------------------
イベントID: 3859
ハイブリッドディスクの切断を再実行中です。
ハイブリッドディスクが使用中の可能性があります。
確認してください。
------------------------------------------------
イベントID: 3871
ハイブリッドディスクの切断に失敗しました。
------------------------------------------------
[現象の詳細]
CLUSTERPROの管理する共有ディスク/ミラーディスク/ハイブリッドディスクの対象ボリュームは、ディスクリソース活性時にマウント、非活性にアンマウントが行なわれますが、このときに何らかのアプリケーションによって該当ボリュームがオープンされていると、マウント/アンマウントが失敗します。
通常、CLUSTERPROの管理するディスクリソースにアクセスを行なうアプリケーションについては、CLUSTERPROにて起動/停止を制御し、ディスクリソースの活性/非活性時にアクセスが発生することの無いように設定する必要があります。
上記の設定が行なわれていないアプリケーションが存在し、CLUSTERPROの管理外でディスクリソースの対象ボリュームにアクセスを行なっていると、該当ボリュームのマウント/アンマウントが失敗し、ディスクリソースの活性/非活性が正常に動作しない場合があります。
このような問題の原因となるアプリケーションとして、現在確認できている製品は下記のとおりです。
- Windowsのインデックスサービス
- Symantec Endpoint Protection等のセキュリティソフトウェア
- Arcserve Backup r12.5のSRMプロービング
[対処]
CLUSTERPROの管理するディスクリソースに管理外のアクセスを行なっているアプリケーションを特定し、該当アプリケーションに対して、下記の対処を行なってください。
- Arcserve Backup r12.5 が原因の場合は、Arcserve 社にて対処方法が提供されていますので、下記の情報を参照し、対処を行なってください。
「Dashboard SRM プロービング実行後に DFRGIFC.exe プロセスが残存する」
- アプリケーション側の設定により、ディスクアクセスを抑止可能な場合は、CLUSTERPROの管理するディスクリソースに対し、アクセスを行なわないよう設定してください。
- 上記のような設定が不可能な場合は、CLUSTERPROのスクリプトリソースを使用して、該当アプリケーションを一時的に停止させることで、ディスクリソースの活性/非活性時のディスクアクセスを防止します。
具体的には、下記のように2つのスクリプトリソースを追加します。
- スクリプトリソースA
- 開始スクリプトにアプリケーションを停止する処理を記述します。
- 終了スクリプトにアプリケーションを起動する処理を記述します。
- ディスクリソースの深度数より、スクリプトリソースの深度数が小さくなるように依存関係を設定します。
- スクリプトリソースB
- 開始スクリプトにアプリケーションを起動する処理を記述します。
- 終了スクリプトにアプリケーションを停止する処理を記述します。
- ディスクリソースの深度数より、スクリプトリソースの深度数が大きくなるように依存関係を設定します。
※アプリケーションを起動/停止するための処理は、アプリケーションの仕様に依存しますので、アプリケーションに応じた適切な処理をお客様にてご用意ください。
上記の設定により、フェイルオーバグループの活性/非活性時の動作は、下記のようになります。
- 活性時:
- スクリプトリソースAの開始スクリプトにより、アプリケーションを一時停止。
- ディスクリソースの活性。
- スクリプトリソースBの開始スクリプトにより、アプリケーションを再開。
- 非活性時:
- スクリプトリソースBの終了スクリプトにより、アプリケーションを一時停止。
- ディスクリソースの非活性。
- スクリプトリソースAの終了スクリプトにより、アプリケーションを再開。