Тесты масштабирования RAID 5: от трёх до восьми приводов
Технологии жёстких дисков становятся всё лучше и всё дешевле. Достаточно быстро шина PCI Express, память DDR2 и жёсткие диски Serial ATA с NCQ и объёмом 400 Гбайт распространятся повсеместно. В любом случае, жёсткий диск является “ахиллесовой пятой” компьютера, поскольку это электромеханический компонент, обладающий относительно высокой вероятностью сбоя. Кроме того, это один из самых медленных элементов внутри ПК.
Кроме всех прочих упомянутых факторов, сбой жёсткого диска приводит к более тяжким последствиям, чем выход из строя любого другого компонента. Если дефектные модули памяти или сожжённую графическую карту можно легко заменить, то крах жёсткого диска унесёт с собой все нужные данные, и восстановить их смогут только специалисты.
Сегодня все компании и пользователи, беспокоящиеся о сохранности данных, регулярно выполняют резервирование. В то же время, проблема заключается не только в возможности восстановления битов и байтов, но и во времени, которое уходит на устранение любого аппаратного дефекта. Ведь сервер не должен простаивать ни минуты.
Таким образом, мы приходим к необходимости реализации дискового массива – единственного проверенного и надёжного способа компенсировать сбой одного жёсткого диска. В простейшем случае можно развернуть зеркалирование RAID 1, которое использует два жёстких диска одновременно. Если один из них выйдет из строя, то второй останется доступен. В то же время, массивы могут обеспечить ещё и рост производительности и объёма дисковой подсистемы, поэтому решение RAID 5 нам кажется более привлекательным.
Универсальное решение: RAID 5
Эта иллюстрация взята с упаковки контроллера Promise.
Массив RAID 5 требует не менее трёх жёстких дисков, при этом работа с ними ведётся практически одновременно. Для обеспечения надёжности хранения данных к каждому информационному блоку добавляется информация избыточности (parity), которая записывается поочерёдно на один из жёстких дисков.
Возникает вопрос: а каково идеальное число приводов? Большее число приводов, в целом, означает увеличенный риск сбоев, а также повышенные требования по энергопотреблению. В то же время, малое число приводов обеспечивает слишком низкую производительность. Чтобы ответить на этот вопрос, мы протестировали все конфигурации, вплоть до восьми жёстких дисков.
Системные компоненты | |
Процессоры | Dual Intel Pentium 4 Xeon, 2,8 ГГц, кэш 512 кбайт, FSB 533 |
Память | 2x 512 Мбайт PC2100 Registered ECC, Samsung |
Материнская плата | Asus PP-DLW, Rev. 1.03 чипсет Intel E7505 |
Графическая карта | Matrox Millennium G450, AGP, 32 MB |
Подсистема накопителей | |
Системный жёсткий диск | Western Digital WD1200JB, 120 Гбайт, 7200 об/мин, кэш 8 Мбайт |
Контроллер RAID | Raidcore RC4000 PCI-X |
Жёсткие диски | 8x Western Digital WD360 Raptor, 10 000 об/мин, кэш 8 Мбайт |
Программное обеспечение | |
Чипсет Intel | Intel Chipset Installation Utility 5.1.1.1002 |
Драйвер контроллера RAID | Raidcore Driver 1.0.RC-100-200461.2 |
DirectX | 9.0b |
ОС | Windows XP Professional Build 2600 Service Pack 1 |
Тестируемые приводы: Western Digital WD360 Raptor
Raptor сегодня, определённо, находится в лидерах, поскольку этот привод является единственной моделью Serial ATA со скоростью вращения шпинделя 10 000 об/мин. Но если вас интересует Raptor, то всё же лучше взять модель WD740 на 74 Гбайт. Помимо увеличенной производительности, она также поддерживает очередь команд TCQ (Tagged Command Queuing).
Контроллер от RAIDCore
Для нашего тестирования мы использовали контроллер RC4000 от RAIDCore. Этот новичок на рынке контроллеров вызвал немалый переполох, представив архитектуру Fulcrum Architecture, программное решение RAID, обеспечивающее великолепный набор функций, однако потребляющее довольно много вычислительной мощности CPU. Кстати, компанию RAIDCore перекупила Broadcom, но название продукта пока осталось неизменным.
RAIDCore сегодня опять попала в заголовки газет из-за отзыва ряда контроллеров по причине сбоя в чипе Marvell – в некоторых случаях он не “видит” жёсткие диски в массиве после перезагрузки. Так что если вы купили для своей системы контроллер RC4452 или RC4852 , то подпишитесь на замену здесь. После этого дефектный контроллер будет заменён такой же моделью, но на базе чипов Broadcom. Мы уже получили новую модель в свою лабораторию и вскоре представим её расширенное тестирование и сравнение с контроллером 9000 от 3Ware.
Результаты тестов
Заключение
Для тестов масштабируемости мы использовали контроллер RAIDCore, поскольку он выполняет большинство функций программно и соответствующим образом нагружает системный процессор (или процессоры). Подобную особенность можно считать недостатком для многофункциональных серверов, которые одновременно принимают данные, печатают, работают с электронной почтой, базами данных и web-службами. В таком случае лишняя нагрузка на процессор бывает совсем ни к чему. Но если вы используете выделенный сервер, который занимается только файловыми службами, то там никаких проблем с дополнительной нагрузкой на процессор не возникнет.
Именно последний вариант мы и решили выбрать в качестве основы для нашего проекта, поскольку мы пытались обнаружить, какой прирост производительности можно получить от увеличения числа жёстких дисков в идеальном сценарии. С двумя процессорами Xeon на 2,8 ГГц дополнительная нагрузка на CPU никаких проблем не составила.
Как мы и предполагали, тестовые массивы с числом приводов от трёх до восьми показывают линейную масшабируемость – по крайней мере, по производительности ввода/вывода. Для баз данных, web-серверов и файловых серверов использование нескольких жёстких дисков быстро окупает себя. Но если вы планируете использовать больше шести приводов, мы рекомендуем всегда добавлять запасной жёсткий диск (spare), который автоматически включится в работу при сбое одного из основных приводов.
Если вы заинтересованы, главным образом, в высокой скорости передачи данных, то вас вполне устроят несколько жёстких дисков. Наш массив RAID 5 показал около 220 Мбайт/с на пяти приводах. Восемь приводов смогли обеспечить лишь чуть большую скорость – около 237 Мбайт/с.
Если этой производительности вам всё ещё мало, то следует обратить внимание на конфигурацию с двумя контроллерами PCI-X. Из них можно выжать вполне ощутимый прирост.