Как я настраиваю RAID 5, особенно чередуйте размер с дисками емкостью 24 x 1.2 для CentOS 6?

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

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

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

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

Если размером дорожки является ОБЩЕЕ КОЛИЧЕСТВО через диски данных, то я полагал, что ~46.5KB на диск даст нам очень хорошую пропускную способность. Если размер дорожки на шпиндель, то у меня есть это неправильно.

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

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

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

8
задан 11 July 2014 в 16:54
4 ответа

Пожалуйста, используйте 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.

.
12
ответ дан 2 December 2019 в 22:46

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

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

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

Если вас РЕАЛЬНО не волнуют ваши данные, перейдите на RAID 0. Но даже в этом случае, создайте несколько отдельных массивов, а не один гигантский 24 дисковый RAID 0.

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

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

.
5
ответ дан 2 December 2019 в 22:46

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

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

Больше теории, лежащей в основе этого, можно найти здесь: http://www.vinumvm.org/vinum/Performance-issues. html

1
ответ дан 2 December 2019 в 22:46

Ваши опции:

  • 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
ответ дан 2 December 2019 в 22:46

Теги

Похожие вопросы