Введение
Одним из основных недостатков IDE-RAID контроллеров являлось малое число подключаемых к ним винчестеров. Широко распространённые контроллеры на чипах Promise, HPT и CMD имели всего два канала, к каждому из которых можно было подключить два винчестера. Но два винчестера на одном шлейфе не могли работать одновременно из-за ограничений интерфейса, и скорость такой конфигурации была всегда меньше скорости массива из двух винчестеров, подключенных на разные каналы. Чтобы сделать контроллер, у которого на каждый канал подключался бы всего один винчестер, и число каналов при этом осталось неизменным, можно поставить на плату несколько чипов, объединив их через PCI-мост. По этому пути пошла компания Promise со своим контроллером TX4, на котором установлено два чипа через PCI-мост.
Но бесконечно увеличивать длину платы для установки туда IDE-чипов невозможно (например, плечо у Леонида Ильича закончилось на пятой Звезде Героя...), да и организация работы многочиповых конфигураций - дело непростое.
Фирма 3Ware справилась с этой проблемой просто и элегантно. Как? - сейчас посмотрим.
Контроллер
Вот он, во всей красе, восьмиканальный IDE RAID-контроллер 3Ware 7810:
На удивление, плата имеет очень небольшие размеры. Длина этой PCI64 карты составляет 17,5см, а высота - 10см. По сравнению с Adaptec 2400a, контроллер 3Ware кажется "половинчатым решением", однако это не так. На столь малой площади уместились два IDE-чипа, чип DiskSwitch, два модуля памяти (кэш), чип
микроконтроллера от ST, микросхемы BIOS-а и т.п.
Прежде всего, меня заинтересовали необычные микросхемы памяти:
Оказалось, что это микросхемы SRAM от Samsung, с организацией памяти 128Kx36-bit (
K7N403601A). Объём памяти, как мы можем подсчитать, невелик: две микросхемы по 576Кбайт = 1,125MB. Но небольшой её объём, наверное, компенсируется её скоростью (это не просто SRAM, а NtRAM - память с нулевой длительностью цикла обращения массива).
Чипы DiskSwitch и AccelerATA теперь не несут надписей "Xilinx", но, по сути, это всё те же ПЛИС:
DiskSwitchAccelerATA Точно так же, как и в контроллере 3Ware 6xx0, здесь можно менять прошивку не только BIOS-у контроллера, но и чипам DiskSwitch и AccelerATA. Правда, мне этого делать не пришлось, так как в контроллере уже были прошиты новейшие версии прошивок.
Контроллер рассчитан на использование в PCI 64/33МГц-слоте ( к сожалению, он не работает в PCI 32-слоте!), поддерживает RAID-массивы уровней 0,1,10,5 и JBOD.
Да, про главное-то я сказать забыл! :)
ВОСЕМЬ разъёмов IDE - вот то, ради чего и создан этот контроллер! Вот эти восемь чёрных 40pin разъёмов уже готовы к тому, чтобы к ним подключили восемь 120ГБ винчестеров! При этом максимальная ёмкость массива составит 960ГБ - почти 1ТБ (840ГБ, если мы будем создавать массив с "чётностью")! Причём стоимость такого массива будет намного меньше, чем у SCSI-аналога той же ёмкости.
Дравера и утилиты
Точный список поддерживаемых операционных систем можно уточнить на сайте 3Ware, но сразу могу сказать, что под все основные операционные системы драйвера у этого контроллера есть. :)
Но нас интересовало, что за драйвера и утилиты есть у 3Ware 7810 под Win2000.
Инсталляция драйверов прошла без проблем, и в свойствах контроллера мы увидели следующее:
Одной из "фишек" этого контроллера является то, что если к нему подключены диски, не объединённые в массив, то контроллер автоматически объявляет их JBOD-ами, и они становятся доступными в системе, как одиночные диски. То есть, контроллер можно использовать и как IDE-контроллер.
Он, конечно, будет для такой цели немного дороговат, но зато он занимает всего один PCI64-слот!
А вот так выглядит утилита мониторинга состояния массива - 3DM Management Utility:
* нажмите на картинку, чтобы увеличить К сожалению, утилита может только отображать состояние массива и писать лог, но не занимается созданием массивов или изменением их конфигурации. При желании, утилита сворачивается в трей
и не мешает работе. Но в случае возникновения у массива или одиночного диска каких-либо проблем, программа разворачивается в полный рост и докладывает о возникшей проблеме. Визуальное предупреждение сопровождается звуковыми эффектами, которые по желанию можно отключить.
Взглянув на нижнюю часть окна утилиты 3DM, можно получить полный отчёт о версии фирмваре firmware всех чипов контроллера, версию драйвера и т.п.:
Корзина
Я начал статью с сетований на небольшое количество IDE-каналов у большинства контроллеров, а предыдущий раздел закончил во здравие IDE RAID. Однако не всё так просто! Немного найдётся корпусов с восемью посадочными местами под 3,5 дюйма винчестеры. В прошлом обзоре я показал свой стенд, в котором, кроме системного, работало ещё шесть винчестеров, подключённых к Promise SuperTrak100. Казалось, больше винчестеров в корпус SuperMicro уже не поставишь. Однако нет, это оказалось возможным!
Свершиться этому чуду помогла IDE-корзина на три устройства от 3Ware - MS2231:
Она выполнена целиком из металла и поэтому довольно увесиста. Крепление к корпусу системного блока осуществляется либо стандартными винтами, либо при помощи салазок - именно так я и ставил корзину в корпус SuperMicro (Chieftec) SC-701.
На переднюю панель корзины через гибкий шлейф выведены индикаторы питания и активности для всех трёх винчестеров.
Для того, чтобы винчестеры в корзине "не испеклись в собственном соку", на одной боковой грани корзины установлены два вентилятора Sunon KD1206PHB1.
На задней панели корзины мы можем видеть три разъёма IDE и всего два разъёма питания. То, что для работы трёх устройств в корзине требуется всего два разъёма питания - это очень грамотный ход. При попытке поставить в корпус SC-701 восемь винчестеров, мы сталкиваемся с проблемой нехватки разъёмов питания для них. Проблему эту можно решить разветвителями питания, но любое дополнительное механическое соединение - дополнительный источник проблем. Так что такой способ уменьшить количество коннекторов питания можно только приветствовать.
Вот так выглядит корзина с откинутой передней панелью. Нашему взору предстают три мобайл-река с установленными в них винчестерами и три "замка" питания. Посредством этих "замков" мы можем подключать и отключать питание у винчестеров в корзине.
На этой фотографии мы видим, насколько "плотно" винчестер установлен в мобайл-реке. За счёт этого от винчестера хорошо отводится тепло, и вибрации, возникающие при работе, "гасятся" массивной корзиной.
Для того, чтобы в 2U-отсек поместилось три винчестера, высота мобайл-реков сделана минимально возможной, но такой, что винчестеры всё-таки не касаются друг друга.
Вот так выглядит корзина изнутри, если из неё вынуть все мобайл-реки. Отлично видны ответные разъёмы на доковой станции и n-ное количество конденсаторов.
А вот так выглядит разъём на мобайл-реке:
Сорок восемь контактов - это, конечно, не 64, как на Promise SuperSwap, но всё равно больше, чем на стандартных IDE мобайл-реках.
Ну, на "железки" полюбовались, а теперь приступим к тестам!
Тестовая система
материнская плата - SuperMicro 370DLE
процессор - Intel Coppermine 600MHz;
память - 2*128Mb SDRAM Micron PC133 ECC Registered;
винчестер - Fujitsu MPG3102AT;
видеокарта - Matrox Milennium 4Mb;
операционная система - Windows 2000 Pro SP2;
Методика тестирования
Размер stripe-блока при создании массивов устанавливался в 64КБ. Для тестов в WinBench массивы размечались в FAT32 и NTFS на один раздел с размером кластера по умолчанию.
Тесты проводились по четыре раза, результаты усреднялись. Винчестеры между тестами не охлаждались.
Использовались следующие тесты:
WinBench 99 1.2
IOMeter 1999.10.20
Для IOMeter использовались следующие паттерны:
Паттерны для Intel IOMeter
% of Access Specification | Transfer Size Request | % Reads | % Random
|
---|
File Server Access Pattern
|
10% | 0.5 KB | 80% | 100%
|
5% | 1 KB | 80% | 100%
|
5% | 2 KB | 80% | 100%
|
60% | 4 KB | 80% | 100%
|
2% | 8 KB | 80% | 100%
|
4% | 16 KB | 80% | 100%
|
4% | 32 KB | 80% | 100%
|
10% | 64 KB | 80% | 100%
|
Workstation Access Pattern
|
100% | 8 KB | 80% | 80%
|
Database Access Pattern
|
100 | 8 KB | 67% | 100%
|
RandomWrite
|
100 | 8 KB | 0% | 100%
|
SequentialWrite
|
100% | 256 KB | 0% | 0%
|
RandomRead
|
100% | 8 KB | 100% | 100%
|
SequentialRead
|
100% | 256 KB | 100% | 0%
|
Исследование влияния размера stripe-блока на производительность проводилось на RAID 0 массиве из четырёх винчестеров.
Результаты WinBench 99
Результаты WinBench я привожу в сокращённой форме (надеюсь, Вы понимаете почему :)).
Результаты RAID 0 в WinBench.
| 1HDD | 2HDD | 3HDD | 4HDD | 5HDD | 6HDD | 7HDD | 8HDD
|
---|
Business Disk WinMark 99 | 8285 | 8765 | 9190 | 9735 | 9780 | 9765 | 10200 | 10100
|
High-End Disk WinMark 99 | 26150 | 29750 | 33150 | 36000 | 37100 | 37200 | 39150 | 40350
|
|
Disk Transfer Rate:Beginning | 36600 | 73100 | 110000 | 146000 | 183000 | 192000 | 195000 | 196000
|
Disk Transfer Rate:End | 18100 | 38800 | 57100 | 73300 | 94000 | 115000 | 123000 | 155000 |
* Обратите внимание, что значения трансфера в начале диска (Disk Transfer Rate:Beginning) являются ссылками на графики линейного чтения.
По результатам RAID 0 можно сказать, что RAID 0 на 3ware 7810 как минимум не хуже, чем результаты винчестера на обычном IDE контроллере. C увеличением количества винчестеров, результаты WB растут, но коэффициент пропорции настолько мал, что, на мой взгляд, нет никакого резона использовать RAID 0-конфигурации ради ускорения работы в Windows. Однако при работе с большими файлами ускорение работы произойдёт, и не маленькое. Если мы обратим внимание на графики линейного чтения, то увидим, что скорость чтения растёт прямо пропорционально количеству винчестеров в массиве. Благодаря продуманной внутренней архитектуре контроллера и большой пропускной способности шины PCI 64/33МГц, скорость чтения с массива достигает "потолка" только при подключении шестого винчестера IBM DTLA (начальная скорость чтения с которого составляет 37МБ/сек) и далее растёт уже незначительно. То есть максимальная пропускная способность контроллера составляет примерно 200МБ/сек, что в два раза больше, чем у стандартных PCI 32/33МГц контроллеров.
Результаты RAID 10 в WinBench.
| 1HDD | RAID 1 | RAID 10-4HDD | RAID 10-6HDD | RAID 10-8HDD
|
---|
Business Disk WinMark 99 | 8285 | 7585 | 8585 | 9040 | 9430
|
High-End Disk WinMark 99 | 26150 | 24100 | 28650 | 31100 | 33750
|
|
Disk Transfer Rate:Beginning | 36600 | 62200 | 73200 | 110000 | 146000
|
Disk Transfer Rate:End | 18100 | 29400 | 51500 | 59500 | 78600 |
Обратите внимание на результаты RAID 1-массива. В Winbench99 RAID 1 массив медленнее, чем одиночный винчестер, но по скорости линейного чтения RAID1-массив вдвое превосходит одиночный винчестер. Нам уже
знакома технология TwinStor, при которой запросы на чтение чередуются на два винчестера в RAID 1 массиве. То есть по чтению RAID 1 массив в исполнении 3Ware аналогичен RAID 0 массиву из двух винчестеров. Но, при выполнении операции записи, массив RAID 1 будет всегда медленнее одиночного винчестера, так как контроллер должен сдублировать операции записи на оба винчестера в массиве и дождаться окончания их выполнения. Вероятно, этим и вызвано отставание RAID 1 от одиночного винчестера в WinBench99 (то, что в тестах WB99 присутствуют операции записи, мы уже доказали
здесь).
Ну и, наконец, результаты RAID 5-массива:
Результаты RAID 5 в WinBench.
| 3HDD | 4HDD | 5HDD | 6HDD | 7HDD | 8HDD
|
---|
Business Disk WinMark 99 | 4435 | 5475 | 5320 | 5150 | 5400 | 5355
|
High-End Disk WinMark 99 | 8590 | 10800 | 11750 | 12400 | 12500 | 13250
|
|
Disk Transfer Rate:Beginning | 73200 | 110000 | 145000 | 170000 | 176000 | 185000
|
Disk Transfer Rate:End | 39200 | 57600 | 77100 | 96500 | 116000 | 134000 |
При работе RAID5 массива контроллер выполняет значительно больше дисковых операций, чем при работе с RAID 0 или RAID 1 (теоретически, чтение выполняется без потерь скорости, а каждая операция записи требует чтения двух stripe-блоков (или их кусков) и записи двух блоков. Так что не удивляйтесь низким результатам этого типа массива в тех тестах, где используется запись.
Так оно и вышло - результаты WB в два-три раза хуже, чем у RAID 0-массива, но при линейном чтении RAID выглядит молодцом (я имею в виду результаты Disk Transfer Rate).
Результаты IOMeter
В приведённых ниже таблицах приведены значения Total I/O, то есть значения обработанных контроллером запросов.
Результаты RAID 0 в IOMeter.
| 1HDD | 2HDD | 3HDD | 4HDD | 5HDD | 6HDD | 7HDD | 8HDD
|
---|
FileServer
|
1 | 74,28 | 81,03 | 85,52 | 88,30 | 90,06 | 90,89 | 91,90 | 92,48
|
4 | 74,83 | 117,58 | 156,22 | 186,10 | 210,52 | 230,81 | 246,43 | 259,86
|
16 | 99,54 | 153,42 | 208,59 | 262,09 | 309,51 | 356,72 | 400,05 | 441,08
|
64 | 115,41 | 182,46 | 259,34 | 335,41 | 403,75 | 469,35 | 531,04 | 590,77
|
256 | 138,81 | 225,18 | 321,54 | 412,46 | 500,95 | 586,05 | 670,44 | 750,00
|
WorkStation
|
1 | 89,59 | 94,95 | 99,34 | 101,47 | 102,79 | 104,00 | 104,66 | 104,88
|
4 | 90,13 | 138,98 | 179,25 | 209,52 | 231,58 | 251,70 | 264,48 | 276,56
|
16 | 114,80 | 178,35 | 242,50 | 305,22 | 356,96 | 410,25 | 455,79 | 502,07
|
64 | 131,69 | 213,18 | 303,19 | 390,85 | 468,76 | 544,91 | 615,97 | 684,13
|
256 | 156,43 | 260,05 | 371,01 | 475,02 | 576,48 | 676,32 | 769,71 | 863,18
|
DataBase
|
1 | 74,47 | 85,48 | 93,30 | 97,89 | 100,39 | 102,93 | 104,41 | 106,10
|
4 | 74,83 | 120,38 | 161,68 | 195,51 | 222,73 | 246,58 | 264,14 | 279,53
|
16 | 97,96 | 155,33 | 213,55 | 269,91 | 318,35 | 369,70 | 414,29 | 457,35
|
64 | 114,47 | 185,61 | 263,31 | 340,26 | 409,74 | 476,97 | 540,96 | 601,25
|
256 | 138,08 | 231,48 | 329,95 | 424,40 | 512,44 | 601,78 | 684,68 | 764,25
|
RandomWrite
|
1 | 102,13 | 164,84 | 235,39 | 312,64 | 377,54 | 453,42 | 517,71 | 583,98
|
4 | 101,58 | 166,57 | 239,93 | 320,82 | 390,89 | 465,95 | 535,84 | 604,69
|
16 | 102,50 | 171,00 | 247,93 | 332,34 | 407,61 | 489,52 | 563,49 | 641,42
|
64 | 104,82 | 175,40 | 257,76 | 344,92 | 422,50 | 509,56 | 585,21 | 667,16
|
256 | 140,26 | 218,85 | 302,76 | 389,17 | 459,23 | 543,32 | 619,56 | 695,28
|
SequentialWrite
|
1 | 109,66 | 182,73 | 280,04 | 333,11 | 417,40 | 458,87 | 456,65 | 459,23
|
4 | 109,81 | 181,03 | 274,34 | 332,70 | 423,91 | 484,48 | 520,27 | 521,43
|
16 | 109,73 | 180,04 | 271,88 | 332,61 | 429,56 | 484,39 | 521,47 | 521,42
|
64 | 109,23 | 179,88 | 270,66 | 332,10 | 427,56 | 484,71 | 520,99 | 522,72
|
256 | 98,13 | 167,77 | 261,23 | 313,70 | 419,67 | 474,45 | 518,11 | 518,45
|
RandomRead
|
1 | 77,32 | 77,84 | 78,26 | 78,30 | 78,29 | 78,49 | 78,65 | 78,68
|
4 | 77,57 | 125,14 | 163,37 | 191,51 | 210,44 | 225,73 | 236,71 | 245,77
|
16 | 103,59 | 165,05 | 224,59 | 282,05 | 331,20 | 379,85 | 422,93 | 463,13
|
64 | 120,21 | 199,48 | 283,22 | 364,61 | 439,24 | 510,23 | 574,08 | 637,20
|
256 | 144,79 | 242,66 | 346,13 | 446,71 | 538,35 | 634,86 | 722,38 | 808,19
|
SequentialRead
|
1 | 111,29 | 222,93 | 314,64 | 417,92 | 454,05 | 508,41 | 551,11 | 577,39
|
4 | 111,17 | 223,22 | 334,19 | 445,70 | 551,30 | 646,49 | 695,69 | 727,54
|
16 | 111,46 | 223,14 | 334,46 | 445,04 | 554,77 | 647,10 | 693,27 | 728,23
|
64 | 111,20 | 222,69 | 333,84 | 443,42 | 554,73 | 647,35 | 696,55 | 718,01
|
256 | 110,07 | 221,28 | 329,84 | 437,72 | 549,40 | 643,35 | 693,90 | 729,40
|
Результаты RAID 10 в IOMeter.
| 1HDD | RAID 1 | RAID 10-4HDD | RAID 10-6HDD | RAID 10-8HDD
|
---|
FileServer
|
1 | 74,28 | 81,45 | 88,25 | 93,01 | 95,90
|
4 | 74,83 | 123,27 | 183,21 | 226,59 | 257,23
|
16 | 99,54 | 148,10 | 232,78 | 320,98 | 403,71
|
64 | 115,41 | 163,67 | 271,94 | 387,79 | 499,47
|
256 | 138,81 | 209,49 | 340,29 | 481,00 | 619,79
|
WorkStation
|
1 | 89,59 | 95,99 | 101,71 | 105,60 | 108,44
|
4 | 90,13 | 143,17 | 204,50 | 245,96 | 273,96
|
16 | 114,80 | 166,65 | 266,19 | 365,23 | 454,41
|
64 | 131,69 | 184,78 | 312,75 | 443,10 | 574,45
|
256 | 156,43 | 234,03 | 383,94 | 543,22 | 702,95
|
DataBase
|
1 | 74,47 | 79,13 | 90,48 | 97,90 | 103,08
|
4 | 74,83 | 110,77 | 172,41 | 218,12 | 252,03
|
16 | 97,96 | 126,62 | 213,04 | 297,84 | 376,21
|
64 | 114,47 | 141,93 | 239,41 | 342,82 | 445,12
|
256 | 138,08 | 186,09 | 311,31 | 439,58 | 562,73
|
RandomWrite
|
1 | 102,13 | 94,47 | 162,67 | 230,04 | 301,93
|
4 | 101,58 | 94,61 | 165,62 | 235,59 | 311,69
|
16 | 102,50 | 95,67 | 170,21 | 245,22 | 324,46
|
64 | 104,82 | 97,71 | 173,94 | 247,79 | 336,71
|
256 | 140,26 | 132,62 | 215,76 | 281,52 | 375,84
|
SequentialWrite
|
1 | 109,66 | 96,13 | 167,27 | 213,21 | 210,31
|
4 | 109,81 | 94,91 | 167,05 | 231,30 | 246,93
|
16 | 109,73 | 93,59 | 167,08 | 231,90 | 244,79
|
64 | 109,23 | 91,98 | 167,56 | 232,60 | 243,37
|
256 | 98,13 | 91,36 | 166,47 | 231,50 | 243,19
|
RandomRead
|
1 | 77,32 | 91,01 | 90,16 | 90,03 | 90,35
|
4 | 77,57 | 156,46 | 233,54 | 270,57 | 289,91
|
16 | 103,59 | 203,07 | 324,80 | 442,97 | 548,04
|
64 | 120,21 | 226,59 | 387,81 | 557,81 | 714,01
|
256 | 144,79 | 265,24 | 451,00 | 646,49 | 839,10
|
SequentialRead
|
1 | 111,29 | 115,54 | 223,72 | 314,86 | 412,44
|
4 | 111,17 | 180,22 | 298,49 | 401,69 | 458,47
|
16 | 111,46 | 197,84 | 361,45 | 524,09 | 562,11
|
64 | 111,20 | 188,62 | 371,28 | 539,49 | 596,79
|
256 | 110,07 | 195,52 | 355,33 | 537,91 | 590,92
|
Результаты RAID 5 в IOMeter.
| 3HDD | 4HDD | 5HDD | 6HDD | 7HDD | 8HDD
|
---|
FileServer
|
1 | 67,69 | 69,18 | 70,00 | 70,25 | 71,13 | 71,36
|
4 | 103,03 | 123,86 | 139,50 | 153,49 | 167,66 | 175,68
|
16 | 119,81 | 155,65 | 186,95 | 217,99 | 247,27 | 272,97
|
64 | 133,72 | 171,70 | 208,60 | 246,95 | 285,58 | 318,50
|
256 | 184,54 | 236,18 | 287,78 | 334,37 | 381,86 | 424,68
|
WorkStation
|
1 | 78,11 | 79,48 | 80,25 | 80,69 | 81,55 | 81,09
|
4 | 113,67 | 134,14 | 150,56 | 166,12 | 177,78 | 187,68
|
16 | 133,15 | 168,73 | 200,71 | 233,22 | 263,68 | 288,93
|
64 | 152,19 | 195,62 | 232,96 | 270,13 | 307,40 | 341,64
|
256 | 197,88 | 251,54 | 302,37 | 350,96 | 397,11 | 439,22
|
DataBase
|
1 | 63,49 | 64,31 | 65,79 | 66,92 | 67,37 | 67,61
|
4 | 85,62 | 104,07 | 119,43 | 132,06 | 144,05 | 153,25
|
16 | 97,85 | 127,58 | 153,60 | 179,93 | 205,41 | 225,83
|
64 | 105,61 | 137,66 | 166,40 | 196,05 | 225,41 | 250,17
|
256 | 149,83 | 190,92 | 231,21 | 270,63 | 305,82 | 340,06
|
RandomWrite
|
1 | 44,17 | 46,34 | 48,23 | 49,71 | 51,00 | 51,66
|
4 | 43,26 | 53,72 | 62,56 | 70,84 | 78,10 | 84,97
|
16 | 46,67 | 61,78 | 74,62 | 87,27 | 99,91 | 111,03
|
64 | 51,22 | 65,71 | 78,30 | 91,36 | 103,63 | 114,36
|
256 | 73,18 | 92,62 | 112,19 | 129,62 | 147,42 | 164,07
|
SequentialWrite
|
1 | 29,66 | 33,83 | 35,15 | 40,35 | 46,09 | 47,24
|
4 | 129,59 | 72,94 | 157,90 | 72,64 | 84,98 | 86,79
|
16 | 126,65 | 123,69 | 200,78 | 150,19 | 166,46 | 167,15
|
64 | 121,05 | 122,87 | 194,19 | 150,69 | 165,66 | 166,51
|
256 | 121,54 | 122,56 | 194,57 | 150,31 | 165,77 | 165,77
|
RandomRead
|
1 | 78,24 | 78,30 | 78,06 | 78,34 | 78,69 | 78,31
|
4 | 165,20 | 190,82 | 210,33 | 225,24 | 236,88 | 244,80
|
16 | 228,22 | 281,65 | 330,48 | 379,03 | 422,38 | 463,15
|
64 | 287,57 | 364,26 | 437,76 | 508,16 | 576,22 | 637,33
|
256 | 348,89 | 442,66 | 538,00 | 630,11 | 724,09 | 806,18
|
SequentialRead
|
1 | 197,45 | 292,50 | 341,34 | 360,50 | 443,41 | 517,30
|
4 | 223,66 | 331,17 | 441,59 | 535,22 | 632,79 | 687,73
|
16 | 223,67 | 323,48 | 444,44 | 551,06 | 642,95 | 682,94
|
64 | 223,70 | 324,53 | 443,06 | 554,36 | 648,83 | 686,61
|
256 | 222,08 | 328,68 | 440,20 | 548,49 | 644,71 | 678,88
|
Прямо и не знаю, нужны Вам мои комментарии или нет... :)
Для того чтобы понять, как соотносятся скорости различных RAID массивов и как скорость каждого типа массива зависит от количества винчестеров в нём, рассмотрим следующие диаграммы (в диаграммах рассматриваются значения Total I/O при максимальной нагрузке).
Начнём мы с паттерна Fileserver:
При взгляде на диаграмму, среди прочих положительных моментов, отмечаем прежде всего то, что скорость всех массивов линейно зависит от количества дисков. С соотношением скоростей массивов всё ещё проще. Быстрее всего работает RAID 0 (но нужно помнить о том, что этот тип RAID-массива обладает наименьшей надёжностью), на втором месте - RAID 10, а RAID 5 в данной группе самый медленный тип массива. Отметим также, что результаты RAID 1 "укладываются" на мысленное продолжение графика RAID10-массива.
Никаких кардинальных изменений в графиках нет, но результаты массивов немного выше, чем в паттерне Fileserver.
Увеличение доли запросов на запись до 33% ухудшает результаты RAID10 и RAID 5 массивов. Особенно это сказывается на скорости RAID 5.
Самый тяжёлый паттерн для RAID 10 и RAID 5 массивов. Так как у контроллера 3Ware нет кэш-буфера большого объёма, то ему очень трудно организовывать отложенную запись при случайном характере обращений к массиву.
В этом паттерне мы испытываем контроллер на способность "прокачать" через себя большие объёмы информации. Судя по графикам, он справляется с этой задачей неплохо. Максимальная скорость записи (при работе с RAID0) соcтавила примерно 130МБ/сек. Результаты RAID 10 немного скромнее - 61МБ/сек на восьми винчестерах, то есть почти в два раза медленнее! Ещё бы, ведь контроллеру приходилось дублировать информацию на зеркальные винчестеры. Ещё меньше результаты у RAID 5 - всего 41МБ/сек. Причём во всех типах массива явственно видно, как при максимальном количестве винчестеров наступает "насыщение". Т.е. можно сказать, что восемь таких быстрых винчестеров, как IBM DTLA, полностью загружают шину контроллера при таком характере нагрузки.
При случайном чтении контроллер показывает блестящие результаты. Скорость любого типа массива практически одинакова и все типы массивов масштабируются с одинаковой эффективностью.
При последовательном чтении мы опять наблюдаем "насыщение" контроллера при большом количестве винчестеров в массиве. Чтобы оценить, на каких скоростях происходит это насыщение, переведём значения Total I/O в МБ/сек. Сделать это очень просто: размер обрабатываемого блока в этом паттерне составляет 256КБ. То есть для того, чтобы получить МБ/сек, достаточно разделить результат контроллера в Total I/O на 4.
Совершив эту несложную арифметическую операцию, получаем
очень интересную картину! Если присмотреться к графикам RAID 0 и RAID 5 внимательно, то можем заметить, что график RAID 5 повторяет график RAID0, но как бы сдвинут относительно него по оси X (на один винчестер). Что в точности соответствует теории! Ведь в RAID 5 часть блоков на каждом винчестере используется под хранение контрольной суммы (эти блоки "вычленяются" из полезного объёма винчестера и не участвуют в процессе чтения).
По результатам тестирования в IOMeter, контроллер продемонстировал хорошие способности к масштабированию и сбалансированность своей архитектуры.
Но так как тестирование контроллера с одним размером stripe-блока не может полностью выявить все способности контроллера, то мы решили провести ещё одно небольшое исследование.
Влияние размера Stripe block
В предыдущем обзоре IDE RAID-контроллера размер stripe-блока довольно сильно влиял на скорость контроллера в некоторых паттернах. Но сейчас мы тестируем совершенно другой контроллер с другим диапазоном размеров stripe-блока. Интересно, измениться ли найденная закономерность?
На всякий случай напоминаю, что эти тесты проводились на RAID 0-массиве из четырёх винчестеров.
По всей видимости, нет. Правило "чем больше размер stripe-блока, тем лучше" действует и на этом контроллере.
Можно, конечно, долго и нудно говорить, что в этом паттерне быстрее всего массив работает на размере stripe-блока в 128К, а на этом паттерне - на 1024K, но Вы и сами всё видите...
Как правило, быстрее всего массив работает при размере stripe-блока 1024K.
Исключением из этого правила являются результаты в паттерне SequentialRead при линейной нагрузке. Если мы бросим взгляд на диаграмму, то увидим, что большой размер stripe-блока отрицательно влияет на скорость чтения с массива при линейной нагрузке. Отчего же это может быть? Смотрите: размер блока данных, который читается с массива при каждом запросе, составляет 256КБ. Если размер stripe-блока равен 64К, то каждый из четырёх винчестеров в массиве при отработке запроса читает 256/4=64КБ. То есть винчестеры работают одновременно, или "параллельно". При увеличении размера stripe-блока в обработке запроса на запись участвует уже меньшее количество винчестеров (128K – два винчестера, 256K – один). Естественно, скорость чтения с массива при этом уменьшается пропорционально.
При увеличении длины очереди запросов контроллер меняет порядок выполнения команд и находит работу для каждого винчестера массива. Скорость чтения под большой нагрузкой уже не зависит от размера stripe-блока, а зависит только от пропускной способности контроллера или винчестеров.
Надёжность
Для проверки способности контроллера восстанавливать работоспособность массива при отказе одиночного диска были смоделированы аварийные ситуации в RAID 10 и RAID 5 массивах из четырёх дисков.
Время ребилда массивов RAID 10 и RAID 5 составило примерно 10 минут, что пока является рекордом для IDE RAID-контроллеров.
Выводы
Контроллер 3Ware 7810 показал отличную функциональность и прекрасную масшабируемость от количества подключённых винчестеров. Так как этот контроллер имеет 8 IDE каналов, то он идеально подходит для создания дисковых подсистем большой ёмкости. Учитывая всё возрастающие объёмы IDE-дисков и снижение цены за 1ГБ информации на них, дисковая подсистема на IDE становится всё привлекательнее с точки зрения стоимости. Хочется отметить также, что 3Ware предлагает не только контроллеры, но и качественные HS-корзины формата 2U, которые так и просятся в 2U NAS-устройства.
Итак:
Плюсы
отличное быстродействие;
прекрасная масштабируемость;
большое количество IDE-каналов;
высокая пропускная способность контроллера (PCI64!!!);
небольшие размеры;
поддержка HotSwap и HotSpare;
Минусы
отсутствие возможности создания/модификации массива из-под операционной системы
К вышесказанному хочется добавить только несколько слов. Контроллер 3Ware 7810 не просто уникален тем, что умеет работать с восемью IDE винчестерами, но он ещё и делает это отлично! Сбалансированная архитектура контроллера позволяет ему с успехом справляться и с серверной нагрузкой и с потоковым чтением/записью. В общем, рекомендуется профессионалам... :)
Благодарим компанию
Альянс за предоставленные на тестирование контроллер 3Ware 7810 и HS-корзину 3Ware MS2231.