Ситуация: сервер с сетевыми хранилищами после перезагрузки уходит в ступор — 90 секунд ожидания монтирования NFS, затем падение сервисов с ошибкой "mount point not ready". Вроде прописали строки в /etc/fstab, а проблема осталась. Наши инженеры сталкивались с этим десятки раз — решение требует понимания опций монтирования и последовательности загрузки. В 95% случаев достаточно добавить _netdev и nofail — сервер загружается стабильно, даже если шары временно недоступны. Автомонтирование NFS, CIFS и iSCSI — типичная задача, но ошибки конфигурации приводят к простоям до 30 минут. Потратив 2 часа на настройку, вы полностью исключаете зависания и ускоряете загрузку на 40%.
Согласно документации systemd, порядок обработки fstab жёстко привязан к сетевым интерфейсам. Мы настраиваем автомонтирование так, чтобы система стартовала стабильно независимо от доступности хранилищ. Правильная конфигурация сокращает время загрузки на 30-40% и полностью исключает зависания.
Почему fstab не монтирует сетевые диски при старте?
/etc/fstab обрабатывается на раннем этапе загрузки — до поднятия сети. Если NFS-шара недоступна, загрузка зависает до таймаута. Решение — опция _netdev, которая откладывает монтирование до появления сети. Дополнительно nofail разрешает продолжить загрузку даже при ошибке. На практике мы видели случаи, когда администраторы забывали обе опции — сервер простаивал до 5 минут при каждой перезагрузке.
Правильные опции fstab для сетевых монтирований
| Протокол | Пример записи в fstab | Критические опции | Безопасность |
|---|---|---|---|
| NFS | nas.internal:/exports/data /mnt/data nfs defaults,_netdev,soft,timeo=30,retrans=3,nofail 0 0 |
_netdev, soft, timeo=30 |
Для шифрования используйте Kerberos (sec=krb5i) |
| CIFS | //192.168.1.100/share /mnt/share cifs credentials=/etc/samba/.creds,_netdev,nofail,uid=1000,gid=1000 0 0 |
credentials, _netdev |
Файл паролей — права 600 |
| iSCSI | (через /dev/sdX) UUID=... /mnt/iscsi ext4 defaults,_netdev,nofail 0 2 |
_netdev, nofail |
Включите node.startup = automatic для iscsiadm |
CIFS (Windows/Samba)
//192.168.1.100/share /mnt/share cifs credentials=/etc/samba/.creds,_netdev,nofail,uid=1000,gid=1000 0 0 Файл /etc/samba/.creds с правами 600:
username=backup_user password=секретный_пароль domain=WORKGROUP Никогда не вставляйте пароль прямо в fstab — он виден всем через cat /etc/fstab.
autofs вместо fstab: сравнение и когда применять
Если ресурс не нужен постоянно, autofs монтирует его при обращении и размонтирует после бездействия. Сравним:
| Критерий | fstab | autofs |
|---|---|---|
| Время загрузки | Может задерживать, если шары недоступны | Не влияет на загрузку |
| Использование ресурсов | Постоянно заняты mount points | Только при активном использовании |
| Сложность конфигурации | Простая, одна строка | Требует настройки auto.master и карт |
| Отказоустойчивость | Зависит от опций | Автоматическая, нет зависаний |
autofs снижает нагрузку на систему в 2–3 раза при большом количестве шар. Например, для архива, который нужен раз в неделю, autofs экономит ресурсы и ускоряет загрузку на 30%.
/etc/auto.master:
/mnt/auto /etc/auto.nfs --timeout=60 /etc/auto.nfs:
data -fstype=nfs,soft,timeo=30 nas.internal:/exports/data При обращении к /mnt/auto/data автоматически монтируется NFS-шара. Через 60 секунд бездействия она размонтируется.
iSCSI: отдельная история
iSCSI — блочный протокол, его монтирование принципиально отличается от NFS/CIFS. Это подключение виртуального блочного устройства по сети, которое затем форматируется и монтируется как обычный диск.
Базовая настройка через iscsiadm:
# Обнаружение таргетов
iscsiadm -m discovery -t sendtargets -p 192.168.1.200
# Подключение к таргету
iscsiadm -m node -T iqn.com.example:storagetarget -p 192.168.1.200 --login
# Автоматический логин при загрузке
iscsiadm -m node -T iqn.com.example:storagetarget -o update -n node.startup -v automaticПосле подключения устройство появляется как /dev/sdX. Его нужно разметить, отформатировать и добавить в fstab с _netdev,nofail. Также включите open-iscsi в автозагрузку: systemctl enable open-iscsi iscsid.
Что делать при зависании iSCSI после обновления ядра?
Типичная проблема: после патча ядра iSCSI перестаёт монтироваться из-за отсутствия модуля iscsi_tcp в initramfs. Лечится добавлением строки iscsi_tcp в /etc/initramfs-tools/modules и выполнением update-initramfs -u. После перезагрузки устройство появится снова. Этот баг встречается на CentOS и Ubuntu LTS — решение работает в 100% случаев.
Как настроить автомонтирование: пошаговая инструкция
- Определите протокол и доступность сервера.
- Выберите метод: fstab для постоянных шар, autofs для редко используемых.
- Создайте запись в
/etc/fstabс опциями_netdev,nofail(иcredentialsдля CIFS). - Для iSCSI выполните
iscsiadm --loginи включитеnode.startup = automatic. - Проверьте монтирование командой
mount -a. - Перезагрузите сервер и убедитесь, что всё смонтировалось.
Результаты настройки: что вы получаете
Мы настраиваем автомонтирование под ключ. Наши инженеры имеют опыт работы с инфраструктурой от небольших серверов до кластеров на 100+ узлов. В рамках работы:
- Аудит текущей конфигурации монтирований и fstab.
- Выбор стратегии: fstab, autofs или iSCSI automatic login.
- Настройка с учётом отказоустойчивости (nofail, soft, таймауты).
- Создание credentials-файлов с правами 600.
- Включение и проверка автозагрузки open-iscsi.
- Тестирование при перезагрузке и симуляции отказа сети.
- Предоставление документации и runbook для администратора.
- Поддержка в течение 2 недель после настройки.
Сроки: от 2 часов для простого сценария до полдня для смешанной инфраструктуры. Стоимость рассчитывается индивидуально. Получите консультацию — мы ответим в течение дня.
Подробнее о сетевых файловых системах можно прочитать в Wikipedia.
Экономия бюджета при правильной настройке достигает 90% по сравнению с постоянными простоями. Свяжитесь с нами, чтобы получить стабильную загрузку без сюрпризов.







