Автор Тема: Перестали монтироваться самба-ресурсы при старте  (Прочитано 4367 раз)

Оффлайн Spanish ArCher

  • Завсегдатай
  • *
  • Сообщений: 1 234
Многие годы в fstab у меня было прописано монтирование ресурсов на сетевом хранилище

//X.X.X.X/kino /mnt/dl315/kino cifs vers=1.0,auto,rw,_netdev,noperm,uid=500,gid=500,file_mode=0666,iocharset=utf8,users,credentials=/etc/samba/smbcr_a 0 0
И всё прекрасно монтировалось при старте.
И вдруг монтирование при старте пропало. Сначала подумал "случайность". Нет. Закономерность.
После старта руками прекрасно монтируется.
Покопавшись в логах выяснил, что что всё это произошло после dist-ugrade 2020-02-23. Обновилось 199 пакетов.
$ journalctl -b -3 --no-pager | grep installed | wc -l
199

В логах появилось такое
ICI3.lan kernel: FS-Cache: Netfs 'cifs' registered for caching
ICI3.lan kernel: Key type cifs.spnego registered
ICI3.lan kernel: Key type cifs.idmap registered
ICI3.lan kernel: CIFS VFS: Error connecting to socket. Aborting operation.
ICI3.lan kernel: CIFS VFS: cifs_mount failed w/return code = -101
ICI3.lan kernel: CIFS VFS: Error connecting to socket. Aborting operation.
ICI3.lan kernel: CIFS VFS: cifs_mount failed w/return code = -101

Если при старте убрать сплеш, то видно как материться где-то так "Не могу смонтировать /mnt/dl315/kino по причине отсутсвия сети"
Технические подробности:
Ситема = KWorkstation p9 64bit
Сетью управляет etcnet (поскольку комп стационарный, к сети подключен витой парой, и в НетворкМенеджере необходимости нет).
Роутер и сетевое хранилище никогда не выключаются.

Как оживить монтирование при старте?
Если я попался вам навстречу, Значит вам со мной не по пути.
(С) Воскресение

Оффлайн NickM

  • Завсегдатай
  • *
  • Сообщений: 901
Скорее всего, в таком случае лучше Вам юнит для systemd оформить, где указать зависимость, что подключать сетевые ресурсы следует после соединения сети...

Оффлайн Spanish ArCher

  • Завсегдатай
  • *
  • Сообщений: 1 234
Скорее всего, в таком случае лучше Вам юнит для systemd оформить, где указать зависимость, что подключать сетевые ресурсы следует после соединения сети...

1. А где-то образец есть?

2. Как-то странно. Работало-работало = и упсс!
Если я попался вам навстречу, Значит вам со мной не по пути.
(С) Воскресение

Оффлайн NickM

  • Завсегдатай
  • *
  • Сообщений: 901
Возможно статья по ссылке Вам покажется не авторитетной, но как по Мне, в ней достаточно той информации, с помощью которой можно начать погружаться в тему...

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Многие годы в fstab у меня было прописано монтирование ресурсов на сетевом хранилище

//X.X.X.X/kino /mnt/dl315/kino cifs vers=1.0,auto,rw,_netdev,noperm,uid=500,gid=500,file_mode=0666,iocharset=utf8,users,credentials=/etc/samba/smbcr_a 0 0
И всё прекрасно монтировалось при старте.
И вдруг монтирование при старте пропало. Сначала подумал "случайность". Нет. Закономерность.
После старта руками прекрасно монтируется.
Покопавшись в логах выяснил, что что всё это произошло после dist-ugrade 2020-02-23. Обновилось 199 пакетов.
$ journalctl -b -3 --no-pager | grep installed | wc -l
199

В логах появилось такое
ICI3.lan kernel: FS-Cache: Netfs 'cifs' registered for caching
ICI3.lan kernel: Key type cifs.spnego registered
ICI3.lan kernel: Key type cifs.idmap registered
ICI3.lan kernel: CIFS VFS: Error connecting to socket. Aborting operation.
ICI3.lan kernel: CIFS VFS: cifs_mount failed w/return code = -101
ICI3.lan kernel: CIFS VFS: Error connecting to socket. Aborting operation.
ICI3.lan kernel: CIFS VFS: cifs_mount failed w/return code = -101

Если при старте убрать сплеш, то видно как материться где-то так "Не могу смонтировать /mnt/dl315/kino по причине отсутсвия сети" Не могу смонтировать /mnt/dl315/kino по причине отсутсвия сети

Технические подробности:
Ситема = KWorkstation p9 64bit
Сетью управляет etcnet (поскольку комп стационарный, к сети подключен витой парой, и в НетворкМенеджере необходимости нет).

Угу.
Ошибка 101: [SOLVED] Samba, error(101): Network is unreachable
Монтирование сетевого ресурса раньше, чем был поднят сетевой сервис.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Скорее всего, в таком случае лучше Вам юнит для systemd оформить, где указать зависимость, что подключать сетевые ресурсы следует после соединения сети...

1. А где-то образец есть?

Есть.
Вам нужно в systemd заново изобрести очерёдность старт-стоп sysvinit.
Тестируйте:
Скрипт монтирует cifs ресурс только после старта сетевого сервиса, -  прописать в скрипте команду монтирования в процедуре start(). Скрипт учитывает очерёдность старта и NetworkManager. Имеет LSB хидер для использования в системах на systemd.
$ cat cifsmount
#!/bin/sh
#
# cifsmount:   mounting and unmounting of the cifs resource
#
# chkconfig: 345 92 34
# description:  mounting and unmounting of the cifs resource
#
### BEGIN INIT INFO
# Provides: cifsmount
# Required-Start: $local_fs $network $remote_fs $named $time
# Required-Stop: $local_fs $network $remote_fs $named
# Default-Start:  3 4 5
# Default-Stop: 0 1 6
# Description: mounting and unmounting of the cifs resource
### END INIT INFO

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

LOCKFILE=/var/lock/subsys/cifsmount
RETVAL=0


start() {
    # mounting cifs resource
    touch "$LOCKFILE"
    команда монтирования cifs ресурса
    return $RETVAL
}

stop() {
    # Umount all cifs
    rm -f "$LOCKFILE"
    umount -a -t cifs
    return $RETVAL
}



case "$1" in
    start)
start
;;
    stop)
stop
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        exit 1
esac
exit 0

LSB-хидер нужен для того, чтобы сервис мог работать и в системах на systemd, правильно обрабатывая старт-стоп.


2. Как-то странно. Работало-работало = и упсс!

Speccyfighter ехидно хихикает...
А вы думаете Speccyfighter от нечего делать уже который раз цитирует пункт 6 статьи спектрумовского электронного журнала Oberon #02? С толстым намёком на Линукс-разработчиков. Это специально когда-то было написано спектрум-кодером для программистов, чтобы не было этих "Работало-работало = и упсс!". И чтобы не было регрессий, которыми называют рукожопый код.
« Последнее редактирование: 27.02.2020 12:28:13 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Многие годы в fstab у меня было прописано монтирование ресурсов на сетевом хранилище
...
Покопавшись в логах выяснил, что что всё это произошло после dist-ugrade 2020-02-23. Обновилось 199 пакетов.
...
В логах появилось такое
...
ICI3.lan kernel: CIFS VFS: Error connecting to socket. Aborting operation.
ICI3.lan kernel: CIFS VFS: cifs_mount failed w/return code = -101

Если при старте убрать сплеш, то видно как материться где-то так "Не могу смонтировать /mnt/dl315/kino по причине отсутсвия сети" ...

Это тянет на багрепорт.
« Последнее редактирование: 27.02.2020 12:22:16 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Скорее всего, в таком случае лучше Вам юнит для systemd оформить, где указать зависимость, что подключать сетевые ресурсы следует после соединения сети...
видимо systemd то ли не знал, то ли забыл, что такое опция _netdev в fstab.

Оффлайн aleksey-v.

  • Завсегдатай
  • *
  • Сообщений: 347
Многие годы в fstab у меня было прописано монтирование ресурсов на сетевом хранилище
Если не секрет, почему не autofs?