Назад | Перейти на главную страницу

Оптимальная настройка диска для OLTP SQL Server

У нас есть сервер базы данных с высокой транзакцией (много операций чтения и записи) (с SQL 2005), который в настоящее время настроен с разделом ОС RAID 1 (C :) и разделом RAID 5 data / log / tempdb (D :). C: имеет 2 диска, а D: 4 диска. На сервере около 300 баз данных размером от 10 МБ до 2 ГБ.

Я читал о передовых методах разделения дисков, но хотел бы получить некоторые мнения о нашей настройке, поскольку количество дисков ограничено.

Кажется, что RAID 10 популярен, но я не думаю, что мы могли бы использовать его всего с 6 дисками для работы.

Спасибо.

Обновить

Я выбрал 3 раздела RAID 1 (по 2 диска)

Распространенный «лучший» способ настроить тома RAID всего с 6 шпинделями:

  • Том 1, операционная система и журнал транзакций SQL. 2 диска в зеркале (RAID1) с BBWC. Кэширование записи журнала транзакций очень важно для хорошей производительности, поскольку механизм SQL ожидает завершения записи журнала, а кэширование записи значительно снижает задержку записи. (BBWC означает кэш записи с резервным питанием от батареи, то есть контроллер с включенным кэшированием записи и блоком резервного аккумулятора, подключенным к контроллеру.)
  • Том 2, оставшиеся файлы базы данных. 4 диска в RAID 10 (или RAID1 + 0, или RAID 0 + 1).

Размещение ОС действительно не имеет большого значения. Когда система запущена и работает, ОС должна постепенно переходить в устойчивое состояние, при котором ОС лишь изредка касается дисков. Если вам нужно поставить ОС на 4-дисковый массив RAID 0 + 1, то не беспокойтесь об этом.

Кроме того, вы должны убедиться, что границы раздела (и, следовательно, блоки файловой системы) выровнен с границами полосы RAID.

Вышеупомянутая настройка может работать, а может и не работать - вы потеряете некоторую емкость, когда попрощаетесь с RAID5. С современными дисковыми накопителями у вас, вероятно, достаточно места на диске (ввод-вывод в секунду часто становится узким местом, прежде чем емкость). Для более старых накопителей емкость может быть ограничивающим фактором.

Кендал Ван Дайк написал хороший обзор различных уровней RAID, выравнивания разделов и их производительности для рабочей нагрузки SQL-сервера.

Если у вас есть место на томе C:, подумайте о перемещении на него файлов журналов транзакций очень активных баз данных и / или данных TempDB и файлов журналов. RAID 1 лучше, чем RAID 5 для записи.

Инвестируйте в как можно больше памяти, чтобы уменьшить объем дискового ввода-вывода (память в настоящее время дешевая). Это улучшит ваши чтения. Если вы работаете в 32-битной среде, помните, что вам нужно настроить AWE для адресации памяти более 4 ГБ.

Из-за ограниченного количества дисков невозможно добиться оптимальной настройки. Это будут отдельные наборы дисков для:

  • Система
  • Данные
  • Журналы
  • TempDB

Если вы можете позволить себе потерять один диск (вы потеряли 1 из 4 в пространстве RAID 5 из-за четности, вы потеряете второй в RAID 10 в пространстве), то перенастройка дисков, вероятно, увеличится. производительность несколько, если узким местом является диск.

Вы видите конкретные проблемы? Или вы просто хотите оптимизировать настройку до того, как она появится?

В дополнение к совету К. Брайана Келли также необходимо изучить выравнивание разделов. Если вы используете Windows 2008, вам не о чем беспокоиться, поскольку разделы автоматически выравниваются для вас, но в Windows 2003 вам нужно будет сделать это вручную. Прочтите этот технический документ, чтобы понять, кто / что / почему вам следует это сделать. Вы можете повысить производительность на 30-40%, просто выровняв свои разделы.

http://msdn.microsoft.com/en-us/library/dd758814.aspx

Как насчет того, чтобы установить все 6 дисков в один RAID 10 и установить один раздел для ОС, а другой (1 или 2) для данных? Учитывая, что вы могли бы избежать интенсивного использования свопа, добавив в машину много оперативной памяти?