Лучшая конфигурация RAID для Postgres

Я покупаю сервер с 8 дисками SAS для выполнения интенсивных процедур. В настоящее время основным узким местом является сканирование большого индекса в postgres.

В настоящее время я выбираю между 8x300Gb 10k дисками или 8x140Gb 15k дисками, так как было бы удобнее иметь 200Gb+ логическое пространство.

Спецификация для RAID-контроллера гласит: "Интегрированный аппаратный RAID-0, -1, -1E, дополнительный RAID-5, -6, -10, -50, -60"

Какова будет лучшая конфигурация RAID, и какой выбор дисков будет наиболее подходящим?

Я новичок в настройке RAID и Postgres и ценю советы.

4 ответа

Решение

Встроенный аппаратный RAID-0, -1, -1E, дополнительный RAID-5, -6, -10, -50, -60

Это звучит немного тревожно для меня, это звучит как бюджетный контроллер RAID. Вам нужен хороший RAID-контроллер, способный поддерживать 8 быстрых жестких дисков (на самом деле это не так). Если у вас есть достаточное количество записей в вашу БД, то вам действительно нужен блок резервного питания от батареи, и для включения кэширования записи с защитой от батареи на RAID-контроллере.

Что касается расположения дисков RAID, есть две распространенные мысли:

  1. 2 диска в зеркале для ОС, 2 диска в зеркале для журнала транзакций БД, 4 диска в RAID 10 для основных файлов БД.
  2. Один большой массив RAID 10, использующий все диски и все файлы OS + log + datastore в этом массиве ( см. Рассуждения здесь, отраженные BAARF).

Я бы предпочел не отвлекаться на дизайн тома RAID, он становится чем-то вроде обсуждения фактов. В идеале вам следует поэкспериментировать с различными макетами хранилищ и сравнить их с конкретной рабочей нагрузкой. Я чувствую, что все диски в RAID10 быстрее и надежнее при нескольких рабочих нагрузках.

И последнее, чтобы убедиться, что разделы ОС и границы полосы RAID выровнены ( см. Здесь, ориентирован на Windows, но принцип является общим). Вы можете сделать это при создании разделов.

Выберите диски размером 8x146 ГБ в большом массиве RAID10 (4 зеркальные пары, расположенные вместе). Это должно обеспечить вам наилучшую скорость доступа к IO.

Вы должны прочитать информацию на BAARF "Битва против любого RAID Five" (четыре,... ошибаться, бесплатно). Поэтому предложение перейти с RAID 10 хорошо.

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

Не забудьте выровнять ext3/4 с размером полосы / шага RAID. (человек mkfs.ext3/4 -> шаг)

Кстати, есть ли какие-нибудь настройки postgres, чтобы запись соответствовала размеру полосы?

(И гугл для RAID5 дыра от записи)

Другие вопросы по тегам