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

Обязательно ли иметь RAID на виртуальной машине?

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

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

В общем, нет, это не лучший вариант.

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

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

Программный RAID действительно предназначен для использования, когда у вас есть несколько физических дисков без соответствующего контроллера жестких дисков с поддержкой RAID. Если у вас есть аппаратный 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. Вам не нужно четыре диска. Вам нужно как минимум пять.)