У меня есть сервер, на котором запущен сервер Ubuntu Server 14.04, который в течение нескольких месяцев без проблем делал периодические резервные копии на NAS, подключенном к NFS, с помощью rsnapshot. На прошлой неделе мы добавили к коммутатору еще несколько машин, и у нас начались проблемы с резервным копированием и монтированием NFS.
Rsnapshot запустит свою команду rsync, которая будет работать нормально в течение часа или двух, прежде чем просто перестанет что-либо делать. Команда rsync появится в top
как находящийся в состоянии «непрерывного сна» (31948 root 25 5 79640 56328 452 D 0.0 0.1 15:13.86 /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/etc/rsnapshot.excludefile /home /mnt/.private/backup/daily.0/localhost/
).
Как только это произойдет, я больше не смогу смотреть на монтирование NFS. Если я попытаюсь использовать ls для каталога, команда ls просто зависнет, и нагрузка на сервер резко возрастет, если я не найду PID для этой команды ls и не убью ее.
После того, как все дошло до этого этапа, единственный способ вернуться к монтированию NFS - это физически перезагрузить NAS.
Любые идеи? Спасибо за любой вклад!
В итоге я решил проблему. Оказывается, добавление новых машин к коммутатору не имеет никакого отношения к этому. В тот же день, когда мы добавили эти машины, один из пользователей создал один огромный файл (~ 260 ГБ). NFS задерживала копирование этого файла. Моим решением было добавить --max-size=100G
к команде rsync в rsnapshot. Это означает, что не выполняется резервное копирование одного большого файла, но пока я принимаю это, поскольку лучше пропустить один файл, который может повлиять на одного пользователя, чем потерпеть неудачу при резервном копировании целиком.