Показать сообщение отдельно
Старый 30.11.2009, 11:33     # 1
Hatifnatt
::VIP::
 
Аватар для Hatifnatt
 
Регистрация: 23.05.2005
Пол: Male
Сообщения: 1 064

Hatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех Гуру
Unhappy Linux: шифрование дисков, dm-crypt LUKS, низкая скорость

Есть задача шифровать все данные на сервере, конфигурация оборудования следующая:

M/B SuperMicro X7SBE-О LGA775, i3210
CPU Intel(R) Xeon(R) X3370 @ 3.00GHz
RAM 2Gb ECC CL6 x 4 шт.
RAID controller 3ware 9690SA-8I (OEM) PCI-E x8
HDD 73 Gb SAS Hitachi 15000rpm 16Mb 6 шт. в RAID10

OS Ubuntu Server 9.10, как вариант можно воспользоваться CentOS или Fedora но сомневаюсь что это что-нибудь даст.

Дисковая система позволяет получить скорость последовательного чтения / записи порядка 330 - 350 Мб/сек

С использованием шифрования, а конкретнее dm-crypt LUKS скорость падает до 121 Мб/сек запись и 99 Мб/сек чтение (при работе с диском).

Опробованы были не все, но очень многие системы шифрования как уровня ядра так и userspace уровня (например EncFS) в том числе и truecrypt.
Максимального быстродействия получается добиться с использованием cryptoloop но это устаревшая система на замену которой собственно пришел dm-crypt + LUKS да и выигрыш не такой существенный, ниже средние результаты тестов.
Практически все тесты проводились в оперативной памяти (если не указано обратное), выделялся блок данных типа /dev/shm/test далее он использовался как блочное устройство возможно это не 100% чистый вариант тестирование, но как показала практика он позволяет быстро выявить самый быстрый способ шифрования доступный в системе без записи / чтения как минимум 10-и гигабайт данных.

dm-crypt luks (с самыми оптимальными настройками -с aes-xts-plain -s 256 в памяти) при выполнении запускается один рабочий процесс kcryptd который использует лишь одно ядро
запись 142 MB/s
чтение 145 MB/s

cryptoloop (loopsetup -e aes -k 128)
запись 133 MB/s
чтение 164 MB/s

cryptoloop (loopsetup -e aes-xts-plain -k 256)
запись 146 MB/s
чтение 156 MB/s

TrueCrypt в памяти
запись 169 MB/c
чтение 127 MB/c

выигрыш по сравнению с dm-crypt есть, правда сомнительный и то в памяти, если операции производить с диском то получаем следующие данные:

запись 128 MB/c
чтение 54,7 MB/c

кроме того, заявлено что truecrypt умеет распараллеливать шифрование между ядрами, но как показала практика запускается один рабочий процесс kcrypd как и в случае с dm-crypt

EncFS работа с диском
запись 55,1 MB/c
чтение 55,6 MB/c

так же и все остальные системы шифрования encfs использует лишь одно ядро, и скорость значительно ниже других испробованных вариантов.

В общем проблема всех систем шифрования которые были испробованы что они используют лишь одно ядро, с использованием 2-х ядер скорость возможно бы приблизилась к приемлемому уровню, правда несомненно уменьшилась бы производительность системы в целом. Так же операции чтения при работе с диском обычно выполняются медленнее чем запись, а без использования шифрования скорость приблизительно равна.

Все указывает на то что для обеспечения приемлемой скорости и разгрузки CPU необходимо аппаратное ускорение шифрования, мне известно только про VIA PadLock, но данной системы вроде бы не существует в природе в виде платы расширения.
Так же мне не удалось найти ни каких иных аппаратных плат расширения увеличивающих быстродействие шифрования.

Суть проблемы / вопроса в том как все же увеличить скорость шифрования.

Очень надеюсь на ваши советы, т.к. свои возможности в этом вопросе я похоже исчерпал.
__________________
Умный не тот кто все знает, а тот кто знает где узнать то чего он не знает.
Life is only what you make it.
Hatifnatt вне форума