Выбираем уровень RAID
Многие из нас сталкивались с проблеммой выбора уровня RAID. У каждого из них есть свои плюсы и минусы. Если рассматривать только отказоустойчивые уровни (из распространённых) RAID 1, 0+1, 5, то влияющих на выбор составляющих остаётся две: стоимость и производительность. Целью данной статьи является показать реальные результаты скорости работы RAID контроллеров в зависимости от уровня RAID и количества дисков, чтобы когда Вы столкнётесь с выбором уровня RAID, у Вас было больше информации для принятия решения.
Немного теории:
RAID 1. Самый простой из всех рассматриваемых уровней RAID. Для организации масива RAID 1 необходимо 2 диска, полезный объём N/2, (N - количество дисков). Данные записываются следующим образом (красным цветом выделены избыточные данные):
Содержимое первого диска дублируется на втором, что позволяет сохранять работоспособность системы при выходе из строя одного диска.
RAID 5. Наиболее распространённый уровень RAID. Для организации масива RAID 5 необходимо минимум 3 диска, полезный объём N-1. Данные записываются следующим образом (на примере 5-ти дискового масива):
Самый "экономичный" уровень RAID, обладает минимальной избыточностью, сохраняя работоспособность системы при выходе из строя одного диска. Хотя и достигается это за счёт производительности.
RAID 0+1. Наиболее производительный (из отказоустойчивых) уровень RAID. Классическая реализация этого уровня RAID требует чётного количества дисков, полезный объём N/2. Данные записываются следующим образом:
Однако RAID контроллеры Mylex (с последней прошивкой firmware) "научились" делать RAID 0+1 на нечётном количестве дисков (Enhanced Mirroring), данные записываются следующим образом (на примере из трёх дисков):
на примере из 5-ти дисков:
На сколько это новшество имеет практический смысл будет видно из тестов.
Методика тестирования:
Для тестированя использовалось следующее оборудование:
- Материнская плата: Supermicro P4DMS-6GM
- Корпус: Supermicro SC-742S-420
- Процессоры: 2 процессора Intel Xeon 1.8GHz
- Память: 2 модуля 512Mb Kingston DDR-266 ECC Registered
- RAID контроллер: Mylex 170LP, 16Mb
- Системный жёсткий диск: 40Gb Seagate Barracuda 7200rpm
- Тестируемые жёсткие диски : 18Gb Seagate Cheetah ST318406LC
- ОС: Windows 2000 Advanced Server with SP2
IDE диск использовался в качестве системного, исключительно для того, чтобы в тех же условиях можно было провести тестирование других контроллеров (включая ноль-канальный Adaptec 2000S). Мы ни в коем случае не рекомендуем использовать IDE диски в качестве системных, наоборот, настоятельно рекомендуем устанавливать ОС на RAID (мало приятного когда сервер останавливает свою работу при выходе из строя одного диска, даже если данные не потерялись).
Тесты проводились с помощью программы IOMetter. Для каждого теста создавался один масив максимального размера, режим кеша устанавливался в "write-through" (кеш по записи выключен). Тестировался "физический диск" (с точки зрения ОС) без создания разделов. При тестировании использовались две стандартные модели доступа к дискам: Database и File Server. Количество Worker-ов: 4, Number of outstanding IOs: 64.
Приведём результаты тестирования:
Выводы. Хотя в данном тестировании принимал участие только один контроллер, полученые результаты показывают общую картину зависимости производительности от уровня RAID и количества дисков. Хотелось бы обратить внимание на разницу в скорости между RAID5 на 3 диска, и RAID 0+1 на 4 диска: прирост производительности 70% при добавлении одного диска - есть над чем задуматься. Также стоит отметить практически линейную зависимость производительности от количества дисков при работе с RAID 0+1 и RAID 5.
В скором будущем ожидается сравнительное тестирование нескольких моделей RAID контроллеров (включая Ultra 320 модели). Кому интерестно - следите за обновлением сайта.
Продолжение следует...
|