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

Конфигурация PostgreSQL RAID

Я застрял, как лучше настроить дисковый массив. У нас есть HP P2000 G3 дисковый массив с 24 физических диска SAS по 300 Гб каждый. Нам нужно для настройки этого массива получить 2 копии PostgreSQL 9.2 т.к. две разные системы. Как мы знаем, рекомендуется хранить файлы базы данных и журналов транзакций (pg_xlog) на отдельных дисках.

Итак, мы должны установить 4 логических диска:

2 for transaction logs with RAID 1
2 for database with RAID 10

Это правильная схема раздачи? Или лучше всего сделать один большой RAID 10 с 4 логическими дисками?

Совет разделить xlogs и основную кучу / индексы - уменьшить влияние сброса диска.

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

Этот дисковый массив HP P2000 G3 в стандартной комплектации имеет 2 ГБ кэш-памяти для чтения / записи. Убедитесь, что он находится в режиме обратной записи.

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

Что касается компоновки массива, лучший способ принять эти решения - это оценить производительность. Используйте PgBench (желательно настроенный для моделирования вашей рабочей нагрузки) и тесты необработанного дискового ввода-вывода. Посмотрите, какие конфигурации массивов обеспечивают максимальную пропускную способность и минимальные задержки синхронизации.

Не забывайте учитывать множественные отказы дисков. Массив из 2x8 дисков в RAID10 (8 дисков объединены, зеркально отражены один раз) достаточно велик, чтобы сбои двух дисков вполне вероятны. Можете ли вы позволить себе простой? Будете ли вы запускать потоковую реплику только для чтения или подчиненное устройство PITR, чтобы не потерять данные, если вы потеряете свой массив? Определите вероятности отказа и помните, что вероятность отказа любого двойного диска составляет 50%, что приведет к повреждению всего массива.