Ответ
Команда mount -o remount позволяет изменить параметры монтирования уже смонтированной файловой системы «на лету», без необходимости её предварительного размонтирования (umount). Это критически важно для изменения параметров корневой (/) или других активно используемых файловых систем.
Основное применение в DevOps/администрировании:
-
Изменение режима доступа (read-only / read-write):
# Перемонтировать корневую файловую систему в режим только для чтения. # Это стандартный шаг перед созданием снапшота или для обеспечения целостности при обслуживании. sudo mount -o remount,ro / # Вернуть режим чтения-записи после завершения работ. sudo mount -o remount,rw / -
Изменение других опций монтирования:
# Включить/отключить выполнение бинарников (noexec) для раздела с данными. sudo mount -o remount,noexec /mnt/data sudo mount -o remount,exec /mnt/data # Обновить параметры для NFS-шары (например, размер read/write буфера). sudo mount -o remount,rsize=65536,wsize=65536 nfs-server:/export /mnt/nfs
Ключевые технические детали:
- Не требует размонтирования: Все открытые файловые дескрипторы и процессы, работающие с файлами на этой ФС, остаются активными. Это обеспечивает непрерывность работы сервисов.
- Изменяет только флаги: Сама файловая система и точка монтирования не меняются, обновляются только опции, переданные в команде.
- Часто используется в автоматизации: Например, в Ansible-плейбуках или скриптах для временной блокировки изменений на сервере.
Пример из практики: При автоматическом развёртывании обновлений через CI/CD мы использовали mount -o remount,ro / перед созданием полного бэкапа состояния сервера с помощью tar, а затем возвращали rw режим. Это гарантировало, что данные в архиве будут консистентными.