[РЕШЕНО?] Периодически намертво виснет примонтированный через davfs2 Яндекс.Диск (часами не откликается на любые обращения)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

vkapas
Сообщения: 199
ОС: Ubuntu 20.04

[РЕШЕНО?] Периодически намертво виснет примонтированный через davfs2 Яндекс.Диск

Сообщение vkapas »

На Ubuntu Server 14 настроено автомонтирование Яндекс.Диска по davfs2 через fstab:

Код: Выделить всё

https://webdav.yandex.ru:443 /media/Yandex.Disk           davfs   uid=user,gid=user,rw,_netdev 0       0


Диск используется для резервного копирования с помощью rsync по расписанию раз в день. Объёмы данных — от нескольких мегабайт до нескольких гигабайт.

Проблема в том, что раз в 2-3 дня, как правило, во время одного из таких копирований (бывает в начале, бывает и в конце — когда все данные уже скопированы, и осталось только показать результаты --stats), диск /media/Yandex.Disk виснет намертво и перестаёт реагировать на любые обращения. А любые команды с его использованием перестают подавать признаки жизни, в их числе — cp, df, du, ls, pv, mc.. Также с этого момента что-либо про примонтированный диск перестаёт попадать в syslog или логи rsync'а.

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

Экспериментировал с различными конфигами davfs2 и rsync, всё без толку (с дефолтными те же проблемы). Сейчас davfs2.conf выглядит так:

Код: Выделить всё

 buf_size       128
 use_locks       0
 cache_dir       /home/user/davfs2
 cache_size      10240
 table_size      10240
 dir_refresh     3600
 file_refresh    600
 delay_upload    0

rsync сейчас запускаю с параметрами -ahuz --log-file=/var/log/rsync/yandex.disk.log --no-whole-file --temp-dir=/tmp --stats.

P.S. Веб-версия Яндекс.Диска во время зависаний продолжает работать без проблем. Аналогично работает Диск, подключённый через «Проводник» в Windows 7.

P.P.S. Однажды мне хватило терпения, и после очередного зависания мне всё-таки удалось восстановить нормальную работу, для чего пришлось сделать:
  • killall -9 rsync
  • rm -r davfs/cache
  • выполнить umount -f /media/Yandex.Disk и подождать ~10 часов


Как выяснить, что и почему вешает Яндекс.Диск / davfs2?
Спасибо сказали:
vkapas
Сообщения: 199
ОС: Ubuntu 20.04

Re: [РЕШЕНО?] Периодически намертво виснет примонтированный через davfs2 Яндекс.Диск

Сообщение vkapas »

UPD. Проблему не поборол, но смог чуть уменьшить масштаб, поковырявшись в настройках davfs2 и опциях rsync.

Код: Выделить всё

 buf_size       256
 use_locks       0
 cache_dir       /home/user/.davfs2/cache
 cache_size      10240
 table_size      10240
 dir_refresh     600
 file_refresh    600
 delay_upload    300

Код: Выделить всё

rsync -ahuz --log-file=/var/log/rsync/yandex.disk.log --max-size=10gb --stats /home/user/ /media/Yandex.Disk/backup/

(кстати, при использовании Яндекс.Диска рекомендую сразу добавить параметр --max-size=10gb, т.к. файл больше 10Гб всё равно загрузить не получится)

В итоге «зависания» если и появляются, то только при единовременной загрузке данных от 500-1000Мб, и, теперь, на меньшие промежутки — от десятков минут до нескольких часов.

А связано это, похоже, с пропускной способностью канала. Компьютер подключён к интернету через Yota, максимальная скорость — не больше 5-10Мбит в каждую сторону. Догадки пока проверить не могу, нормальный канал подключат в лучшем случае через месяц.

Ну а в тяжёлых случаях всегда помогает убийство процесса монтирования davfs, ID которого можно найти с помощью

Код: Выделить всё

netstat -nap |grep davfs
Спасибо сказали: