[devel] ovz, tcpsndbuf && vsftpd
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Вс Ноя 11 00:30:26 MSK 2007
...
По мотивам обсуждения проблем с ftp в рассылке community:
<quote>
В сообщении от Wednesday 07 November 2007 14:19:07 Сергей Бялко написал(а):
> Здравствуйте, многоуважаемый ALL!
>
> Установил AltLinux Server 4, обновил из branch. Создал виртуальные
> машины для фтп, днс и др. - всё ок, всё работает. Виртуальные машины
> сделал в подсети 172.16.0.0/24 и на родительской машине сделал nat на
> эту подсеть + пробросил нужные порты для фтп и днс.
> Однако возникла такая проблема:
> когда я загружаю по фтп на виртуальную машину скорость нормальная, а
> когда пытаюсь скачивать, то скорость падает, падает и связь вообще
> теряется!
>
> Куда копать? Где искать?
>
> P.S. Сервак на SuperMicro 2U 6025B-TB
</quote>
В итоге обсуждения Сергей выдал доступ, и я проверил; думаю, что результат в
достаточной степени воспроизводим.
А ситуация вот какая. Скорость не падает. Просто в какой-то момент передача
обрывается. Обрывает её сервер. Как показывает наблюдение, обрывает именно
тогда, когда tcpsndbuf увеличивает failcnt. Клиент же этот обрыв не сечёт
и "подвисает" на коннекте.
В этих же условиях proftpd "продолжает работать и работать".
Чтобы воспроизвести, достаточно скачать по очень быстрому линку (>1Gbit)
большой (>10Mb) файл при достаточно небольшом tcpsndbuf.
...
Кто-нибудь сталкивался с этой багой? Пока только один ns@ признался, но он
решил проблему переходом на sftp.
Кто-нибудь анализировал? Мне неохота залезать в потроха vsftpd, но интересно:
это он дергает за ошибку в ядре или ошибка в самом vsftpd? А это, имхо,
ошибка, т.к. переполнение буфера tcp на отправку -- ситуация вполне
вероятная.
--
Peter V. Saveliev
Подробная информация о списке рассылки Devel