Когда RAID 10 МЕНЬШЕ, чем RAID 1, почему?
У нас есть новый Dell 2950 с PERC 6/e и 14 внешними дисками SAS 15K 73 ГБ. Работа с базой данных Oracle 11g занимает 3 часа, когда диски настроены как аппаратный RAID 10 (с разбивкой по 7 зеркальным парам). Размер базы данных составляет около 26 ГБ. Одна и та же работа, выполняемая только на двух дисках в RAID 1, занимает всего 1 час. ОС - это Win 2008 R2.
Перед тем, как мы изменим уровень RAID (со значительным временем простоя) на рабочей коробке, кто-нибудь знает, почему мы видим этот странный результат и есть ли лучший способ его исправить?
ДОБАВЛЕННАЯ ИНФОРМАЦИЯ
На PERC 6/e должна быть установлена последняя версия прошивки, а батарея кеша в норме.
НАКОНЕЦ, НАСТОЯЩАЯ ИСТОРИЯ
После разговора с администратором у меня красное лицо. Оказывается, RAID 1 - это семь томов RAID 1 по два диска каждый. Таблицы данных и индексы были назначены для каждого тома, чтобы минимизировать конкуренцию. По-видимому, хороший администратор баз данных может получить большую производительность от 14 дисков, чем контроллер RAID 10, чередуя их вслепую, не обращая внимания на шаблоны доступа к файлам. Некоторые сети SAN утверждают, что разумно переносят файлы для повышения производительности, но если в ближайшее время произойдет сдвиг, мои деньги будут на нашем администраторе баз данных!
3 ответа
Я думаю, user71281 подразумевает, что ваш контроллер RAID (или драйвер) не работает. Когда вы проходите настройку RAID вашего контроллера (или драйвера), настройка RAID10 никогда не должна быть медленнее, чем простой RAID1.
Ваше решение RAID либо позволило вам установить крайне неэффективный массив RAID10, либо вы обнаружили ошибку. Может быть, производительность улучшится с 8-й парой? Или, может быть, когда вы уменьшите настройку до 4 пар? Последний вариант может означать, что вам нужно обновить до 146 ГБ дисков.
Но я бы сначала проверил наличие обновлений прошивки и проверил, сколько ОЗУ находится на карте RAID. Он не отключил свою функцию кэширования из-за мертвого BBU (блока резервного аккумулятора), не так ли?
Для справки: миграция может быть сделана онлайн, выполнив временный программный raid1 для времени миграции. Это означает, что вам нужно еще одно настроенное хранилище. В настоящее время можно заимствовать кучу SSD и подключить их как большой том iSCSI, чтобы сделать все это без простоев. Как правило, при миграции хранилища правильным способом является добавление избыточности, а затем удаление старой части. Таким образом, время самого высокого риска во время миграции будет до начала и после завершения. Потому что вы просто используете предполагаемую избыточность.
На самом деле RAID1 быстрее, чем RAID10, и, конечно, RAID 0 быстрее, чем оба. Причина заключается в том, что при использовании RAID10 накладные расходы на вычисление и накладные расходы выше, чем у томов 7-RAID1. Как заявил ваш администратор базы данных, меньше конфликтов на диске и больше изоляции шпинделя.
Недостатком является больше шансов исчерпать дисковое пространство для каждой пары RAID1. Разделение великолепно при выполнении многих непохожих транзакций, однако при разряде нескольких дисков в RAID1 выигрыш в производительности, так как теперь многие шпиндели работают вместе параллельно.
Следует учитывать, что размер кластера при создании меньшего диска будет меньше. Вы можете использовать DISKPART и установить размер кластера 8 КБ для ваших журналов и 64 КБ для ваших данных, а не смешивать журналы и данные вместе на одном и том же raid1o. Скорее всего, именно так настроил ваш DBA, и теперь вы объединили оба на одном и том же RAID10, что привело к большему конфликту дисков.