Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья6 мин чтенияПросмотры0

Файловая система стала доступна только для чтения: диагностика в Ubuntu 24.04

Определяем режим монтирования для каталога приложения и ищем предшествующие сообщения ядра. Команды не перемонтируют разделы и не исправляют файловую систему; результат помогает выбрать дальнейшую процедуру восстановления.

Комментарии 0

Внешний накопитель в металлическом корпусе рядом с защитным футляром. Сгенерированная иллюстрация.
В этой статье

Ошибка Read-only file system означает, что операция записи упёрлась в ограничение доступной файловой системы или монтирования. Выдача дополнительных прав пользователю не обязана помочь. Сначала нужно определить, какое монтирование обслуживает проблемный путь и почему запись запрещена. Не начинайте с попытки принудительно вернуть режим записи.

Инструкция рассчитана на Ubuntu 24.04 LTS, findmnt из util-linux 2.39.3 и journalctl из systemd 255. Документация и синтаксис сверены 26 сентября 2026 года. Команды чтения выполнены в изолированной среде Ubuntu 24.04.3; там доступна контейнерная файловая система, но нет журнала ядра. Аварийный переход реального диска в режим чтения не воспроизводился, восстановление не тестировалось и здесь не предлагается.

Отделите запрет записи от нехватки прав

Сохраните точный текст ошибки приложения, время, операцию и полный путь к каталогу. Сообщение Permission denied указывает на иной класс ограничений и требует проверки владельца, прав и защитных механизмов. Сообщение No space left on device ведёт к проверке места и inode. Эти признаки могут встречаться в одном инциденте, но заменять один диагноз другим по общей фразе «не сохраняется файл» нельзя.

Если приложение показывает только общее сообщение, сначала найдите исходную ошибку в его журнале. Не создавайте пробные файлы в каталоге базы данных и не меняйте разрешения ради эксперимента. Для дальнейшего чтения состояния запись в проблемный каталог не нужна.

Найдите режим именно для нужного пути

Для существующего каталога /var команда выглядит так:

findmnt --target /var --output TARGET,SOURCE,FSTYPE,VFS-OPTIONS,FS-OPTIONS

Замените /var на существующий каталог, в котором приложение не может записать данные. Если имя содержит пробелы, заключите весь путь в кавычки. Проверка корня сервера вместо каталога приложения может показать другое монтирование и привести к ошибочному выводу.

Параметр --target выбирает файловую систему, обслуживающую указанный путь. Явно заданный --output оставляет нужные столбцы: TARGET — точка монтирования, SOURCE — источник, FSTYPE — тип. VFS-OPTIONS показывает параметры на уровне монтирования, а FS-OPTIONS — параметры файловой системы. Такое разделение полезно, когда одно представление данных ограничено сильнее другого.

Ищите отдельное значение ro или rw среди параметров. ro обозначает режим только чтения, rw — режим чтения и записи на соответствующем уровне. Если монтирование имеет ro, наличие rw у нижележащей файловой системы не делает этот путь доступным для записи. И наоборот, одно увиденное rw не доказывает, что приложение сможет писать: остаются права, защитные ограничения и особенности хранения.

В параметрах ext4 может встречаться errors=remount-ro. Это политика реакции на ошибку, а не доказательство того, что переход уже произошёл. Текущий режим и сообщения о событии нужно проверить отдельно. Не ищите просто подстроку ro во всём выводе: она может оказаться частью другого параметра.

Учтите среду, из которой смотрите

Команда показывает монтирования в пространстве имён текущего процесса. Если магазин работает в контейнере, вывод на хосте может отличаться от того, что доступно внутри контейнера. Диагностику выполняет администратор в нужной среде с разрешённым доступом; угадывать результат приложения по соседнему контейнеру нельзя.

В нашем локальном выполнении команда показала тип overlay и режим rw на обоих уровнях. Это подтверждает разбор синтаксиса и вывод столбцов в этой среде, но ничего не говорит о диске читателя. Источником также может оказаться сетевое хранилище. Тогда часть причин находится на стороне сервера хранения и не видна из виртуальной машины магазина.

Обычного пользователя часто достаточно для просмотра монтирований. Ошибка доступа или отсутствие пути — повод проверить контекст запуска и путь, а не автоматически повышать права всех файлов. Если вывод пустой, не считайте это доказательством исправности: сначала убедитесь, что команда выполнена успешно и указанный каталог существует в этой среде.

Посмотрите сообщения до отказа

При доступном системном журнале прочитайте сообщения ядра текущей загрузки за последние 30 минут:

journalctl --dmesg --boot --since "-30min" --no-pager

Для чтения системного журнала могут потребоваться права администратора или членство в разрешённой группе. Используйте уже предоставленный доступ; не меняйте группы и настройки журналирования ради этой инструкции. В контейнере журнал хоста часто недоступен независимо от наличия программы journalctl.

--dmesg ограничивает выборку сообщениями ядра, --boot — текущей загрузкой, --since задаёт начало интервала. --no-pager выводит результат без интерактивного просмотрщика. Если отказ произошёл раньше, расширьте интервал осмысленно: чрезмерно большой запрос может прочитать много данных и создать дополнительную нагрузку на хранилище.

Ищите сообщения об ошибках ввода-вывода, проблемах файловой системы и переходе в режим чтения. Сопоставляйте их с источником из findmnt и временем ошибки приложения. Одна строка о другом устройстве не объясняет сбой нужного каталога. Не ограничивайте поиск единственным словом: сообщения отличаются у разных файловых систем и драйверов.

В локальной проверке команда завершилась без записей и сообщила об отсутствии файлов журнала. Это ограничение наблюдения, а не доказательство отсутствия ошибок. Аналогично после перезагрузки текущая загрузка может уже не содержать события отказа. Понадобится доступная история или сведения администратора хоста, если они сохранились.

Где остановиться

Если подтверждён режим только чтения и рядом по времени есть ошибки хранения, дальнейшие действия зависят от типа файловой системы, состояния носителя и резервных копий. Не запускайте исправление на смонтированной рабочей базе, не подставляйте случайное устройство и не перемонтируйте его в запись только ради исчезновения сообщения. Сначала нужен план сохранения данных и восстановления для конкретной схемы.

Передайте ответственному специалисту точный путь, время, тип и источник монтирования, отдельные параметры VFS и файловой системы, а также относящиеся к инциденту строки журнала. Исключите секреты и данные покупателей. Такой пакет позволяет различить намеренно закрытый том, ограничение контейнера и реакцию на неисправность хранения — три ситуации, которым нужны разные дальнейшие действия.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.