Вопрос или проблема
Linux: 4.18.0-305 ОС: CentOS 8.4
У меня есть папка SMB, которая монтируется с помощью следующей команды:
mount -t cifs -o iocharset=utf8,rw,credentials=${_passwordFile},nobrl,nounix,file_mode=0644,dir_mode=0755,rsize=65536,wsize=130048,uid=10002,gid=1005,vers=3.0 //SMB_FOLDER LOCAL_FOLDER
Иногда источник SMB становится недоступным. Тогда я получаю следующее сообщение об ошибке в messages
:
Dec 1 12:40:09 XXXX kernel: CIFS: VFS: \\SMB_FOLDER Send error in SessSetup = -13 Dec 1 12:40:09 XXXX kernel: CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE Dec 1 12:40:09 XXXX kernel: CIFS: VFS: \\SMB_FOLDER Send error in SessSetup = -13 Dec 1 12:40:10 XXXX kernel: CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE
Эта ошибка постоянно СПАМИТСЯ в файлах журналов. Даже если я размонтирую папку, сообщение об ошибке продолжает появляться постоянно.
umount \\SMB_FOLDER
Хотя я размонтировал папку, я не могу её удалить. Я получаю следующее сообщение об ошибке:
rm: removing 'LOCAL_FOLDER' is not possible: Device or resource busy
Следующие команды не дают никакого вывода: lsof +D LOCAL_FOLDER
и fuser LOCAL_FOLDER
отображены.
Как я могу решить проблему без перезагрузки?
В моём случае установка пакета cifs-utils
решила проблему.
В вашем файле учётных данных “credentials=${_passwordFile}” добавьте домен или IP-адрес следующим образом:
username=имя_пользователя
password=ваш_пароль
domain=домен_хоста
У меня сейчас такая же проблема. Я ничего не могу найти.
Одно, что я пробовал, и думал, что это сработает, но не было открыто необходимых портов, это: с помощью ssh на другой машине с Linux для удалённого выполнения команды
systemctl restart <affected log daemon/process>
или
systemctl stop <affected log daemon/process>
Если порт, который вы используете, открыт на удалённом сервере для SSH, я думал, что это сработает довольно хорошо.
Это должно выглядеть примерно так:
$ ssh -t admin@<remoteServerIP> sudo systemctl stop <neededService>
Примечание: Убедитесь, что вы используете учетную запись с необходимыми разрешениями для работы
В моём случае это произошло на моём VMSS, работающем на Azure. Это было связано с тем, что, когда доступность учётной записи хранилища/файлового ресурса упала со 100% до 80%. В то же время я начал получать ту же ошибку. Даже после восстановления доступности до 100%, проблема не разрешилась сама собой. Мне пришлось перезагрузить экземпляр VMSS, чтобы исправить проблему.
В моем случае вам нужно отключить опцию “Для улучшенной безопасности разрешить вход только учетным записям Microsoft на этом устройстве с использованием Windows Hello (рекомендуется)” в параметрах входа в учетную запись Windows 11, так как это помешает вам получить доступ к Windows с помощью пароля
.
Ответ или решение
Ошибка "CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE" указывает на проблему с аутентификацией при подключении сетевой папки SMB. Данная ошибка часто возникает на платформах Linux, например на CentOS 8.4 с ядром 4.18.0-305, когда возникает сбой подключения к SMB-серверу.
Причины и решения:
-
Проблемы с учетными данными:
- Убедитесь, что файл учетных данных, указанный в ключе
credentials=${_passwordFile}
, содержит актуальные данные. Например:username=ваше_имя_пользователя password=ваш_пароль domain=ваш_домен
- Убедитесь, что ваш SMB-сервер использует соответствующий домен или IP-адрес в учетных данных.
- Убедитесь, что файл учетных данных, указанный в ключе
-
Конфигурация сети и доступные порты:
- Проверьте доступность SMB-сервера и сетевые подключения. Например, возможна блокировка нужных портов.
- Для управления сервисами через SSH убедитесь в наличии открытых портов и прав доступа от имени администратора. Пример команды:
ssh -t admin@удаленный_IP sudo systemctl stop <нужная_служба>
-
Проблемы клиента CIFS:
- Проверьте установлен ли пакет
cifs-utils
, так как его отсутствие может вызывать проблемы. Установите его с помощью:sudo yum install cifs-utils
- Проверьте установлен ли пакет
-
Текущие процессы и блокировки:
- Несмотря на неудачную попытку демонтирования каталога, ошибка ‘Device or resource busy’ может указывать на процесс, работающий с этой точкой монтирования. Возможно использование команды
fuser -m LOCAL_FOLDER
для точного обнаружения процессов. - Если процессы не отображаются, перезагрузка демона может помочь:
sudo systemctl restart smb
- Несмотря на неудачную попытку демонтирования каталога, ошибка ‘Device or resource busy’ может указывать на процесс, работающий с этой точкой монтирования. Возможно использование команды
-
Проблема с SMB-сервером или файловым хранилищем:
- Становится актуально использование Azure или другого облака. Хотя загрузка восстановилась, перезагрузка ВМ или ВМSS в Azure может устранить проблему доступности.
-
Специфические настройки ОС Windows:
- В случае если ваш SMB-сервер работает на Windows 11, отключите настройки безопасности типа "Используйте только учетные записи Microsoft" для входа.
Заключение
Эффективное управление ошибкой требует понимания текущей сетевой и серверной конфигурации, где ключевым является правильная настройка параметров подключения и учетных данных. В случае неудач перезапуск или, даже, перезагрузка системного компонента может служить временным решением, но в дальнейшей перспективе важно исключить конфликты и проверить настройки безопасности.
Это создает состояние прозрачности и надежности, минимизируя риски спорадических ошибок и улучшая стабильность подключения SMB.