データベース破損 - ディスクイメージが不正です - Unraid - Plex

データベース破損 - ディスクイメージが不正です - Unraid - Plex

このような質問は、SQLite を利用する Plex Media Server コンテナーを備えた Unraid Linux サーバーからの質問なので、実際にはどこに該当するのかわかりません (ルート レベルでのトラブルシューティングを探しています)。Unraid フォーラムと Plex フォーラムの両方に投稿しましたが、うまくいきませんでした。

私の Plex コンテナは Unraid で何度も失敗し、整合性チェック、再構築、ダンプ、インポート、完全なワイプと再起動 (古いディレクトリを完全に削除して最初からやり直す) を実行することになりました。せいぜい数分間は起動しますが、その後コンテナは再び失敗します。受信するエラーは変化しましたが、最後の状況 (新しいコンテナの完全なワイプと再インストール) では、出力ログに次のエラーが表示されています。

エラー: サーバーをセットアップできません: sqlite3_statement_backend::loadOne: データベース ディスク イメージの形式が正しくありません (N4soci10soci_errorE)

私はデータベースをWindowsマシンにコピーし、データベースの構造をよりよく理解するためにデータベースを詳しく調べることにしました。メディアアイテム同じエラーが発生します。

エラー

メイン テーブルと思われるものの 1 つが明らかに破損しています。そこで疑問に思うのは、この問題を解決したり原因を調べたりするには、何ができるのかということです。まったくの偶然で、接続もできないまま、2 つの連続したデータベースが破損したのでなければ、完全に新しいデータベースを作成すれば問題は解決すると思います。メディア ファイルの 1 つが原因でしょうか。Unraid が原因でしょうか。ハード ドライブが原因でしょうか。

Plex に馴染みのない方のために、背景を説明します。コンテナーが起動すると、メディア ライブラリがスキャンされ、メタデータ、ポスター、視聴状態、評価などのデータが取り込まれます。完全な自動ビルドを完了しても、ライブラリをカスタマイズする前に 30 分以内にビルドが失敗します。

以下は、トラブルシューティング中のいくつかのシナリオで使用した bash 行の参照です。どこかの誰かの役に立つかもしれません。

整合性チェック:

./Plex\ SQLite "$plexDB" "PRAGMA integrity_check"

バックアップからの回復:

./Plex\ SQLite "$plexDB" ".output recover.out" ".recover"

ごみ:

./Plex\ SQLite "$plexDB" ".output dump.sql" ".dump"

輸入:

./Plex\ SQLite "$plexDB" ".read dump.sql"

答え1

数時間、数日、そして 1 週間にわたるあらゆる種類のトラブルシューティングの後、Docker イメージ (および投稿で言及されている他のもの) のリセットを含め、別のフォーラムで memtest を実行することが提案されました。起動可能な USB に memtest を配置すると、すぐに 1 つのスティックが不良であると結論付けることができました。そのスティックを取り外すと、問題はなくなり、すべてが完全に正常になりました... 奇妙です。

関連情報