Нужно ли иметь RAID на виртуальной машине?

У меня есть Windows 2008 Enterprise на RAID 10 под управлением Active Directory, размещенный Exchange и веб-сервер на виртуальных машинах HyperV. Нужен ли виртуальный RAID для Exchange? Если так, то почему?

Изменить: спасибо всем за ответ. Очень полезно!

4 ответа

Решение

Как правило, нет, это не очень хорошая вещь.

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

Программный RAID имеет свое место. Это место не на вершине аппаратного RAID.

Программный RAID действительно предназначен для использования, когда у вас есть несколько физических дисков без сопровождающего RAID-совместимого контроллера HDD. Если у вас есть аппаратный RAID, то мне трудно понять, где программный RAID в дополнение к аппаратному RAID дает какую-либо выгоду. Напротив, программный RAID поверх аппаратного RAID, вероятно, вызывает снижение производительности дисковой подсистемы.

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

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

Программный RAID внутри виртуальной машины, как правило, плохая идея:

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

Ваши виртуальные машины должны вести себя настолько глупо, насколько это возможно, что даже глупее, чем по умолчанию: отключите планировщик ввода-вывода, просто запишите все данные на виртуальные диски как можно быстрее. Оптимизация движений головы виртуального диска с поддельной геометрией не даст хороших результатов, и это дает "настоящему" планировщику ввода-вывода лучший шанс оптимизировать всю систему.

В идеале, используйте аппаратное решение RAID, не потому, что аппаратные карты RAID лучше (они не являются), а потому, что они имеют резервные копии кеша дисков, которые позволяют транзакциям в журнализированных файловых системах проходить сразу после переноса записи журнала. на контроллер, а не записывается на диск. Это дает значительный прирост скорости.

Целью RAID является управление оборудованием хранения. Ваша хост-система, безусловно, должна использовать некоторую форму избыточного хранилища, будь то локальный RAID10 или RAID 5/6/Z в SAN и т. Д. Поскольку виртуальная машина не хранит свои данные на реальном оборудовании, вы тратите ресурсы, если вы потратить процессор, удваивая память, на вещи, которые собираются сделать то же самое снова и снова.

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

Но для большинства людей лучше иметь виртуальные машины как можно меньше и экономнее. Удалите ненужное программное обеспечение (или, что еще лучше, не устанавливайте его в первую очередь), используйте разреженные файловые системы для хранения и всегда убедитесь, что в вашей системе HOST под рукой есть запасной диск на случай сбоя. (Вы создаете RAID10. Вам не нужно четыре диска. Вам нужно как минимум пять.)

Другие вопросы по тегам