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


0

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

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

Ответы:


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%.


Я не монтирую 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-контроллер, обратитесь к его документации, чтобы узнать, как его настроить. Вероятно, он скроет диски за ним и покажет только экспортируемые тома.)


Спасибо, у меня есть сервер с 6 жесткими дисками, так что я планировал использовать 6, 3 зеркала из 3 других, но я хочу, чтобы 3 из них были показаны как только один, по нашему мнению, какой RAID самый лучший?
— jpganz18

@ jpganz18 Это зависит от того, для чего вы используете сервер. Различные уровни RAID имеют разные компромиссы. Можете ли вы описать, что вы планируете использовать для этого? (В другой вопрос, возможно).
— Дероберт

спасибо, ну, это просто простое приложение, с базой данных, которая может стать немного большой (около 50 ГБ) через несколько лет, но у них есть сервер с 6 дисками, так что, я думаю об использовании их всех ... любой идея?
— jpganz18

@ jpganz18 Я бы посоветовал RAID10, а может использовать их для скорости. Вы получите один том из RAID10, который вы можете использовать LVM для разделения. (Создайте отдельные разделы и массив для / boot). В зависимости от БД и ожидаемой загрузки записи, вы можете выделить 2 диска (отдельный raid1) только для журналов повторов базы данных.
— Дероберт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.