Jaguar77 Опубликовано 3 ноября, 2013 · Жалоба Здравствуйте ! Есть необходимость в криптованном RAID 5 из 3х 2Тб дисков. Сначала собрал в линуксе софтовый RAID 5, скоростью остался очень доволен ( порядка 170-190 Мб в сек ). Поверх него делал truecrypt, LUKS и просто чз cryptsetup разделы и получал скорость не более 20-30 Мб в сек... Вычитал в гугле что процесс kcryptd однопоточный и из за этого может быть низкая скорость. Удалил первоначальный RAID 5 и сделал чз LUKS 3 шифрованных контейнера..... Получил 3 процесса kcryptd. Начал собирать RAID 5 из этих контейнеров и получаю скорость сборки 30 Мб в сек.... UPD (echo 32768 > /sys/block/md5/md/stripe_cache_size дало увеличение скорости на 20Мб в сек , текущая скорость resync 50-55 Мб в сек ) Вопрос - реально ли сделать шифрованный RAID 5 с нормальной скоростью (хотя бы 100 Мб в сек на чтение и запись ) ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 3 ноября, 2013 · Жалоба А вам есть что прятать? :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 3 ноября, 2013 · Жалоба :-) Приказ руководства. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 4 ноября, 2013 · Жалоба Все зависит имхо от типа шифрования, битности ядра (64 ессно лучше) и поддерживаемых инструкций (AES-NI например). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 4 ноября, 2013 · Жалоба В общем resync завершился. dd if=/dev/md5 of=/dev/null bs=512K count=4096 4096+0 records in 4096+0 records out 2147483648 bytes (2.1 GB) copied, 19.8668 s, 108 MB/s dd if=/dev/zero of=/dev/md5 bs=512k count=4096 4096+0 records in 4096+0 records out 2147483648 bytes (2.1 GB) copied, 24.1219 s, 89.0 MB/s Каждый процесс kcryptd нагружает каждое ядро на 100% . Так что проблемма низкой скорости шифрованных дисков в 1)kcryptd не многопоточный 2)kcryptd очень сильно нагружает процессор. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aliech Опубликовано 4 ноября, 2013 (изменено) · Жалоба Мне кажется, или кол-во обращений к md устройству меньше, чем обращений к физ. дискам, так как рейд их ещё служебной инфой грузит? Тогда почему же не делать шифрование md устройства? Изменено 4 ноября, 2013 пользователем Aliech Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orlik Опубликовано 4 ноября, 2013 · Жалоба Мне кажется, или кол-во обращений к md устройству меньше, чем обращений к физ. дискам, так как рейд их ещё служебной инфой грузит? Тогда почему же не делать шифрование md устройства? помоему ТС с этого и начал Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
srg555 Опубликовано 4 ноября, 2013 · Жалоба посмторите в сторону hw решений. http://en.wikipedia.org/wiki/Hardware-based_full_disk_encryption Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vitalyb Опубликовано 4 ноября, 2013 · Жалоба Так если процессора не хватает, может надо побыстрей проц поставить? ) X3330, только что посмотрел, как раз около 100М и выдает без какого-то либо тюнинга и с древним ядром... Как вариант можно использовать менее ресурсоемкий шифр, вроде блоуфиша. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 4 ноября, 2013 · Жалоба Процессора хватает.... Quad-Core AMD Opteron Processor 2376 (2.3 Ghz) Tasks: 229 total, 1 running, 228 sleeping, 0 stopped, 0 zombie Cpu0 : 0.0%us, 28.6%sy, 0.0%ni, 71.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 22.3%sy, 0.0%ni, 71.9%id, 0.0%wa, 0.0%hi, 5.8%si, 0.0%st Cpu2 : 0.3%us, 26.5%sy, 0.0%ni, 73.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 25.6%sy, 0.0%ni, 74.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8190896k total, 8021300k used, 169596k free, 35120k buffers Swap: 0k total, 0k used, 0k free, 7527140k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6224 root 20 0 0 0 0 S 27.2 0.0 55:19.80 kcryptd 6264 root 20 0 0 0 0 S 26.8 0.0 55:30.38 kcryptd 6244 root 20 0 0 0 0 S 26.5 0.0 55:23.21 kcryptd 6271 root 20 0 0 0 0 S 15.9 0.0 30:16.54 md5_raid5 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aliech Опубликовано 4 ноября, 2013 · Жалоба Мне кажется, или кол-во обращений к md устройству меньше, чем обращений к физ. дискам, так как рейд их ещё служебной инфой грузит? Тогда почему же не делать шифрование md устройства? помоему ТС с этого и начал Да, только не написано пробовал ли он увеличить буфер в этом случае. Только во втором. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 4 ноября, 2013 · Жалоба Да пробовал. В первом случае ( когда шифрование поверх RAID ) скорость RAID отличная, а вот скорость шифрованного контейнера очень низкая. Сейчас вот, 3 LUKS контейнера обьеденые в RAID 5 + ext4 дают скорость чтения 80 Мб в сек, и записи 60 Мб в сек. benchmark truecrypt показывает скорость шифрования AES 140 Мб в сек и загружает 1 ядро. Думаю проблемма в том что алгоритмы шифрования однопоточные. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 4 ноября, 2013 · Жалоба Используя AES-NI можно сильно увеличить скорость шифрования. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 4 ноября, 2013 · Жалоба Может кто подскажет более быстрый метот шифрования, который поддерживает LUKS ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aliech Опубликовано 4 ноября, 2013 (изменено) · Жалоба Да пробовал. В первом случае ( когда шифрование поверх RAID ) скорость RAID отличная, а вот скорость шифрованного контейнера очень низкая. Сейчас вот, 3 LUKS контейнера обьеденые в RAID 5 + ext4 дают скорость чтения 80 Мб в сек, и записи 60 Мб в сек. benchmark truecrypt показывает скорость шифрования AES 140 Мб в сек и загружает 1 ядро. Думаю проблемма в том что алгоритмы шифрования однопоточные. Ну тогда я не уверен, что можно сделать лучше, чем есть таким путём. ОК... А если увеличить кол-во дисков? Или выбрать алгоритм с меньшим кол-вом служебной инфы. Например raid10. Четыре потока на выходе... Больше дисков - больше потоков. Изменено 4 ноября, 2013 пользователем Aliech Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 4 ноября, 2013 · Жалоба Я так понимаю раид 10 на 4-х дисках с шифрацией каждого диска - шифроваться будет 2 раза одно и тоже ? диски то - зеркала. тогда шифровать надо в промежутке между 0 и 1. но только 2 потока. Вообще в условии задачи диска 3 :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 5 ноября, 2013 · Жалоба :-) Еще вариант добавить скорости - добавить еще 1 процессор (материнка позоляет) и добавить дисков....прибавка на каждый диск будет примерно 30-35 Мб Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Bloodoff Опубликовано 5 ноября, 2013 · Жалоба А почему вы игнорируете рекомендации использовать процессор с AES инструкциями processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel® Xeon® CPU E31220 @ 3.10GHz stepping : 7 microcode : 0x28 cpu MHz : 1674.000 cache size : 8192 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid bogomips : 6199.99 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual без RAID около 100Mb/sec, ядро естественно свежее, модули шифрования с поддержкой аппаратного ускорения Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 5 ноября, 2013 · Жалоба К сожалению возможности заменить процессор нет. Да и под Socket F с поддержкой AES-NI ничего нет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aliech Опубликовано 6 ноября, 2013 · Жалоба ОК, у вас есть четыре ядра. Нужно больше дисков, и, может быть, случится счастье. Только собирать нужно не raid10, а четыре пары шифрованных md (mirror) в stripe. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 13 ноября, 2013 · Жалоба loop-AES Даёт намного лучшую скорость (может на 5-10% меньше raw чтения/записи), но io-wait увеличивается в 2 раза и размазывается по 2м ядрам.... Total DISK READ: 87.21 M/s | Total DISK WRITE: 27.50 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 20043 be/0 root 6.37 M/s 0.00 B/s 0.00 % 1.55 % [loop0] 20080 be/4 root 80.72 M/s 0.00 B/s 0.00 % 0.00 % dd if=/dev/loop0 of=/dev/null bs=1M count=4096 Сделал так: losetup -e aes /dev/loop0 /dev/sdc1 Еще заметил что сильно вырос iowait на kernel-3.12 по сравнению с 2.6.32-358.23.2.el6.centos.plus.x86_64 при использовании dm-crypt. IO-WAIT растёт на всех ядрах, когда на старом ядре, только на одном... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jaguar77 Опубликовано 13 ноября, 2013 · Жалоба В новых ядрах добавили многопоточность в dm-crypt и сделали только хуже. При чтении с шифрованного раздела всё почти хорошо.Грузит одно ядро, и 60 - 80% жрёт IOWAIT. Idle = 0; ( но загружено одно ядро, остальные свободны) dd if=/dev/mapper/truecrypt1 of=/dev/null bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 17.603 s, 61.0 MB/s При записи основным потребителем процессора является kworker. Все процессоры загружены 100% (60 - 80% жрёт IOWAIT) dd of=/dev/mapper/truecrypt1 if=/dev/zero bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 43.7984 s, 24.5 MB/s Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
^rage^ Опубликовано 13 ноября, 2013 · Жалоба Процессора хватает.... Quad-Core AMD Opteron Processor 2376 (2.3 Ghz) не умеет он aes-ni. возьмите какой-то нормальный cpu, а не 5-летней давности :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...