У меня есть блок памяти с 2 объединительными платами. Одна объединительная плата вмещает 24 диска, одна объединительная панель вмещает 12 дисков. Каждая объединительная плата независимо подключается к порту SFF-8087 (4 канала / 12 Гбит) рейдовой карты.
Вот тут-то и возникает мой вопрос. Может ли объединительная плата быть перегружена? Все диски в машине представляют собой диски WD RE4 WD1003FBYX (черные) со средней скоростью записи 115 МБ / с и средней скоростью чтения 125 МБ / с.
Я знаю, что все будет варьироваться в зависимости от рейда или файловой системы, которую мы ставим поверх этого, но похоже, что объединительная плата на 24 диска только с одним разъемом SFF-8087 должна быть в состоянии перегрузить шину до точки, которая может действительно замедлить ее ?
Исходя из моих расчетов, если бы у меня был RAID0 на всех 24 дисках и я запросил большой файл, теоретически я должен был бы получить 24 * 115 МБ / с, что соответствует 22,08 ГБит / с общей пропускной способности.
Либо я сбит с толку, либо эта объединительная плата ужасно спроектирована - по крайней мере, для среды, основанной на производительности.
Я собираюсь перейти на модель, в которой каждый диск имеет свой собственный канал от объединительной платы (и новый HBA или рейд-карта).
РЕДАКТИРОВАТЬ: подробнее
Мы использовали как чистый linux (centos), так и open solaris, программный рейд, аппаратный рейд, EXT3 / 4, ZFS.
Вот несколько примеров использования bonnie ++
4-х дисковый RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
194MB/s 19% 92MB/s 11% 200MB/s 8% 310/sec
194MB/s 19% 93MB/s 11% 201MB/s 8% 312/sec
--------- ---- --------- ---- --------- ---- ---------
389MB/s 19% 186MB/s 11% 402MB/s 8% 311/sec
8 дисковых RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
324MB/s 32% 164MB/s 19% 346MB/s 13% 466/sec
324MB/s 32% 164MB/s 19% 348MB/s 14% 465/sec
--------- ---- --------- ---- --------- ---- ---------
648MB/s 32% 328MB/s 19% 694MB/s 13% 465/sec
12 дисковых RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
377MB/s 38% 191MB/s 22% 429MB/s 17% 537/sec
376MB/s 38% 191MB/s 22% 427MB/s 17% 546/sec
--------- ---- --------- ---- --------- ---- ---------
753MB/s 38% 382MB/s 22% 857MB/s 17% 541/sec
Теперь 16 Disk RAID-0, становится интересно
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
359MB/s 34% 186MB/s 22% 407MB/s 18% 1397/sec
358MB/s 33% 186MB/s 22% 407MB/s 18% 1340/sec
--------- ---- --------- ---- --------- ---- ---------
717MB/s 33% 373MB/s 22% 814MB/s 18% 1368/sec
20 дисковых RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
371MB/s 37% 188MB/s 22% 450MB/s 19% 775/sec
370MB/s 37% 188MB/s 22% 447MB/s 19% 797/sec
--------- ---- --------- ---- --------- ---- ---------
741MB/s 37% 376MB/s 22% 898MB/s 19% 786/sec
24 дисковых RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
347MB/s 34% 193MB/s 22% 447MB/s 19% 907/sec
347MB/s 34% 192MB/s 23% 446MB/s 19% 933/sec
--------- ---- --------- ---- --------- ---- ---------
694MB/s 34% 386MB/s 22% 894MB/s 19% 920/sec
(кто-нибудь начинает видеть здесь образец?) :-)
28 Дисковый RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
358MB/s 35% 179MB/s 22% 417MB/s 18% 1105/sec
358MB/s 36% 179MB/s 22% 414MB/s 18% 1147/sec
--------- ---- --------- ---- --------- ---- ---------
717MB/s 35% 359MB/s 22% 832MB/s 18% 1126/sec
32-дисковый RAID-0, ZFS
WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS
354MB/s 35% 190MB/s 22% 420MB/s 18% 1519/sec
354MB/s 35% 190MB/s 22% 418MB/s 18% 1572/sec
--------- ---- --------- ---- --------- ---- ---------
708MB/s 35% 380MB/s 22% 838MB/s 18% 1545/sec
Подробнее:
Вот точная единица:
http://www.supermicro.com/products/chassis/4U/847/SC847E16-R1400U.cfm
Не зная, какое именно оборудование вы используете, максимальная пропускная способность двух SAS SFF-8087 составляет 24 Гбит / с или 3 Гбит / с; но многие комбинации контроллеров и расширителей на самом деле не будут правильно использовать все 4 канала в SFF-8087, и вы получите примерно одну ссылку (0,75 Гбит / с).
Учитывая ваши показатели производительности, я рискну предположить, что так оно и есть.
Приведенные вами средние скорости диска, вероятно, подходят для высокопоследовательных операций в лучших условиях. Если ваша рабочая нагрузка случайна, говорите намного хуже (я серьезно).
Кабели SFF-8087 имеют только 4 канала, и вы можете существенно перегрузить их с помощью чтения / записи 4 дисков на максимальной скорости. Дело в том, что вы обычно не делаете это все время, и поэтому SuperMicro использует расширители LSI в версиях E1 / E2 своих шасси.
Если вам постоянно нужна максимальная производительность, вам необходимо подключить каждый диск к одному порту SAS на ваших контроллерах. Большинство контроллеров имеют 4, 8 или 16 портов, так что вам нужно сделать вычисления и добавить дополнительные контроллеры для поддержки 36 дисков. Шасси SuperMicro в версии TQ позволяет вам иметь такой доступ к вашим дискам.
Производительность Raw IOPS зависит от того, на каком устройстве вы ориентируетесь. HBA-адаптеры LSI обычно имеют характеристики> 250 тыс. Операций ввода-вывода в секунду, в то время как диски SATA - 100–120, SAS - немного больше, а средние твердотельные накопители Intel - 3000 операций ввода-вывода в секунду (сильно зависит от размера вашего блока).
Вы должны понимать, какую рабочую нагрузку вы возьмете на эту машину, иначе вы чрезмерно выделите не те ресурсы. Сосредоточение внимания на чистой последовательной скорости с каждым диском, имеющим свой собственный канал к контроллеру, не поможет, если ваша рабочая нагрузка очень случайна и вам нужно больше операций ввода-вывода в секунду с диска / SSD.
Я думал о приобретении такого же устройства, но теперь, учитывая производительность, которую вы получаете, лучше подумать дважды.
С другой стороны, какой рейд-контроллер вы используете? Потому что я где-то еще читал, что эти объединительные платы LSI не слишком хорошо работают с рейдовыми картами, отличными от LSI.
Что касается теоретической производительности: для объединительной платы с 24 дисками у вас должно быть (SAS2) 6 Гбит x 4 = 24 Гбит, что составляет 1 Гбит на диск. Используя ту же математику, вы должны получить 2 Гбит на диск с другой объединительной платой. Теперь 1 Гбит на диск означает ... 80 МБ / с? Так что 2 Гбит будет более чем достаточно, чтобы диск стал узким местом. Так:
(80 МБ / с * 24) + (125 МБ / с * 12) = 3420 МБ / с
Я знаю, что это чисто теоретически, и никто не ожидал таких цифр в реальном мире ... но вы получаете ~ 10%. Вам лучше проверить эту проблему с помощью Supermicro или LSI, потому что это очень странно.