[事象]
Red Hat Enterprise Linux 8.4 環境で、CLUSTERPRO のミラーディスクリソース/ハイブリッドディスクリソース上で XFS を利用するとマウントに失敗してしまう事象が報告されています。
事象が発生するとマウントに失敗するためミラーディスクリソース/ハイブリッドディスクリソースの活性に失敗します。このとき、syslog に以下のようなメッセージが記録されます。
kernel: XFS (NMP1): Mounting V5 Filesystem
kernel: XFS (NMP1): Corruption warning: Metadata has LSN (3:8) ahead of current LSN (2:9760). Please unmount and run xfs_repair (>= v4.3) to resolve.
kernel: XFS (NMP1): log mount/recovery failed: error -22
本事象によりマウントに失敗するデバイスのファイルシステムが破損した状態となりますが、後述の事由により書き込み済みのデータの破損は発生しません。
[発生事由]
Red Hat Enterprise Linux 8.4 の既定の kernel である 4.18.0-305 以降、XFS のログ書き込み処理が変更されており、その処理をミラーディスクリソース/ハイブリッドディスクリソースが「想定外の書き込み要求」として書き込まないように扱っていることが原因となります。
なお、該当の書き込み処理は実データを含まない XFS ログのみの書き込み処理であるため、発生時に XFS のログに欠損(ファイルシステムの破損)が生じますが、実データの破壊には繋がりません。
[発生条件]
下記すべての条件を満たす場合に本事象が発生する可能性があります。
- Red Hat Enterprise Linux 8.4 環境
- ミラーディスクリソース/ハイブリッドディスクリソース上のファイルシステムが XFS である
- CLUSTERPRO X 4.3 for Linux (内部バージョン 4.3.4-1 未満)、または CLUSTERPRO X 5.0 for Linux (内部バージョン 5.0.2-1 未満)
[復旧方法]
本事象が発生した場合、xfs_repair コマンドに -L オプションを指定してファイルシステムの復旧をおこなう必要があります。
<復旧コマンド例>
# xfs_repair -L <対象のミラーパーティションデバイス名>
ミラーディスクリソース/ハイブリッドディスクリソースに対する xfs_repair コマンドの実行については、「スタートアップガイド」の「第 6 章 注意制限事項」-「6.5.13 xfs_repair の実行について」を参照いただき、「xfs_repair」を「xfs_repair -L」に読み替えて実施していただきますようにお願いいたします。
[回避策]
Red Hat Enterprise Linux 8.4 環境で CLUSTERPRO のミラーディスクリソース/ハイブリッドディスクリソースを利用する場合、ファイルシステムに XFS 以外のファイルシステム(ext4, ext3 等)を設定します。
<ファイルシステムを ext4 に変更する場合の注意事項>
以下のバージョンにおいて ext4 環境向けの修正が行われていますので、アップデート未適用の場合は回避策の実施前にアップデートをご検討ください。(アップデートの入手には CLUSTERPRO X のサポート契約が必要です。)
修正内容の詳細は「スタートアップガイド」の「第 5 章 最新バージョン情報」-「5.3 修正情報」をご確認ください。
- CLUSTERPRO X 4.3 for Linux (内部バージョン 4.3.3-1)
- CLUSTERPRO X 5.0 for Linux (内部バージョン 5.0.1-1)
既にファイルシステムに XFS を利用している場合、以下の手順にてファイルシステムを変更していただきますようにお願いいたします。
<ファイルシステムを ext4 に変更する手順例>
- クラスタが正常な状態であることを確認します。
- 変更するファイルシステム上のデータのバックアップが必要な場合は、「インストール&設定ガイド」の「第 9 章 動作チェックを行う」-「9.2 バックアップ手順を確認する」を参照してバックアップを実行します。
- ファイルシステムを変更するミラーディスクリソース/ハイブリッドディスクリソースを持つグループを停止します。
# clpgrp -t <停止するグループ名>
- ファイルシステムの変更を実行するサーバ上で以下のコマンドを実行します。
# clpmdctrl --active -nomount <対象のミラーディスクリソース/ハイブリッドディスクリソース名>
- mkfs コマンドを使用してファイルシステムを構築します。コマンドの実行にて XFS ファイルシステムが存在していることの確認が表示されますので、y にて応答をおこない mkfs を完了させます。
# mkfs -t ext4 <ミラーパーティションデバイス名>
<ミラーパーティションデバイス名が /dev/NMP1 の場合のコマンド例>
# mkfs -t ext4 /dev/NMP1
- ファイルシステム作成の完了を確認後、以下のコマンドを実行します。
# clpmdctrl --deactive <対象のミラーディスクリソース/ハイブリッドディスクリソース名>
- クラスタ構成情報上のミラーディスクリソース/ハイブリッドディスクリソースのファイルシステムを変更します。
- Cluster WebUI のツールバーのドロップダウンメニューで [設定モード] を選択します。
- クラスタ構成情報で <対象のミラーディスクリソース/ハイブリッドディスクリソース名> のプロパティをクリックし、[詳細] タブの [ファイルシステム] を ext4 に変更し、[OK] をクリックします。
- [設定の反映] をクリックし、メッセージに従い設定の反映を完了させます。
- バックアップしたデータのリストアが必要な場合は、「インストール&設定ガイド」の「第 9 章 動作チェックを行う」-「9.3 リストア手順を確認する」を参照してリストアを実行します。
[修正モジュール]
本事象に対する修正モジュールは以下のとおりです。
[対象となるバージョン]
本事象の対象となる CLUSTERPRO X のバージョンは以下のとおりです。
- CLUSTERPRO X 4.3 for Linux
- CLUSTERPRO X 5.0 for Linux