Перейти к основному содержанию

Автоматическое монтирование шары CIFS в fstab

Linux 2

Про монтирование шары CIFS в fstab я уже писал. Здесь всё просто. При загрузке шара монтируется в указанную директорию, все счастливы.

Linux — монтируем шару CIFS

А теперь ложка дёгтя. Перезагружаем сервер, с которого примонтирована шара, а чего бы его и не перезагрузить, вот хочется перезагрузить, сил нет терпеть. И все примонтированные к этому серверу шары на 100500 серверах отваливаются. Бинго! Теперь нужно зайти на все 100500 серверов и смонтировать шару обратно. После неожиданной перезагрузки сервера мы не останемся без работы.

Это не дело. Нам необходимо автоматически монтировать шары, если они отвалились.

Во-первых, есть пакет autofs. Я сначала про него хотел написать, но по какой-то причине через autofs я не смог примонтировать SMB шару через cifs под доменной учётной записью. Через три часа мучений я бросил это дело и в два клика настроил автоматическое монтирование шары с помощью systemd.

Итак, у нас имеется файлик /etc/fstab, в котором при загрузке монтируется SMB шара. Работаю в Red Hat. У кого ещё не смонтировано — монтируйте.

Установка пакета для работы CIFS

CentOS:

yum install cifs-utils

Ubuntu:

apt-get install cifs-utils

Монтирование CIFS через fstab

Создаём файл для хранения логина и пароля. Лучше скрытый.

vim /root/.cifs_bck

Содержимое:

username=v.pupkin
password=MySecretPassw0rd
domain=ilab.local

Добавляем строку в /etc/fstab:

//10.12.69.11/bck-db /backup/dl2 cifs defaults,uid=oracle,gid=oinstall,credentials=/root/.cifs_bck,file_mode=0600,dir_mode=0700,rw 0 0

Здесь:

  • //10.12.69.11/bck-db — путь к монтируемой папке
  • /backup/dl2 — локальная папка для монтирования
  • cifs — тип файловой системы
  • uid=oracle,gid=oinstall — под каким пользователем и группой монтировать
  • credentials=/root/.cifs_bck — путь к файлу с логином, доменом и паролем
  • rw — чтение/запись
  • file_mode=0600,dir_mode=0700 — права на файлы и папки
  • 0 — индикатор резервной копии (0 — не используется)
  • 0 — порядок проверки раздела (0 — не проверять)

linux

Запись сохранена в fstab. Проверим, что имеется папка /backup/dl2.

ll /backup/dl2

Если папки нет, создадим её.

mkdir /backup/dl2

Монтируем:

mount /backup/dl2

Всё смонтировалось, вижу свой тестовый файлик с названием "123". Демонтируем.

umount /backup/dl2

Автоматическое монтирование CIFS через fstab

Будем автоматически монтировать шару с помощью systemd. Для для этого нам понадобится... systemd. Для systemd можно вручную создавать точки монтирования и настраивать для них так нужное нам автоматическое монтирование, но мы этого делать не будем.

У systemd есть специальный генератор для fstab.

man systemd-fstab-generator

Он парсит файл /etc/fstab и сам создаёт необходимые точки монтирования, достаточно только добавить некоторые параметры:

  • x-systemd.automoun — автоматически монтировать через systemd
  • x-systemd.device-timeout=60 — таймаут, полезно увеличить для SMB шар AD
  • _netdev — монтировать после старта сети
man systemd.mount

Получаем модифицированную строку для fstab:

//10.12.69.11/bck-db /backup/dl2 cifs defaults,x-systemd.automount,x-systemd.device-timeout=60,_netdev,uid=oracle,gid=oinstall,credentials=/root/.cifs_bck,file_mode=0600,dir_mode=0700,rw 0 0

Сохраняем изменённый fstab. Монтируем.

systemctl daemon-reload
systemctl start backup-dl2.automount
systemctl status backup-dl2.automount

linux

Название точек монтирования в systemd формируются по названию директории монтирования. При этом слеши меняются на дефисы. А дефисы на "\x2d". Пробелы на "\x20".

Повторил все те же самые действия на втором сервере и подумал, надо бы протестировать, отмонтировать шару и попытаться обратиться к ней.

linux

Всё отработало нормально.

Команды в помощь

systemctl list-units --all --type=mount
systemctl list-units --all --type=automount

Если монтирование не срабатывает, можно так:

systemctl daemon-reload
systemctl start backup-dl2.mount
systemctl stop backup-dl2.mount
systemctl start backup-dl2.automount
systemctl start backup-dl2.mount

Теги

 

Похожие материалы

Putty — SOCKS5 прокси через SSH-туннель

Однажды один из IP адресов на работе попал в SORBS SPAM. IP адрес можно выкинуть из спам листа, если зайти на сайт sorbs.net именно с этого IP адреса. Но у меня на компе другой внешний IP адрес, а на почтовике с нужным IP стоит linux и нет возможности запустить браузер. Сделаем с помощью putty SSH туннель. 

Теги

Postfix с SMTP аутентификацией Cyrus

Понадобилось сделать Postfix с SMTP аутентификацией. Раньше не настраивал, перерыл кучу статей. Очень сумбурно всё изложено, поэтому пришлось написать свой вариант. Если кто-то знает хорошую инструкцию по данному вопросу без лишней воды — пишите в комментариях.

Теги