Я не уверен, куда на самом деле относится такой вопрос, так как он относится к серверу Unraid Linux с контейнером Plex Media Server, который использует SQLite (ищу решение проблем на корневом уровне). Я писал на форумах Unraid и Plex, но безуспешно.
Мой контейнер Plex снова и снова падает на Unraid, из-за чего мне приходится выполнять проверки целостности, перестраивать, делать дамп, импортировать и полностью стирать и перезапускать (полностью удалять старый каталог и начинать заново). В лучшем случае я запускаю его на несколько минут, прежде чем контейнер снова падает. Ошибки, которые я получаю, изменились, но в последней ситуации (полное стирание и переустановка нового контейнера) я получаю следующую ошибку в выходном журнале:
Ошибка: Невозможно настроить сервер: sqlite3_statement_backend::loadOne:образ диска базы данных имеет неверный формат (N4soci10soci_errorE)
Я решил скопировать базу данных на свой компьютер с Windows и покопаться в ней, чтобы лучше понять ее структуру. После просмотра таблицы с именеммедиа_элементыУ меня та же ошибка.
Очевидно, что одна из таблиц, которые я считаю основными, повреждена. Тогда у меня возникает вопрос: что я могу сделать, чтобы попытаться исправить это или узнать причину? Я бы подумал, что совершенно новая база данных исправит мою проблему, если только это не просто совпадение, что две базы данных, идущие подряд, были повреждены до того, как я успел к ним прикоснуться, без подключения. Может ли это быть один из моих медиафайлов? Может ли это быть 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
После часов, дней и недели всевозможных поисков и устранения неисправностей. Включая сброс образа docker (плюс другие, упомянутые в посте), на другом форуме было предложено запустить memtest. Поставил memtest на загрузочный USB, и я сразу смог сделать вывод, что одна планка была неисправна. После извлечения этой планки у меня не было никаких проблем, и все было в полном порядке... Странно.