Лучшая конфигурация 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, есть две распространенные мысли:
- 2 диска в зеркале для ОС, 2 диска в зеркале для журнала транзакций БД, 4 диска в RAID 10 для основных файлов БД.
- Один большой массив 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 дыра от записи)