Как мне сконфигурировать RAID 5, особенно размер полосы, с дисками 24 x 1,2 ТБ для CentOS 6?


8

Для Dell R920 с дисками 24 x 1,2 ТБ (и 1 ТБ ОЗУ) я хочу настроить конфигурацию RAID 5 для быстрого ввода-вывода. Сервер будет использоваться для размещения виртуальных машин KVM, которые будут читать / записывать файлы любого размера, включая файлы очень большого размера. Я не очень заинтересован в безопасности данных, потому что если сервер по какой-либо причине выходит из строя, мы просто перенастроим сервер с нуля после замены неисправных частей. Таким образом, производительность является главной заботой. Мы рассматриваем RAID 5, потому что он позволяет нам распределять данные по нескольким шпинделям и, следовательно, дает нам лучшую производительность и, хотя и не является нашей главной задачей, также обеспечивает нам некоторую защиту данных. Наш сетевой адаптер - двойной 10 Гбит / с.

Я ограничиваю этот вопрос RAID 5 только потому, что мы думаем, что это даст лучшую производительность. Только если есть веская причина производительности, мы рассмотрим что-то еще. Но, я думаю, я бы предпочел ответы, которые связаны с конфигурациями RAID 5.

Хорошо, с учетом вышеизложенного, вот наши нынешние мысли о конфигурации для:

  • 24 жестких диска : RMCP3 : 1,2 ТБ, 10 КБ, 2,5 "6 Гбит / с
  • RAID-контроллер: H730P, поддержка SAS 12 Гбит / с, кэш-память NV 2 ГБ
  • 1 Hot Spare (просто чтобы продлить нам жизнь в случае отказа диска)
  • 23 накопителя данных (из которых 1 учтен как паритет, а 22 оставлен для данных)
  • Размер полосы: 1 МБ (1 МБ / 22 накопителя данных = ~ 46,5 КБ на диск - или, я неправильно понимаю размер полосы)?
  • Политика чтения: адаптивное чтение вперед
  • Политика записи: Обратная запись
  • Политика дискового кэша: включена

Если размер полосы составляет ИТОГО на дисках с данными, то я рассчитывал, что ~ 46,5 КБ на диск даст нам очень хорошую пропускную способность. Если размер полосы соответствует шпинделю, то я все понял неправильно.

Соответствует ли размер полосы размеру отдельного файла? Например, если есть файл размером 2 КБ, будет ли выбор полосы размером 1 МБ означать, что мы теряем почти весь мегабайт? Или несколько файлов могут жить в полосе?

И наконец, когда мы установим CentOS 6.5 (или более позднюю версию), нужно ли нам что-то делать, чтобы файловая система оптимально использовала RAID? Например, у mkfs.ext4 есть опция -E, которая, как мне сказали, должна соответствовать конфигурации RAID. Но есть ли способ сделать это во время установки CentOS?

Большое спасибо за ваши мысли о настройке RAID 5 для быстрого ввода-вывода.


4
RAID 5 - это то, что вы не хотите использовать, если вам нужна производительность ... его скорость записи может быть ужасной.
Натан К,

1
Можете ли вы предоставить некоторый контекст для рабочей нагрузки чтения / записи и приложения для этого решения для хранения?
ewwhite

1
если вам нужна производительность, вообще не используйте жесткие диски ... вы, скорее всего, сможете добиться большей производительности с хорошей системой хранения SSD или даже с решениями хранения PCIe. если вас не волнует потеря данных, перейдите на твердотельные накопители или даже устройства хранения PCIe.
Деннис Нольте

2
@ Тонни, я это проверил. Максимум 16 дисков для этого контроллера.
ewwhite

7
Все, пожалуйста, помните, что вы не прирожденные эксперты, все учатся в какой-то момент. Пожалуйста, будьте добры к тем, кто знает меньше, чем вы.
Крис С

Ответы:


12

Пожалуйста, используйте RAID 1 + 0 с вашим контроллером и настройкой диска. Если вам нужна большая емкость, может работать вложенный уровень RAID, такой как RAID 50/60 . Вы можете обойтись без RAID 5 на небольшом количестве корпоративных дисков SAS (8 дисков или меньше), потому что время восстановления неплохо. Однако 24 диска - это ужасная ошибка. (Да, и отключить функцию кэширования отдельных дисков ... опасно)

Есть много аспектов ввода / вывода и производительности локального хранилища. Количество операций ввода-вывода в секунду, пропускная способность, задержка хранения. RAID 1 + 0 - хороший баланс между ними. Положительным моментом здесь является то, что вы используете корпоративные диски, работоспособный аппаратный контроллер и большое количество дисков. Сколько емкости вам нужно?

Вы можете ограничить число дисков, которые вы можете использовать в группе виртуальных дисков. Контроллеры PERC / LSI традиционно ограничивали это 16 дисками для отдельных уровней RAID и RAID 1 + 0. Руководство пользователя подтверждает это . Вы не сможете использовать все 24 диска в одном RAID 5 или в одной группе RAID 1 + 0.

Еще один аспект, который следует учитывать в зависимости от рабочей нагрузки, заключается в том, что вы можете использовать SSD-кэширование, используя функциональность LSI Cachecade на некоторых контроллерах PERC. Это может быть недоступно для этого, но понимание ваших шаблонов ввода / вывода поможет адаптировать решение для хранения данных.


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


Некоторая очень полезная информация здесь. Мы ищем производительность во-первых, общее дисковое пространство во-вторых. Итак, мы не рассматриваем RAID 10, потому что потеряли бы половину доступного 24 ТБ дискового пространства. Наши потребности очень тяжелы для данных, и мы очень легко перетаскиваем данные из ТБ. Поскольку последствия отказа сервера являются для нас низким приоритетом (поскольку мы можем просто восстановить сервер с нуля после исправления неисправного оборудования - то есть безопасность данных НЕ является нашим самым важным фактором), мы хотим максимизировать дисковый ввод-вывод ( и локальная и NFS / другая история) и общая скорость обработки.
Стив Америдж

@SteveAmerige Сколько дискового пространства вам нужно? Вы не можете ИСПОЛЬЗОВАТЬ 24 диска в одной группе RAID, поэтому для вашей среды есть некоторые дополнительные соображения. Можете ли вы рассказать нам, для чего предназначена эта система, какие типы данных используются и каковы реальные требования к производительности?
ewwhite

1
@ SteveAmerige Подробнее! RAID 5 не является стартером. Вы просто не должны использовать его в 2014 году. Что это за данные? Какой будет технология виртуализации? KVM? VMware? Я думаю, что дизайн здесь действительно нуждается в некоторой доработке, особенно перед тем, как инвестировать в такое большое количество оборудования ... Знаете ли вы, какой размер «рабочего набора» данных будет для каждой виртуальной машины? В тех случаях, когда это значение известно, вы можете кэшировать и оптимизировать его. Многоуровневое хранение. SSD - накопители. Рабочая нагрузка смещена на чтение или смещение?
ewwhite

1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? Нет не правильно Благодаря дискам такого размера и такому количеству дисков в группе RAID 5 эффективно обеспечивает безопасность данных. Можно просто выбросить диски в два 12-дисковых массива RAID 0.
HopelessN00b

1
В итоге я выполнил следующую настройку 24 физических дисков: Дисковая группа 0, RAID 10 (4 диска): VD 0: BOOT 100GB; VD 1: ROOT 2134,5 ГБ. Дисковая группа 1, RAID 0 (10 дисков): VD 2: DATA1, 11172,5 ГБ. Дисковая группа 2, RAID 0 (10 дисков): VD 3: DATA2, 11172,5 ГБ. Возможно, мне не понадобились отдельные виртуальные диски VD 0 BOOT и VD 1 ROOT. Я сделал это, чтобы загрузочный диск мог выполнять стандартную (не UEFI) загрузку. Позже я использовал LVM, так что я использовал исключительно VD 0 и VD 1; и / данные, которые использовали VD 2 и VD 3. Большое спасибо за все комментарии!
Стив Америг

5

НЕ используйте один массив RAID 5 на 24 дисках по 1 ТБ! Меня не волнует, что вы предпочитаете ограничивать ответы, это плохая идея, и вы должны посмотреть на другие варианты.

Вероятность сбоя диска увеличивается с каждым диском. Так же как и время, необходимое для восстановления. Когда диск выходит из строя и вы заменяете его, он будет использовать как можно больше операций ввода-вывода на всех дисках для создания данных для нового диска. Весьма вероятно, что один из 23 оставшихся исправных дисков выйдет из строя во время этого процесса, что заставит вас восстановить сервер из резервных копий. Что вы говорите, что вас не волнует ... но готовы ли вы согласиться делать это раз в месяц? Раз в неделю? Когда диски стареют, это очень плохо.

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

Если вы ДЕЙСТВИТЕЛЬНО не заботитесь о своих данных, используйте RAID 0. Но даже тогда создайте несколько отдельных массивов, а не один гигантский 24-дисковый RAID 0.

Если вам нужна производительность и некоторая целостность, используйте RAID10. Вы потеряете немного дискового пространства, но получите значительное повышение производительности.

Или вы можете посмотреть на такие вещи, как ZFS, которые спроектированы с нуля для работы с огромными объемами данных на дисках.


1
К вашему сведению, я разработчик программного обеспечения, который управляет серверами нашего подразделения как дополнительная работа. Это означает, что у меня много пробелов в моих знаниях. Но я делаю это достаточно успешно уже пару лет. Это первый раз, когда я создаю этот большой сервер, поэтому ваши отзывы очень ценятся. Я очень ценю ваш комментарий об ограничениях RAID 5. Нам нужна производительность и общее доступное дисковое пространство, но мы готовы уделить внимание конфигурациям RAID, которые обеспечивают нам некоторую безопасность данных (наш последний приоритет).
Стив Америг

1

Ваши варианты:

  • RAID 0 : это превращает все ваши диски в один блок без резервирования. Это имеет самую высокую производительность чтения и записи и самое полезное пространство из всех вариантов, но потеря одного диска означает потерю всех данных.

  • RAID 1 + 0 : это превращает все ваши диски в один блок со всеми данными на двух дисках. Скорость чтения примерно такая же, как у RAID 0, скорость записи уменьшается вдвое (поскольку вам нужно записывать каждый фрагмент данных дважды), и у вас есть только половина доступного пространства. Потеря одного диска не влияет на доступность данных и минимально влияет на скорость чтения / записи.

  • RAID 5 : это превращает все ваши диски в один блок со значением четности на одном диске. Скорость чтения немного ниже, чем у RAID 0, скорость записи намного ниже, возможно, медленнее, чем скорость записи одного диска без RAID (каждая запись требует цикла чтения-изменения-записи как минимум на двух дисках), и вы потерять место на диске для информации о четности. Потеря одного диска может привести к значительному снижению скорости чтения (восстановление данных, которые были сохранены на нем, требует чтения данных со всех других дисков), но не влияет на доступность данных.

  • RAID 6 : по сути, он обладает всеми преимуществами и недостатками RAID 5, за исключением того, что он хранит более сложную контрольную сумму в дополнение к вычислению четности и может обрабатывать потерю двух дисков без потери данных.

Если безопасность данных действительно не имеет значения (это включает в себя время, затрачиваемое на восстановление данных из исходного источника, которое может занять несколько дней, и время, потраченное на повторное выполнение прерванных вычислений), я рекомендую RAID 0. В противном случае, если у вас есть рабочая нагрузка, которая почти исключительно для чтения и вам нужна некоторая надежность, я рекомендую RAID 6 (но учтите, что при восстановлении со сбойного диска производительность будет снижаться). Если у вас есть рабочая нагрузка чтения-записи, я рекомендую RAID 1 + 0.

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

RAID 5 не дает никаких преимуществ в вашей ситуации. Он имеет снижение производительности (особенно для записи) по сравнению с RAID 0, и, учитывая количество имеющихся дисков, практически наверняка произойдет сбой второго диска во время восстановления, что не даст никаких преимуществ для безопасности данных.


1

Хорошо, только один ясный вопрос - размер полосы. Чем больше размер полосы, тем лучше, если ваш RAID не способен постоянно читать / записывать всю полосу данных как минимальный блок ввода-вывода.

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

Дополнительную теорию можно найти здесь: http://www.vinumvm.org/vinum/Performance-issues.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.