У нас есть новый Dell 2950 с PERC 6 / e и 14 внешними дисками SAS 15K 73GB. Задание базы данных 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 утверждают, что они умеют грамотно переносить файлы для повышения производительности, но если в ближайшее время это произойдет, мои деньги у нас на DBA!
Я думаю, что user71281 подразумевает, что ваш RAID-контроллер (или драйвер) не работает. Когда вы выполняете настройку RAID вашего контроллера (или драйвера), настройка RAID10 никогда не должна быть медленнее, чем простой RAID1.
Ваше решение RAID либо позволило вам установить чрезвычайно неэффективный массив RAID10, либо вы обнаружили ошибку. Может производительность улучшится с 8 парой? А может, когда вы уменьшите настройку до 4 пар? Этот последний вариант может означать, что вам нужно обновить до 146 ГБ дисков.
Но сначала я бы проверил наличие обновлений прошивки и проверил, сколько оперативной памяти на карте RAID. Он не отключал функцию кэширования из-за мертвого BBU (блока резервного питания от батареи), не так ли?
Для справки: миграцию можно выполнить онлайн, выполнив временный программный raid1 на время миграции. Это означает, что вам нужно еще одно настроенное хранилище. В настоящее время можно позаимствовать кучу твердотельных накопителей и подключить их как большой том iSCSI, чтобы сделать все без простоев. Как правило, при переносе хранилища правильный способ сделать это, добавив избыточность, а затем удалив старую часть. Таким образом, наибольший риск во время миграции будет до начала и после завершения. Потому что вы просто работаете с предполагаемой избыточностью.
На самом деле RAID1 быстрее, чем RAID10, и, конечно, RAID 0 быстрее их обоих. Причина в том, что накладные расходы на четность и вычисления выше для томов RAID10, чем для томов 7-RAID1. Как заявил ваш администратор баз данных, меньше конфликтов за диск и больше изоляции шпинделя.
Обратной стороной является большая вероятность нехватки дискового пространства для каждой пары RAID1. Разделение велико при выполнении множества разнородных транзакций, однако есть преимущество в производительности при чередовании нескольких дисков в RAID1, поскольку теперь многие шпиндели работают вместе параллельно.
Следует учитывать, что размер кластера при создании диска меньшего размера будет меньше. Вы можете использовать DISKPART и установить размер кластера на 8 КБ для ваших журналов и 64 КБ для ваших данных, а не смешивать журналы и данные вместе в одном raid1o. Скорее всего, ваш администратор баз данных настроил это так, и теперь вы объединили их на одном массиве RAID10, что привело к увеличению конкуренции за диск.