Стандартный паттерн /etc/fstab для опциональных USB-storage / LVM-mount’ов — не блокировать boot если устройство недоступно.
Полный паттерн
UUID=<uuid> /mountpoint ext4 noatime,nofail,x-systemd.automount,x-systemd.device-timeout=10s 0 2
Опции по смыслу
| Опция | Что делает |
|---|---|
noatime | не обновляет access-time (меньше I/O) |
nofail | если device не появится — boot не упадёт (vs default который вешает boot) |
x-systemd.automount | ленивый mount: только при первом доступе к точке монтирования |
x-systemd.device-timeout=10s | ждать device max 10 сек (default 90s слишком долго) |
0 2 — dump=0, fsck pass=2 (fsck при boot после root).
Без nofail: что ломается
Если USB-disk отвалился или vgmedia не активируется:
[TIME] Timed out waiting for device /dev/disk/by-uuid/<id>
[DEPEND] Dependency failed for /mountpoint
[DEPEND] Dependency failed for Local File Systems
You are in emergency mode. ... Give root password for maintenance.
→ Pi уходит в emergency mode и без клавы recovery невозможен.
С nofail + automount
- Boot проходит даже если device мёртв
- При первом доступе к
/mountpoint→ systemd триггерит mount - Если device есть — mount работает, content виден
- Если device нет —
/mountpointостаётся пустой директорией
Применимо к
- USB-HDD (внешние диски на хабе)
- LVM-volume на USB-storage (vgmedia, vgdata если PV на USB)
- NFS/SMB-mount’ы (там аналогично
x-systemd.automount) - Cloud storage mounts (rclone и пр.)
Не использовать для
/(root FS) — мастер-mount, не может быть optional/boot— критично для firmware updates, но в crash-сценариях добавлениеnofailоправдано (FAT32 dirty bit от Mac-edit’ов может ломать mount)swap— лучше отключать через/etc/dphys-swapfile
Связано
- Диагностика boot loop systemd на Raspberry Pi
- systemd.mask в kernel cmdline — emergency-fix без правки fstab
Мета
Область:: 00 Linux