[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