Как безопасно подключать диски при загрузке: fstab без сюрпризов
Введение
Вечер, плановый ребут. Сервер не поднялся. Консоль показывает panic. Я смотрю на fstab и вижу свою же запись.
Проверка fstab перед перезагрузкой занимает минуту и спасает от часа простоя.
Предыстория
У нас на проекте был сервер с дополнительным диском для бэкапов. Я добавил его в fstab по классической схеме: устройство, точка монтирования, файловая система.
Через неделю сервер перезагружали по регламенту. Он не стартовал.
Проблема
Запись в fstab указывала на /dev/sdb1. Ночью система переименовала диски: sdb стал sdc. При загрузке ядро не нашло устройство, и сервер упал в аварийный режим.
Восстановление заняло время. Пришлось заходить через rescue, править fstab и перезагружаться. Все это — под нагрузкой и в нерабочее время.
Почему это важно
Любой сбой загрузки — это простой бизнеса. Чем дольно сервер лежит, тем больше потерь: не работают сайты, не пишутся логи, не идут бэкапы.
При этом ошибка в fstab — одна из самых частых причин незагрузки. Ее легко допустить и легко избежать.
Решение
Я перешел на монтирование по UUID и ввел простое правило — проверять конфиг перед перезагрузкой.
- 🔍 Получить UUID: blkid /dev/sdb1
- 📝 Записать строку с UUID в fstab
- ⚠️ Выполнить mount -a — смонтирует все без перезагрузки
- 🔄 И только потом перезагружать сервер
Плюс добавил опцию nofail для несистемных дисков. Если диск не найден, сервер все равно загрузится. Это не решит проблему с данными, но защитит от простоя.
Результат
С тех пор ни один сервер не падал из-за fstab. Проверка занимает меньше минуты, а спокойствие стоит того.
📬 Свяжитесь с нами
Хотите внедрить это в своем бизнесе? Пишите нам!
- 📧 Email: [email protected]
- 🌐 Сайт: 1it.pro
- 📝 Блог: blog.1it.pro
- ✈️ Telegram Global (EN): Admin_global
- ✈️ Telegram (RU): Admin