PowerFlex:DasCacheをアップグレードせずにOSをアップグレードした場合のデータ整合性の問題
Summary: 最初にDasCacheパッケージをアップグレードせずにOSのアップグレードを実行すると、データ整合性の問題が発生する可能性があります。 SDSとDasCacheが存在するOSをアップグレードするためにYumアップデートが使用されましたが、OSのアップグレード後にDasCacheパッケージがアップグレードされませんでした。
Instructions
シナリオ
- DasCacheが適切に構成されている(/dev/disk-by-idを使用)。
- yumコマンドを使用してOSをアップグレードする前に、SDSがメンテナンス モードになっていました。OSのアップグレード後、SDSメンテナンス モードの終了が使用され、その直後に、アプリケーションはデータ不整合(DI)に関するレポートを開始します。
- この特定のケースでは、2つのSDS OSがアップグレードされましたが、1つのSDS OSのアップグレードでも問題が発生する可能性があります。
注:SDS OSのアップグレード後、何らかの理由(まだ調査中)によりDasCacheサービスの開始に失敗しました。ディスク デバイス/SDSに障害が発生するはずでしたが、DasCacheなしでSDSサービスは正常に開始され、データを保護するためにサービスの開始に失敗するはずです。
現象
OSのアップグレード前、SDS DasCacheのバージョンは次のとおりです。
fiop-1.5.14.rel-R3_9_Win_Linux.41_3.10.0_327.el7.x86_64.x86_6
SDSは、OSをアップグレードするためにメンテナンス モードに入りました。
6457 2021-04-28 09:19:09.196 MDM_CLI_CONF_COMMAND_RECEIVED INFO Command enter_maintenance_mode received, User: 'admin'. [10252559] SDS: ID: 82c410860000000d;
RH 7.2からRH 7.6へのSDS OSのアップグレードは、yum updateを使用して実行されました。
Apr 28 10:28:16 redhat-cust-1 yum[351251]: Updated: libgcc-4.8.5-36.el7.x86_64 Apr 28 10:28:16 redhat-cust-1 yum[351251]: Updated: redhat-release-server-7.6-4.el7.x86_64 Apr 28 10:28:16 redhat-cust-1 yum[351251]: Installed: 1:grub2-common-2.02-0.76.el7.noarch Apr 28 10:28:16 redhat-cust-1 yum[351251]: Updated: setup-2.8.71-10.el7.noarch Apr 28 10:28:17 redhat-cust-1 yum[351251]: Updated: filesystem-3.2-25.el7.x86_64 Apr 28 10:28:17 redhat-cust-1 yum[351251]: Updated: 32:bind-license-9.9.4-72.el7.noarch Apr 28 10:28:18 redhat-cust-1 yum[351251]: Installed: 1:grub2-pc-modules-2.02-0.76.el7.noarch Apr 28 10:28:19 redhat-cust-1 yum[351251]: Updated: tzdata-2018e-3.el7.noarch Apr 28 10:28:19 redhat-cust-1 yum[351251]: Updated: kbd-misc-1.15.5-15.el7.noarch Apr 28 10:28:19 redhat-cust-1 yum[351251]: Updated: 1:quota-nls-4.01-17.el7.noarch Apr 28 10:28:19 redhat-cust-1 yum[351251]: Updated: 1:emacs-filesystem-24.3-22.el7.noarch Apr 28 10:28:20 redhat-cust-1 yum[351251]: Updated: ncurses-base-5.9-14.20130511.el7_4.noarch Apr 28 10:28:20 redhat-cust-1 yum[351251]: Updated: nss-softokn-freebl-3.36.0-5.el7_5.x86_64 Apr 28 10:28:24 redhat-cust-1 yum[351251]: Updated: glibc-common-2.17-260.el7.x86_64
SDSサーバーが再起動されましたが、DasCacheサービスの開始に失敗しました。
Apr 28 10:47:04 [localhost] fio.init: Starting Fio devices: Failed Apr 28 10:47:04 [localhost] systemd: fio.service: main process exited, code=exited, status=4/NOPERMISSION Apr 28 10:47:04 [localhost] systemd: Failed to start Block Driver Interface to Flashsoft Cache. Apr 28 10:47:04 [localhost] systemd: Unit fio.service entered failed state. Apr 28 10:47:04 [localhost] systemd: fio.service failed.
[root@Node]# fscli -l Starting fio service failed
OSのアップグレード後、DasCacheがアップグレードされていないため、SDS DasCacheのバージョンは同じバージョンのままでした。
fiop-1.5.14.rel-R3_9_Win_Linux.41_3.10.0_327.el7.x86_64.x86_6
注:不明な理由(調査中)により、SDS/ディスク デバイスに障害が発生しているはずなのに、SDSサービスが正常に開始されました。この時点から、SDSがメンテナンス モードを終了すると、DIがレポートされる必要があります。
SDSのメンテナンス モードの終了:
6507 2021-04-28 10:01:54.700 MDM_CLI_CONF_COMMAND_RECEIVED INFO Command exit_maintenance_mode received, User: 'admin'. [10303510] SDS: ID: 82c410860000000d; 6508 2021-04-28 10:01:54.740 CLI_COMMAND_SUCCEEDED INFO Command exit_maintenance_mode succeeded. [10303510] 6509 2021-04-28 10:04:00.111 SDS_MAINTENANCE_MODE_ENDED INFO SDS 10.1.150.50-RedHat (ID 82c410860000000d) has exited maintenance mode.
SDSがメンテナンス モードを終了した直後に、アプリケーション(この場合はVMwareデータストアとVM)がDIに関するレポートを開始します。
2021-04-29T04:12:37.697Z cpu12:982259)WARNING: Res3: 4232: Volume 5e6bb636-01b03ca0-5350-246e96905870 ("DS_SQL_PD2PB_01") might be damaged on the disk. Resource cluster metadata corruption has been detected.
問題
DI/DL
根本的な原因
DasCacheがPowerFlexで使用されている場合、ディスク デバイスはもう1つのレイヤーでSDSに公開されます。つまり、SDSはDasCacheに読み取り/書き込みを行い、その後、データはディスク デバイスにフラッシュされます。
設計上、DasCacheサービスの開始に失敗した場合、SDSはディスク デバイス上のデータの保護に失敗します。その場合、SDSはディスク デバイスに直接アクセスできなくなります。
このケースでは、SDS OSはアップグレードされましたが、DasCacheパッケージはアップグレードされず、SDSサービスが正常に開始され、DasCacheをバイパスすると、SDSがディスクから直接データを読み書きしていた場合、DasCacheがすべてのデータをディスク デバイスにフラッシュしていないため、データにギャップが生じ、最終的にDIが発生しました。
注:SDSサービスが正常に開始できた理由はまだ調査中です。
対策
SDSがすでにメンテナンス モードを終了していて、DasCacheサービスが障害状態の場合、この問題の回避策はありません。
OSがアップグレードされ、SDSがまだメンテナンス モードの場合、DIを回避するための2つのオプションがあります。
-
- 古いカーネル(この場合はバージョン3.10.0-327)から起動します
- 次の手順KB 000195110の説明に従って、DasCacheをカーネル バージョンに一致するようにアップグレードし、SDSサービスを再起動します。
問題が発生するバージョン
すべてのPowerFlexバージョン
修正バージョン
該当なし - 現在調査中