Gubinsoft Solutions » Справка » Autofs вместо fstab

Autofs вместо fstab

15 июля 2021, Четверг
30
Существует неэффективный способ смонтировать внешнее хранилище (локальное или удаленное). Привычка, от которой трудно избавиться: fstab. Давайте попробуем autofs.

Проблема с fstab

Возможно, fstab - это простой и самый быстрый способ монтировать ресурсы при загрузке. И мы к этому привыкли. Но если это внешнее хранилище (например, общий ресурс CIFS / SAMBA, файловая система sshfs) недоступно во время загрузки или если соединение потеряно во время монтирования, это может привести к нежелательному поведению.

Использование autofs

Установка autofs

Если он еще не установлен
dnf install autofs -y

Подключим USB-диск

Использование метки диска вместо /dev/sdX

Предположим, у вас есть файловая система BTRFS на USB-диске. Обозначим его (таким образом мы не будем использовать классический /dev/sdX, поскольку он непредсказуем, и нам не нужно иметь дело с эзотерическими UUID).
sudo btrfs filesystem label /dev/sda1 btrfs300
Для ext4 есть команды e2label и tune2fs.

Настройка autofs

Создайте файл типа /etc/auto.master.d/trecento.autofs
/media/   /etc/auto.ext-usb --timeout=300,defaults,user,exec
Таймаут должен отключить диск через 5 минут, теоретически переводя его в спящий режим.
Создайте файл /etc/auto.ext-usb, содержащий
trecento -fstype=auto  :/dev/disk/by-label/btrfs300
Как видите, мы используем метку диска, чтобы указать раздел BTRFS.

Включим и запустим службу autofs

sudo systemctl enable autofs --now
Используем команду монтирования
/etc/auto.ext-usb on /media type autofs (rw,relatime,fd=24,pgrp=320148,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=2153302)
Вы видите, что USB-диск не смонтирован. Вывод или доступ к определенному каталогу автоматически монтирует его.
ll /media/trecento
mount

/etc/auto.ext-usb on /media type autofs (rw,relatime,fd=24,pgrp=320148,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=2153302)
/dev/sdd1 on /media/trecento type btrfs (rw,nosuid,nodev,relatime,seclabel,space_cache,subvolid=5,subvol=/,user)

Установка sshfs

Установите пакет sshfs.
Создайте файл /etc/auto.master.d/conta.autofs.
/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
Создайте файл /etc/auto.sshfs.
remote -fstype=fuse,rw,nodev,noatime,allow_other,max_read=65536 :sshfs\#user@remote.host\:
Конечно, вам нужно настроить ключи ssh, чтобы войти в систему без пароля.

CIFS/SAMBA

Те же шаги. Создайте файл /etc/auto.master.d/cifs.autofs
/samba /etc/auto.samba
Затем /etc/auto.samba
remote -fstype=cifs,rw,credentials=/etc/.credentials/windows,uid=1000,sec=ntlm,noserverino ://windows.lan/share
Вы можете создать каталог /etc/.credentials/, а затем файл, содержащий учетные данные, /etc/.credentials/windows
username=shareuser
password=sharepassword

Обновите изменения

sudo systemctl restart autofs
Обсудить
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
Партнеры
Yandex Cloud
OVH
Equinix
Reg.ru

Тут временно нет ничего

Автору в течение месяца будет лень что-то делать