Failed to remount root filesystem read-write — Ошибка записи корня Linux
Архитектура ошибки и симптомы сбоя
Сообщение «Failed to remount root filesystem read-write: Operation not permitted» возникает при попытке службы systemd-remount-fs.service перевести корневую файловую систему из режима «только чтение» (ro) в режим «чтение-запись» (rw). Ошибка типична для непривилегированных контейнеров (LXC, Proxmox CT, Docker), виртуальных машин с переполненными дисками, систем с аппаратной защитой носителей (SD/eMMC Lock) или при перехвате вызова политиками AppArmor/SELinux.
Диагностическая таблица параметров сбоя
| Параметр | Значение | Инженерный смысл сбоя |
|---|---|---|
| systemd-remount-fs | Core Systemd Service | Служба, применяющая опции монтирования корневого раздела из /etc/fstab. |
| EPERM (Operation not permitted) | Capability Restriction | Отсутствие привилегии CAP_SYS_ADMIN внутри изолированного пространства имен (User Namespace). |
| Hardware RO Lock | Physical Write-Protect | Аппаратная деградация контроллера SSD/NVMe (переход накопителя в режим Read-Only). |
Пошаговое дерево решений и сценарии траблшутинга
Сценарий 1: Отключение remount-fs внутри непривилегированных контейнеров LXC
Внутри LXC контейнеров монтированием управляет хост. Отключите службу внутри контейнера:
# Маскирование несовместимой службы внутри LXC/Proxmox CT:
sudo systemctl mask systemd-remount-fs.serviceСценарий 2: Проверка аппаратного состояния SSD накопителя
Если ядро Linux заблокировало запись на диск из-за физических ошибок контроллера:
# Проверка ошибок I/O в буфере ядра:
sudo dmesg -T | grep -i -E "(read-only|I/O error|journal commit I/O error)"
# Проверка SMART атрибутов накопителя:
sudo smartctl -a /dev/sdaСценарий 3: Ручная попытка перемонтирования с проверкой параметров ядра
# Попытка прямого вызова remount:
sudo mount -o remount,rw /
# Проверка опций в файле /etc/fstab (убедитесь в наличии флага rw):
# UUID=... / ext4 defaults,rw,errors=remount-ro 0 1ITSTM оптимизирует конфигурации гипервизоров и профили изоляции cgroups/namespaces для стабильной работы микросервисов.
Частые вопросы (FAQ)
Почему непривилегированный контейнер LXC выдает Operation not permitted?
В непривилегированном контейнере root маппится на непривилегированного пользователя хоста (UID 100000+). У него нет системной capability CAP_SYS_ADMIN над глобальной файловой системой хоста, поэтому вызов mount() отклоняется ядром.
Что означает опция errors=remount-ro в fstab?
Это защитный механизм файловой системы ext4: при обнаружении любого критического повреждения структуры метаданных ядро мгновенно переводит раздел в Read-Only, чтобы предотвратить дальнейшее разрушение данных.
Безопасно ли маскировать systemd-remount-fs.service?
Внутри контейнеров (LXC/Docker) это абсолютно безопасно и рекомендовано. На физических серверах и ВМ маскировать эту службу не следует.
Как проверить, в каком режиме сейчас смонтирован корень?
Выполните команду: mount | grep ' / ' или cat /proc/mounts | grep ' / '.