コミュニティソリューション

ZimaOSのデータ移行が停止した場合:まずRAIDの再同期を確認してください

A data-location migration remained at 6% while a newly created RAID1 was still performing a very slow background resync.

新しく作成したRAIDにデータを移動している際に、ZimaOSデータ移行が低いパーセンテージで停止したように見える場合は、まずRAIDの再構築を確認し、移行をむやみに中断しないでください。ストレージ層がバックグラウンドで再同期を続けている間、移行UIがフリーズしたように見えることがあります。

今回のケースでは、移行は6%で止まり、Webインターフェースの操作も難しくなりましたが、 次を実行します: RAID1アレイの再同期が非常に遅く、まだ半分程度しか進んでいないことが示されました。これはストレージのワークロードであり、移行タスク自体がクラッシュした証拠ではありません。

RAIDの再同期中にデータ移行が停止したように見える理由

RAIDアレイを作成または再構築すると、メンバーディスク間で読み取りと書き込みが継続的に発生します。同時に大規模なデータ移行を開始すると、両方の処理がディスク帯域幅とI/Oレイテンシーを奪い合います。

現在のZimaOSデータ移行ガイドには、移行中はインターフェースが移行処理に占有され、Dockerイメージ、Dockerアプリケーションデータ、ユーザーフォルダなどのカテゴリ全体が移動されると記載されています。そのため、移行先のアレイがビジー状態の場合、大規模な処理にはUIの予測時間よりはるかに長い時間がかかることがあります。

ステップ1:ターミナルでRAIDの再構築状況を確認する

cat /proc/mdstat

次を実行します:

Linux md RAIDでは、次のような用語を探します 再同期, リカバリ、または進捗率です。正常な2台構成のRAID1では、通常、両方のメンバーが次の状態として表示されます [UU]。再同期が進行中なら、パーセンテージ、完了予定時刻、速度を記録します。

完了予定時間が非常に長い場合の意味

長い完了予定時間は、ディスクの速度低下、USB/SATAリンクの問題、競合するワークロード、または意図的に制限されたmdの再同期が原因である可能性があります。それだけでアレイが壊れていることを意味するわけではありません。10~30分後にもう一度確認し、パーセンテージが進んでいることを確認してください。

ステップ2:システムが有用な処理を続けていることを確認する

もし /proc/mdstat 時間の経過とともに進んでいるなら、ストレージ層は動作しています。インストールする必要はありません iotop それを証明するためだけです。ZimaOSはアプライアンス型のOSであるため、一般的なディストリビューションの手順でホストパッケージを追加する方法は、推奨されるトラブルシューティングではありません。

別のクライアントからファイルにアクセスできるかどうかも確認できます。今回のケースでは、Webの移行画面が6%のままでも、コンピューターとスマートフォンアプリからはデータに引き続きアクセスできました。

ステップ3:まずDockerを停止したり、移行を強制終了したりしない

Dockerを停止すると、ZimaOSのWebエクスペリエンスが依存しているサービスが削除され、ストレージ操作が未解決のまま、システムの表示が悪化する可能性があります。コピー途中で移行を強制終了すると、一部のカテゴリが古い場所に、残りが新しい場所に残ることもあります。

アレイの進行が完全に停止している場合、またはディスクに明らかなハードウェアエラーが表示される場合を除き、アクティブな RAID リカバリが完了するまで待ってください。

移行が本当に停止していると疑うべきタイミング

これらすべてが長時間にわたって当てはまる場合は、さらに調査してください。

  • 移行の割合が変化しない。
  • /proc/mdstat アクティブな再構築が表示されない、またはその割合がまったく進まない。
  • ディスクアクティビティが事実上存在しない。
  • 移行先に十分な空き容量がある。
  • 明らかなネットワークまたは電源の中断がない。

この時点で、再起動する前に、正確な ZimaOS のバージョン、移行元と移行先のストレージの種類、移行カテゴリ、RAID の状態、および関連するログを収集してください。

現在のデータ移行ワークフローを使用する

現在の ZimaOS では、この機能は Settings → Data Migration にあります。このツールでは、カテゴリ単位で Docker Images、Docker Application Data、User Folders を移動できます。1 つのアプリケーションだけを移動する必要がある場合は、すべてのアプリをまとめて移行するのではなく、アプリストレージのパスワークフローを使用してください。

データ移行ガイドでは、管理対象の移行とフォルダーを手動で移動する方法の違いを説明しています。

次回同じ問題を防ぐ方法

新しく作成した RAID の同期が完了してから、大規模なアプリデータまたはユーザーデータの移行を開始してください。移行先が正常で、十分な空き容量があることを確認したうえで、一度に 1 つのカテゴリずつ移行します。これにより、I/O の競合が減り、障害の切り分けが容易になります。

かけがえのないデータの最新バックアップも必ず保持してください。RAID の同期と Data Migration はどちらもストレージ操作であり、バックアップとして扱うべきではありません。

よくある質問

Data Migration が 6% で停止している場合、ZimaOS を再起動してもよいですか?

最初の手順としては行わないでください。まず RAID とストレージのアクティビティを確認します。アレイがアクティブに再同期中の場合は、ハードウェア上または安全上の理由で停止する必要がない限り、完了するまで待ってください。

データ移行の見積もりが数分なのに、なぜ数時間もかかるのですか?

この見積もりでは、遅い RAID 再構築、負荷の高いディスク、大量の小さなファイルを完全には考慮できません。初期見積もりに頼らず、実際の進行状況を測定してください。

[UU] は RAID1 が正常であることを意味しますか?

2 メンバー構成の md RAID1 の場合、 [UU] これは、想定される両方のメンバーが存在することを意味します。再同期が完了したことを意味するわけではないため、進行状況の行も確認してください。

ZimaOS に iotop をインストールすべきですか?

通常、この診断のためには必要ありません。 /proc/mdstat md RAID の再構築中かどうかはすでに確認できるため、不要なホストパッケージの変更を避けることで、トラブルシューティングが簡単になります。