Можно ли получить доступ к дискам независимо в томе RAID-1?

0

Я хочу создать массив RAID-1 с Debian 6. Этот массив будет содержать 6 дисков, 3 для ОС и 3 зеркала.

Я использовал этот RAID раньше, но на Windows, и, возможно, я не сделал это вообще хорошо, потому что я мог видеть 3 разных диска, но только один для ОС. Есть ли способ, чтобы ОС увидела 3 диска как один? или они будут как разные юниты?

jpganz18
источник

Ответы:

2

Насколько я понимаю, вы создали 3 рейдовых массива, каждый с прикрепленным зеркалом. Вы можете смонтировать каждую «половину» пар как обычные диски, но это не рекомендуется, когда массив работает, и обе «половины» активны, так как это приведет к десинхронизации копий и разбиванию массива. Но в случае сбоя они существуют по отдельности, а также, если вы используете его для каталогов, как /bootлюбые процессы, которые изначально не понимают raid, просто увидят их как идентичные копии, я использую небольшой раздел с raid-1 со многими дисками, чтобы убедитесь, что машина остается загрузочной независимо от того, какой диск ОС умирает.

Хотя это, помимо базового аппаратного резервирования, не имеет никакого преимущества и требует дополнительного обслуживания (3 массива для обслуживания), а диски изолированы.

Если вы делаете это по соображениям производительности и хотите получить наибольшее количество операций ввода-вывода в секунду (например, для сервера базы данных), вам лучше использовать raid 1+0. Это будет в основном полоса из 3 дисков (примерно в 3 раза больше скорости чтения / записи одного диска) и зеркало этого массива с другими 3 дисками. Текущие MDдрайверы поддерживают это изначально, и вам не нужно отдельно управлять массивами raid-1 и raid-0, а создавать одно устройство raid:

mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

Это означает, что вы получите общий размер массива в сумме 3 дисков. Проблема с этой настройкой заключается в том, что выход из строя 2 дисков может уничтожить все ваши данные, если это же зеркало диска «наполовину» в 2 копиях. Диски, вероятно, одного возраста, что означает, что они начинают выходить из строя примерно в одно и то же время. А стресс перестройки на другой «половине» значительно увеличивает вероятность провала:

С вашей настройкой вероятность выживания потери данных выглядит следующим образом с raid-1 + 0:

1 drive fail  = 100%
2 drives fail =  80%
3 drives fail =  40%
4 drives fail =   0%

Если у вас все в порядке со сбалансированными IOPS / скоростями и емкостью хранения с 6 дисками, вы получите гораздо лучшую устойчивость, если создадите raid-6 для всех устройств:

Probability of data loss in a 3 year span:
RAID5  - 0.0125 % (1 in 80)
RAID6  - 0.0005 % (1 in 1982)

Но так как вам нужен загрузочный раздел (загрузчик не может быть разнесен по дискам), вам нужно 2 массива, один маленький, скажем, 256Mb, а остальные вместе, вы должны создать эту схему с помощью fdisk или cfdisk и убедиться, что bootableфлаги установить для небольшого массива. Вы можете скопировать таблицу разделов с одного диска на другой с помощью sfdisk, если диски одинакового размера:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Затем создайте 2 массива:

mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6

Инсталляторы ОС могут позаботиться об этом за вас, хотя просто отметьте первый массив, который будет использоваться для /boot

Благодаря этому вы получаете 1 накопитель (общая емкость = емкость накопителя * 4). Массив может пережить сбой двух накопителей, и если их нет одновременно, у вас более чем достаточно времени и математического шанса восстановить этот массив.

Следует помнить о текущем качестве потребителя (частота ошибок чтения ~ 10 ^ 14 / ошибка) и размерах дисков (> = 2 ТБ), которые никогда не следует использовать raid-5для критически важных данных, поскольку существует вероятность восстановления этого массива в случае сбой составляет менее 50%.

psarossy
источник
Я не монтирую 3 диска, думаю, если честно, если будет лучше использовать только 2 жестких диска, я бы использовал их ... ты думаешь, рейд, о котором ты упоминаешь, лучше? или лучше использовать только 2 жестких диска?
jpganz18
@ jpganz18 Для чего вы планируете использовать машину? Это как сервер или рабочая станция? Вы используете базу данных с высоким трафиком или файловый сервер? Вы храните в основном большие файлы? (10Gb +) Я могу предложить другие схемы, которые могут работать лучше, но мне нужно больше информации.
псароссы
Спасибо @Peter, что ж, на сервере будет размещено приложение, около 40 пользователей, сгенерирует файлы и все ... У меня есть оценка, что единственным большим файлом будет база данных, и он будет расти как 2 ГБ в год ... не так много, только для этого, к сожалению, сервер, на котором я должен был установить, уже имеет эту конфигурацию и имеет 6 жестких дисков по 60 ГБ каждый ... (вроде как старый), я хочу настроить его наилучшим образом можно использовать все ресурсы ... есть идеи, основанные на вашем опыте и знаниях?
jpganz18
@ jpganz18 Поскольку вы упомянули, что сервер довольно старый, загрузка ввода-вывода не будет для вас самой большой проблемой, так как здесь также относительно низкая пользовательская нагрузка. Решение raid1 + raid6, которое я рекомендовал выше, является, вероятно, самым безопасным / наиболее эффективным способом. Таким образом, вы будете в безопасности до двух поездок, если они пойдут на юг. Вы можете разделить его на несколько массивов, но они не предлагают вам ничего лишнего. Если вам понадобится больше ввода-вывода для базы данных и вы захотите оставить все как есть, то вы можете создать диски raid1 w / 2 для ОС и raid10 для базы данных / пользовательского контента на оставшихся 4.
psarossy
Я думаю, что вы должны уточнить производительность RAID6. Непродолжительное чтение очень хорошо (если вы не проверяете четность, что, как мне кажется, верно в mdraid), возможно, даже лучше, чем raid10. Пониженное последовательное чтение в порядке. Ухудшенное случайное чтение происходит медленно. Последовательная запись в порядке. Случайная запись ужасна.
Дероберт
1

Что-то здесь не имеет смысла.

Массив RAID1 состоит из 2 или более дисков, каждый из которых имеет одинаковое содержимое. Таким образом, если вы создаете 6-дисковый массив RAID1, у вас есть пять зеркал, а не три.

Вы можете создать три массива RAID1, каждый из которых состоит из двух дисков. Тогда у вас будет три разных mdустройства для доступа. Это не скроет диски /dev/sd[a-f], но вы, как правило, не получите доступ к данным на них напрямую, когда они являются частью RAID-массива. (Вы по-прежнему обращаетесь к ним напрямую, например smartctl.)

Вы также можете создать 6-дисковый массив RAID10, который даст вам одно mdустройство для всех шести дисков и будет иметь три зеркала. Это также было бы быстрее.

Установщик Debian может настроить все это для вас (я уверен, что он знает о RAID10, в противном случае вам придется переключиться на alt-f2 и использовать mdadm напрямую для создания RAID10).

Обычно вы запускаете программный RAID Linux на разделах, а не на целых дисках. Кроме того, если вы используете уровень RAID, отличный от 1, я рекомендую создать два раздела: небольшой 256 МБ по одному на каждый диск, RAID1 для /boot, а затем второй раздел, содержащий оставшуюся часть диска, на любом уровне RAID, который вы хотите. , GRUB2 имеет довольно хорошую поддержку RAID1, не так много для чего-либо еще. Так /bootчто обычно лучше, чем RAID1.

Обратите внимание, что если у вас есть встроенный RAID в BIOS, он, вероятно, подстроен, и вам следует вместо этого использовать программный RAID для Linux - по крайней мере, если это новая установка и машина будет только для Linux. Вы должны настроить BIOS для работы в режиме AHCI, а не в режиме RAID.

(Если вы потратили 400 долларов США + на фактический аппаратный RAID-контроллер, обратитесь к его документации, чтобы узнать, как его настроить. Вероятно, он скроет диски за ним и покажет только экспортируемые тома.)

derobert
источник
Спасибо, у меня есть сервер с 6 жесткими дисками, так что я планировал использовать 6, 3 зеркала из 3 других, но я хочу, чтобы 3 из них были показаны как только один, по нашему мнению, какой RAID самый лучший?
jpganz18
@ jpganz18 Это зависит от того, для чего вы используете сервер. Различные уровни RAID имеют разные компромиссы. Можете ли вы описать, что вы планируете использовать для этого? (В другой вопрос, возможно).
Дероберт
спасибо, ну, это просто простое приложение, с базой данных, которая может стать немного большой (около 50 ГБ) через несколько лет, но у них есть сервер с 6 дисками, так что, я думаю об использовании их всех ... любой идея?
jpganz18
@ jpganz18 Я бы посоветовал RAID10, а может использовать их для скорости. Вы получите один том из RAID10, который вы можете использовать LVM для разделения. (Создайте отдельные разделы и массив для / boot). В зависимости от БД и ожидаемой загрузки записи, вы можете выделить 2 диска (отдельный raid1) только для журналов повторов базы данных.
Дероберт