edge: /dev/random

3 сообщения / 0 new
Последнее сообщение
Гость
edge: /dev/random

Вот, нарвался на проблемы с сабжем, спешу поделиться, может для кого-то это тоже будет ново..

До недавнего времени думал, что достаточно того, что если кернел собран с поддержкой hw_random устройства, то этого достаточно для генерации энтропии для /dev/random. Ан нет.. Все началось с того, что на всех серваках, где стоял почтовый сервер cyrus-imapd, после обновления кернела, cyrus стал вести себя неадекватно - то есть перестал держать нагрузку. Например заходишь телнетом на 110 порт пару раз - отзывается, на третий раз может секунд 10 подождать, прежде чем ответит. А при возрастании нагрузки - вообще ступор. В общем бился долго, не мог понять где причину искать, пока не написал в список расслыки cyrus'а. И один человек, дай бог ему здоровья, подсказал где рыть. Оказалось для генерации случайных чисел птички в кернеле недостаточно. Для генерации случайного содержимого из разных источников (eth,клавиатура, мышь,IDE) для /dev/random в Linux, в отличие от FreeBSD должен быть поднят еще и демон из пакета rng-tools. Вот такие дела. Сейчас делаю стресс тест для почтаря - 300 запросов в минуту на pop3 - полет нормальный отвечает, как будто и не нагружен вовсе..
Никогда б не подумал про такие чудеса со случайными числами..

[ Редактирование ]

Nick
Не в сети
Зарегистрирован: 20/09/2010

Чудес никаких. FreeBSD не так давно вообще валилась при задействовании Intel RNG. А тут работает. Просто нужно немного RTFM. Можете потестировать скорость и качество генерации с помощью rngtest. Кстати, rngd еще и прогоняет полученную энтропию через тест, прежде чем "скармливать" ее в /dev/random.

Dumus
Аватар пользователя Dumus
Не в сети
Зарегистрирован: 17/09/2010

Поучительно =)

Мой микроблог: http://juick.com/Dumus/

RSS-материал