Почему сегодня так много шумихи по поводу виртуализации?

34

Виртуальная машина, Виртуальный сервер, Виртуальный диск и т. Д. ......

Для меня не имеет особого смысла, почему кто-то хотел бы сделать свои вещи «виртуальными», когда в основном это добавляет еще один слой ко всему (что в большинстве случаев заставляет его работать медленнее).

Какова цель виртуализации в нескольких случаях выше?

Темный тамплиер
источник
15
Потому что вы можете одним щелчком мыши переместить весь виртуальный сервер с одного физического компьютера на другой, например, без простоев.
AndrejaKo
8
«что в большинстве случаев заставит его работать медленнее», - я не согласен с этим утверждением.
EJB
4
-1 ПРИЧИНА: «Этот вопрос не требует каких-либо исследовательских усилий; он неясен или бесполезен (нажмите еще раз, чтобы отменить)»
wizlog
3
«Эта доза вопроса не показывает никаких исследований»: LOL!
bwDraco

Ответы:

67

Проще говоря, виртуализация - это не ответ на все вопросы, но она великолепна!

Вы говорите, добавьте еще один слой / заставляет его работать медленно, но в современных системах это не так уж много. В настоящее время существует множество методов и функций, которые делают этот «слой» минимальным (например, Intel VT-x, AMD-V ). Если вы используете виртуализацию на основе гипервизора , этот уровень еще меньше.

Однако, исходя из способа использования дисков и памяти, в некоторых ситуациях можно увидеть увеличение скорости.

Теперь краткий обзор продуктов виртуализации, так как есть некоторая путаница. Есть 4 категории, большинство из которых довольно разные:

Гипервизор - наименьшая нагрузка и, как правило, надежная конструкция, предназначенная для виртуализации 24x7 (Например, Microsoft Hyper V , VMware ESXi .

Виртуализация настольных компьютеров (на основе программного обеспечения). Обычно предназначена для программистов, тестировщиков и ИТ-специалистов. Скорость по-прежнему очень высока / близка к скорости на современных компьютерах, но, по милости гостевой операционной системы, она работает, поэтому пока я работаю 3 Виртуальные машины 24x7 на моей машине для различных задач, на самом деле они не «предназначены» для этого (например, Microsoft Virtual PC , VMware Workstation , Sun (Oracle?) Virtual Box ). Они эмулируют весь виртуальный компьютер.

Серверная (программная) виртуализация - это был довольно большой рынок некоторое время, но он был менее способным, чем гипервизор, и сейчас вообще мертвый рынок. По сути, это виртуализация десктопов, которая просто подходит для серверной среды (например, Microsoft Virtual Server , VMware Server .

Виртуализация программного обеспечения - согласно комментариям, я оставил это. Это специализированный рынок, который обычно предназначен для виртуализации отдельных программ (например, Microsoft App-V , VMware ThinApp ). Это создает тонкий «слой» между вашим компьютером и программным обеспечением - он в основном перехватывает все вызовы, сделанные программой, чтобы перенаправить записи файла / реестра и, по сути, изолировать приложение. Это имеет несколько преимуществ, таких как возможность запуска нескольких версий некоторых сложных приложений, и делает развертывание довольно простым (хотя это может быть трудной областью для понимания / понимания).

Что касается того, почему они так популярны сейчас - все сводится к стоимости и времени администрирования.

Например, в моей компании мне нужно запустить множество «систем» для различных систем, которые я использую ... SQL Server, система интрасети, система биллинга, система электронной почты, VOIP, устаревшая система для какого-то старого программного обеспечения, которое у меня есть для немногих клиенты и еще несколько - при условии, что некоторые из них могут быть запущены из одной и той же коробки, но по длинному списку скучных причин я хочу разделить их.

Этот выбор в 2004/5 означал, что у меня было 6 серверов, которые работали в режиме 24x7 - он работал отлично, но на каждой машине было 2 ГБ памяти (когда это было дорого!) И процессор эпохи P4, на котором я мог приготовить яйцо. , Процессоры во всех системах едва превышали 5% ... может быть, пиковые значения в 10-15%, но большинство практически бездействовало на 0% в течение почти срока службы машин.

Что касается электричества, я действительно не могу вспомнить, но, я считаю, это стоило мне около 100 фунтов стерлингов за машину в год.

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

Это означает, что на моих 6 машинах было по 2 ГБ памяти, но в среднем все они использовали примерно 1/4 от этого. На этой новой машине я смог просто вставить 8 ГБ и без шва P2V ( От физического к виртуальному - процесс миграции машины), все мои машины работают так же быстро, как и когда-либо ... на самом деле они быстрее (поскольку у них более быстрый процессор).

В дополнение к этому, есть много других преимуществ, таких как миграция ( V-Motion ) и высокая доступность, которые просто делают виртуализацию блестящим выбором.

Следует также сказать, что есть некоторые дополнительные возможности, о которых многие домашние / некоммерческие пользователи не задумываются - мне удалось избавиться от некоторого моего сетевого оборудования, потерять нагрузку от кабелей, нет необходимости в моем дорогом KVM ... Я мог бы сбросить 5 ИБП и мой PDU ... И, что самое приятное, он помещается в одном шкафу, вместо раздражающего огромного гудения вентилируемой стойки! ... и не так важно, чтобы летом кондиционер работал так высоко (что я не учел выше в стоимости электроэнергии).

Возможно, я был маленьким, но подумайте о том, что крупные компании делают это в более широком масштабе - я однажды помогал крупной компании перейти на виртуальную среду - у них не было бюджета, поэтому я договорился, что условия моего контракта Я получу любую экономию средств в течение 1 года и 20% в течение следующих 3-х ... Это мне очень хорошо заплатило, и они пользовались административными преимуществами в первый год - и огромная экономия в будущем.

Надеюсь, это ответит на ваш вопрос! Если у вас есть дополнительные вопросы, я буду рад ответить на них.

Уильям Хилсум
источник
2
Очень хороший ответ Я бы даже добавил 4-ю категорию - программные виртуальные машины (в основном для программирования), такие как Java VM, Perl, V8, CLI и т. Д., Которые улучшают переносимость.
шнайдер
4
Возможно, вам следует написать в блоге об этом @Wil ;-)
Ivo Flipse
4
Я не вижу, как виртуальные машины способствуют высокой доступности. Буквально на днях у нас было аппаратное хранилище на нашем виртуальном сервере. Мгновенно восемь серверов были отключены от сети. VMotion не работает, если хост, который вы хотите переместить, работает, насколько я понимаю.
Энди
2
@Andy - vmware.com/products/high-availability/overview.html - я использовал это для клиентов, виртуальная машина работает в двух местах, и если один из них выходит из строя, другой мгновенно срабатывает, даже не теряя ни одного пинга - это действительно Это действительно удивительная технология без необходимости конфигурировать кластеризацию или что-либо еще в программном обеспечении - это просто особенность гипервизора.
Уильям Хилсум
1
@IvoFlipse Сделка! .... когда у меня будет время! Должны начать новую работу на следующей неделе (будь то контракт на месяц), и сейчас все немного беспокойно.
Уильям Хилсум
22

Добавить к ответу Уильяма

Тестирование программного обеспечения на операционных системах. Я видел программный скрипт, который при создании новой версии их программного обеспечения автоматически запускает виртуальные машины для различных операционных систем и устанавливает новое программное обеспечение, а затем запускает некоторые модульные тесты, чтобы убедиться, что все работает и затем выключает виртуальную машину. В этом конкретном случае это был только один vm для каждой операционной системы, но было бы возможно расширить это до большего числа сценариев. Например, Vm для Windows 7 32-разрядная, другая для Windows 7 64-разрядная. Другой для W7 32-битный с пакетом обновления 1, W7 64-битный с SP1, vms с IE 9, vms с IE. Поскольку в каждый момент времени запускается только один из этих vms, все, что он использует, - это дисковое пространство, поэтому на обычном сервере можно разместить десятки vms.

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

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

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

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

И это не только серверы / предприятия, где вирулизация может быть полезной.

Я делаю свои личные учетные записи, используя старую версию Quicken и действительно, очень старую версию Excel и несколько других небольших программ. Эта установка не работает прямо в Vista / W7 и совсем не работает в 64-битных окнах. Я использовал это на старом компьютере, который стал ненадежным. Теперь это виртуальный жесткий диск XP, и теперь, когда я получаю новую машину, я просто устанавливаю Virtual PC, копирую свою виртуальную машину и запускаю свою виртуальную машину, и все настраивается и работает намного быстрее. Не нужно устанавливать Quicken и Excel и не нужно искать дискеты, на которых появилась Excel (я говорил, что это действительно очень старая версия).

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

sgmoore
источник
3
Моментальные снимки не так хороши, как кажутся - они несут БОЛЬШОЙ удар по производительности. Каждый снимок, который вы делаете, замедляет работу виртуальной машины, и если вы продолжите делать снимки с несколькими ветвями, ваша виртуальная машина остановится. Если вам нужна резервная копия, вам лучше скопировать содержимое виртуальной машины в другом месте, а не делать снимки. Снимки идеальны, когда вы не берете их слишком много и нуждаетесь в «быстром» механизме резервного копирования и восстановления, таком как тестирование установок программного обеспечения или поведения вирусов.
Бегемот
@sgmoore, что странно, потому что моя 32-битная установка Windows Office отлично работала на моем новом 64-битном компьютере. Разве все эти машины не должны быть обратно совместимыми?
Темный тамплиер
+1 для снимков. Если то, что тестируется, не работает, вернитесь, если это работает, избавьтесь от снимка.
Bratch
@JacobHayden. Совместимость не идеальна, для чего и нужен режим XP. Но на самом деле я не смог протестировать свою копию Excel с 64-битными окнами (но я работаю с 32-битной версией Office 2007 под 64-битной версией W7). Мои проблемы были больше связаны с другими программами, так как установка Quicken только что завершилась сбоем, и во-вторых, у меня были проблемы с ODBC. Проще было избежать проблем и продолжить использовать XP на виртуальной машине.
sgmoore
Я делаю все в Linux на своем ноутбуке (не на предприятиях вообще), но мне все еще нужны случайные вещи в XP или 7. Раньше мне приходилось сталкиваться с серьезным обострением перезагрузки моей двухзагрузочной машины дважды - один раз, чтобы добраться до ХР и один раз вернуть. Теперь я могу запустить XP в виртуальной машине, так что она выглядит как другое приложение под Linux. Это огромное улучшение. И, кроме того, все, что мне нужно сделать, это скопировать один (огромный) файл, чтобы полностью создать резервную копию Windows - в готовом к работе со всеми моими настройками в целости и сохранности. Это великолепно!
Джо
5

На крупных предприятиях это также позволяет значительно сэкономить на лицензионных требованиях. То есть, лицензия на два ЦП Microsoft Server 2008 Datacentre позволит вам запускать столько копий Server 2008 R2 в виртуальной коробке, сколько он может обработать, без дополнительных затрат на лицензирование для каждой ОС. Аналогично, Microsoft SQL Server лицензируется для каждого процессора.

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

Обратитесь к http://www.bythebell.com/2010/05/virtualization-licensing-savings-for-microsoft-windows-and-sql-server-products.html за некоторыми примерами этого.

Все комментарии Уильяма выше также действительны.

AaronM
источник
5

Еще одна ключевая причина, по которой я думаю, что он настолько популярен, заключается в том, что он считается « зеленым » способом работы вашего дата-центра, потому что он может потреблять меньше электроэнергии. И Greenwashing - большая вещь для корпоративных отделов связи с общественностью в последнее время.

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

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

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

JohnFx
источник
Привет, JohnFX, не мог бы ты немного рассказать о том, как облачные вычисления и виртуализация похожи или связаны? Спасибо :)
Темный тамплиер
1
В основном я имел в виду облачные вычисления типа «оборудование как услуга», когда вы предоставляете серверные платформы сторонним организациям и получаете к ним доступ через Интернет. До этого у таких компаний, как Rackspace, были виртуальные компьютеры, предназначенные для каждого клиента. Теперь они просто распределяют ресурсы с помощью виртуализации, и это экономит их значительные затраты.
JohnFx
0

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

мили относительного движения
источник
-3

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

jamesson
источник
4
Я бы не сказал, что это очень точно - Пожалуйста, прочитайте мой ответ - Я бы не стал называть себя ленивым, и я запускаю устаревшие приложения. Причина в том, что я могу запустить Windows NT 4 для клиентской системы, отлично все виртуализированной, где, где, на Земле, я собираюсь найти поддержку для старого оборудования, подобного этому? И если что-то сломается, у меня будут серьезные неприятности ... Это работает безупречно внутри виртуальной машины. Кроме того, каждая виртуальная машина имеет идентификатор BIOS, NIC MAC и т. Д. Таким образом, все они выглядят как отдельная машина, и очень легко заметить разницу.
Уильям Хилсум