6

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

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

4 ответа4

5

Есть много преимуществ виртуализации. Эффективность зависит от того, как вы ее определяете.

Вместо нескольких машин в серверной комнате вы можете использовать виртуализацию для:

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

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

5

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

  • Консолидация нескольких серверов на одном компьютере исключает некоторые потери энергии при питании основного оборудования на каждом дополнительном компьютере. Теперь осталось меньше вещей, таких как вентиляторы и диски, чтобы крутиться.
  • Ваша стратегия закупок теперь может принять это во внимание, так как вы ищете меньше, более крупных и мощных серверов общего назначения, а не меньших одноразовых серверов. Это позволяет вам еще больше консолидировать серверы, еще больше увеличивая экономию по сравнению с предыдущим пунктом. Со временем это также поможет добиться экономии масштаба на этих серверах, которые раньше считались высокопроизводительными, делая их более доступными для всех и экономя на таких вещах, как производство и накладные расходы на доставку.
  • Производители оборудования и операционных систем теперь учитывают виртуализацию в своих разработках (в основном за счет внедрения и поддержки VT-x), что позволяет вам распределять ресурсы между машинами. Например, если у вас есть 3 экземпляра той же операционной системы, что и виртуальные гости, загруженные в ОЗУ на одном и том же физическом хосте, некоторые части каждой операционной системы, которые останутся неизменными, могут быть доступны для всех трех, что позволит вам получить больше работать на том же оборудовании и консолидировать еще дальше.
  • Виртуальные машины проще в управлении и обслуживании, потому что у вас стандартная виртуальная аппаратная среда. Нужно удалить старый сервер и перейти на новый? Ничего страшного - просто скопируйте ваши виртуальные жесткие диски, измените несколько настроек, чтобы указать новое местоположение, и вы готовы к работе. Сами операционные системы не знают, что их переместили, вынеся половину работы из процесса. Такая выгода может создать огромную эффективность с точки зрения ИТ-персонала.
  • Вся эта консолидация еще больше уменьшает потребность в персонале ИТ, поскольку теперь стало намного меньше физических серверов для управления.

Я знаю, что многое из этого звучит так, как будто это может помочь только в магазинах с большим и большим количеством серверов, но в качестве небольшого примера, когда я работаю в начале прошлого года, у нас было 14 физических серверов, и к концу следующего года я надеюсь, что нас до 5. Это включает в себя 3 случая вещей, которые не всегда так хорошо виртуализируются: устройство шлюза, сервер sql и контроллер домена. Это означает, что у меня будет консолидировано 11 серверов, которыми я должен был управлять до двух (с целью добавления третьего сервера для обеспечения большего пространства и избыточности).

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

Обновить:
Я выделил один из своих пунктов, потому что он, по-моему, упущен, и объясняет, как виртуальные машины также приводят к повышению производительности.

4

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

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

Например, каждая невинная виртуальная машина будет прерывать процессор по крайней мере 1000 раз в секунду, чтобы повысить его тактовую частоту. Поместите n виртуальных машин на одну физическую, и у вас будет (n + 1) * 1000 прерываний в секунду! Не говоря уже о том, что прерывание - самая медленная из всех процессоров ЦП.

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

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

2

Два ответа (пока), которые говорят, что это эффективная виртуализация адресов в масштабе компании. Он также эффективен (для некоторых определений эффективен) для личного использования. У меня 1 ноутбук, но 5 операционных систем. Я могу протестировать свое программное обеспечение на "чистой" ОС, зная, что нет никаких висящих ключей реестра или чего-либо подобного из предыдущих установок и т.д.

И, конечно же, для строгого определения эффективности процессора, это не так хорошо, как выделенное оборудование.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .