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

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

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

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

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

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

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

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

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

Пожалуйста, используйте 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 5 на 24 дисках по 1 ТБ! Меня не очень волнует, чем вы предпочитаете ограничивать ответы, это плохая идея, и вам следует рассмотреть другие варианты.

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

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

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

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

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

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

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

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

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

  • 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, и с учетом количества имеющихся у вас дисков практически наверняка выйдет из строя второй диск во время восстановления, что не дает преимущества для безопасности данных.