Рейтинг:0

Сервер Samba не снимает блокировки записей при отключении от сети

флаг jp

Я экспериментировал со сценарием обмена файлами по сети через SMB/samba. Блокировка записи, примененная к удаленному файлу, остается в силе даже после 1 часа отключения от сети. Следующий тестовый пример описывает набор действий, выполняемых в хронологическом порядке:

-> Процесс (P1) на клиенте Windows (C1) и другой процесс (P2) на клиенте Linux (C2) подключены к 
    общий сервер Linux и доступ к тому же удаленному файлу.
-> И P1, и P2 открывают удаленный файл и получают дескриптор каждого.
-> P1 берет эксклюзивную блокировку по смещению 0.
-> P2 пытается получить эксклюзивную блокировку по смещению 0 в цикле, но не получает, так как P1 удерживает эксклюзивную блокировку 
    замок на том же смещении.
-> Теперь P1 отключен от удаленного файла (C1 отключен от сервера).

Результат: P2 не получает блокировки, мгновенно возвращает «EACCES», пытался около часа.

Результаты были неожиданными, так как в среде Wi-Fi, где системы постоянно входят и выходят, это потенциально может привести к остановке системы.

Спецификации ОС C1 — Windows 10 Корпоративная (версия: 20H2, сборка: 19042.1237)
Спецификации ОС C2 — Ubuntu 20.04.3 LTS (GNU/Linux 5.13.0-1021-azure x86_64)
Спецификации ОС Linux Server — Ubuntu 20.04.1 LTS (GNU/Linux 5.13.0-37-универсальный x86_64)

Версия Samba на C2 — 4.13.17 — Используемая команда Ubuntu — smbststus
Версия Samba на сервере Linux — 4.13.17 — Используемая команда Ubuntu — smbstatus
Версия SMB на C1 — Используемая команда SMBv2/v3 — sc.exe qc lanmanworkstation

Версия протокола — 3.1.1 (одинаковая для обоих подключений) Используемая команда — smbstatus

Возможно ли иметь практический тайм-аут на сервере, чтобы другим клиентам не приходилось долго ждать, чтобы получить эксклюзивные блокировки? Любые входы помогут.

Это содержимое конфигурационного файла smb на сервере Linux (используемое имя общего ресурса — sambashare):

[Глобальный]
   рабочая группа = РАБОЧАЯ ГРУППА
   строка сервера = сервер %h (Samba, Ubuntu)
   файл журнала = /var/log/samba/log.%m
   максимальный размер журнала = 1000
   регистрация = файл
   действие паники = /usr/share/samba/действие паники %d
   роль сервера = автономный сервер
   подчиняться ограничениям pam = да
   синхронизация паролей unix = да
   программа passwd = /usr/bin/passwd %u
   пароль чата = *Enter\snew\s*\spassword:* %n\n
*Повторно введите\snew\s*\spassword:* %n\n *password\updated\ssuccessfully* .
   изменение пароля pam = да
   сопоставление с гостем = плохой пользователь
   usershare разрешить гостям = да

[принтеры]
   комментарий = Все принтеры
   просмотр = нет
   путь = /var/спул/самба
   для печати = да
   создать маску = 0700

[печать$]
   комментарий = Драйверы принтера
   путь = /var/lib/samba/printers

[самбашаре]
    комментарий = Самба в Ubuntu
    путь = /home/ubuntu/smb
    только чтение = нет

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.