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

Лучший способ RAID 4 x Intel SSD 910 для PostgreSQL

У меня есть сервер Linux (debian / ubuntu) с 4 x Intel SSD 910 800GB pcie, которые мне нужно объединить в RAID.

Самая большая проблема с этими картами заключается в том, что они дают вам 4 диска по 200 ГБ, которые нельзя использовать с аппаратным рейдом (подробнее об этом здесь: http://www.intel.com/support/ssdc/hpssd/sb/CS-034181.htm)

Итак, Linux обнаруживает эти диски:

Если бы я сделал RAID-массив как обычно, допустим, RAID-10, и, например, сломалась бы карта №1, я бы потерял 4 диска одновременно (sdb, sdc, sdd, sde), что, вероятно, привело бы к потере данных?

Итак, я подумал, что мне нравится большинство (?) SSD-карт, в любом случае «внутренний RAID-0»:

$ mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/sd[b-e]
$ mdadm --create /dev/md1 --level=0 --raid-devices=4 /dev/sd[f-i]
$ mdadm --create /dev/md2 --level=0 --raid-devices=4 /dev/sd[j-m]
$ mdadm --create /dev/md3 --level=0 --raid-devices=4 /dev/sd[n-q]
$ mdadm --create /dev/md4 --level=1 --raid-devices=4 /dev/md[0-3]

Но это RAID-01, который не имеет преимуществ перед RAID-10 ... Итак, если я использую RAID-10, я предполагаю что-то вроде этого:

$ mdadm --create /dev/md0 --level=1 --raid-devices=8 /dev/sdb[a-h]
$ mdadm --create /dev/md1 --level=1 --raid-devices=8 /dev/sdb[i-q]
$ mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/md[0-1]

Тогда возникает вопрос: что произойдет, если карта №1 сломается, я потеряю первые 4 диска, что, если sdb зеркалируется на sdc?

Итак, после того, как это решено, возникает вопрос, какой размер блока и размер блока мы должны выбрать для запуска PostgreSQL на этом? Думаю, мы будем использовать XFS, но открыты для идей.

Итак, чтобы подвести итог:

Ваш первый инстинкт верен:

Итак, я подумал, что мне все равно нравится большинство (?) SSD-карт, «внутренний RAID-0»: (снип) Но это RAID-01, который не имеет преимуществ перед RAID-10 ...

Единственное, что нужно изменить, это ваша последняя строка:

$ mdadm --create /dev/md4 --level=10 --raid-devices=4 /dev/md[0-3]

(обратите внимание на изменение: уровень = 10)

По сути, это превращает каждую карту в автономный массив RAID0, а затем создает массив RAID10 из отдельных элементов. По сути, это RAID010 (полоса зеркал из полос). Если какая-то одна карта умирает, у вас все еще есть другая карта с теми же зеркальными данными.