Виртуализация процессора для чего нужна

Что такое виртуализация процессора простыми словами и как ее включить?

Виртуализация процессора для чего нужна

Привет, на связи Алексей!  Слово «виртуальный» сегодня у всех на слуху.  У меня до сих пор  «виртуальность» ассоциациируется с  фильмом «Косильщик лужаек», который вышел в девяностые годы. С тех пор прошло много времени.

У нас еще не в ходу виртуальная реальность, слава Богу. Мы пока живем и мыслим в реальном мире. А вот виртуальные компьютеры уже легко может создать любой человек у себя дома.

Сделать это позволяет технология виртуализации на процессоре вашего компьютера (или ноутбука).

В сегодняшнем материале сделаю краткий обзор  как это работает, и  расскажу для чего бывает  нужен виртуальный компьютер.  Самый простой пример — у вас дома  в наличии есть обычный современный настольный ПК. На нем установлена операционная система Windows 7.

Вы решили  осваивать  Windows 10 или другую операционной систему, например Linux Mint. Раньше было доступно  только два варианта.  Или поставить новую вместо старой и потом переносить  туда данные. Можно установить обе системы на один компьютер и  запускать их поочередно. Но это не удобно.

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

Проблема эта оказывается не нова, еще в 80 г двадцатого века ее пытались решить на Западе.

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

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

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

В крупных  организациях стоят дорогие сервера, и вместо того чтобы тратить деньги на  на покупку нового  «железа» можно на ОДНОМ физическом системном блоке установить к примеру  два виртуальных сервера.

Один почтовый, другой DNS. Мы получаем ДВА отдельных сервера.  Каждый из этих  виртуальных серверов работает изолированно от друг от друга как отдельный компьютер.

При этом ресурсы физического компьютера используются на полную мощность (при правильном расчете).  Никакого простоя.

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

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

Часть данных операционной системы  обрабатывается процессором на уровне «1«. Другая важная часть команд от операционной системы работает с процессором, например только на уровне «» и занимает эту область.

Вы пытаетесь запустить виртуальную машину, а эта «нулевая» область  уже занята реальной операционной системой.

Ничего не получится. Поэтому в процессоре должна быть область «-1«, которая одновременно принимала бы команды от «новой»  операционной системы, и не затрагивала бы работу «старой».  Нужен процессор, который умеет управлять работой двух операционных систем одновременно.

Что означает виртуализация процессора AMD?

Традиционно считается, что процессоры AMD у нас доступнее и дешевеле, чем INTEL. Это совсем не значит что они хуже. Многие домашние игровые компьютеры управляются процессорами AMD. Есть мнение, что  технология виртуализации от AMD тоже проще и эффективнее, чему у Intel.

Виртуализация AMD (AMDV™) — это набор уникальных интегрированных в чип функций, которые позволяют клиентам на базе процессоров AMD  запускать несколько операционных систем и приложений на одной машине. Впервые появилась в 2008 году на процессорах Athlon x64

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

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

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

Что такое виртуализация в процессорах Intel Core i5?

Компания Intel объявила о своих наработках в этом направлении в 2005 году.

Технология носит название Intel VT и со времен процессора Pentium4  (672) ее процессоры поддерживают эту функцию.

  С тех пор функционал непрерывно совершенствуется и добавляются новые возможности.  На сайте компании есть краткий перечень достижений:

  • касаемо процессора  — на виртуальной машине производительность процессора будет практически такой же как и на физической. При замене процессора на более производительный возможна миграция. На виртуальной машине можно создавать еще одну виртуальную машину (вложенная виртуализация);
  • Оперативная память при использовании VT разделяется и изолируется в том объеме который вы выделите;
  • функция реализации оптимального  ввода /вывода данных на жесткий диск и  сетевые карты обеспечивает скорость работы по сети и чтения/записи;
  • Оптимизированы возможности поддержки графических процессоров в виртуальной машине, что позволяет создавать виртуальные удаленные рабочие места на одном сервере.

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

Что значит виртуализация процессора в BIOS ?

Все современные процессоры поддерживают функцию. Ее только надо включить на материнской плате. Обычно она выключена и виртуальная машина не запустится.

Для начала убеждаемся, что наш процессор поддерживает виртуализацию.

Сделать это можно любым приложением, которое умеет собирать данные о вашем «железе» и выдавать ее в виде отчета.

Как проверить включена ли виртуализация на вашем ПК?

Есть утилиты которые проверяют включена ли функция на вашем процессоре, а не только ее наличие. Я пользуюсь CPU-Z,  а включение проверяю в BIOS. Запустив програму переходим на вкладку «Процессор»:

У меня процессор Intel и набор инструкций  должен быть AVX. На процессорах AMD соответсвенно будет AMD-V. Если у вас в наборе инструкции есть такая запись, значит  нужно ее активировать в BIOS.

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

В UEFI BIOS  примерно так включается виртуализация:

На обычных BIOS включать можно так:

Теперь можно устанавливать и настраивать виртуальную машину. Об этом читаем далее.

Источник: https://fast-wolker.ru/chto-takoe-virtualizaciya-processora-prostymi-slovami-i-kak-ee-vklyuchit.html

Виртуализация – теория и практика > Тест/обзор > Программы > Компьютерный портал F1CD.ru

21 октября 2008, Сабадаш Даниил

Виртуализация – явление, о котором говорят многие компьютерные «светила», термин которым часто оперируют производители процессоров и софта, но, что же это такое на самом деле? А на самом деле в применении виртуализации нет ничего сложного, но при этом получить практическую пользу от использования различных программных и аппаратных средств виртуализации может любой, в том числе и домашний, пользователь. Об этом, собственно, и пойдёт речь в этом материале.

Замечено, что почти каждый человек подсознательно понимает значение слова «виртуальность», а вот дать определение может далеко не всегда.

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

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

Я долго думал, как проиллюстрировать значение этого слова в естественных науках и применительно к компьютерным технологиям в частности.

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

В теоретической механике существует «принцип виртуальных перемещений», который используется для решения некоторых задач.

Основная мысль, если быть кратким, заключается в том, что рассматриваемая система, находящаяся в равновесии, приводится в движение, путем теоретического освобождения от удерживающих ее связей (то есть рассматриваются перемещения, которые могли бы произойти, если бы не связи). Этот принцип, в свое время, был переименован у нас на родине (тогда еще СССР) в «принцип возможных перемещений». Таким образом, мы видим, что термин «виртуальный» является эквивалентом «возможного«!

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

А теперь дадим более четкое определение:

Читайте также  0XC0000185 Windows 8 что делать

Виртуализация – это процесс запуска специализированного программного обеспечения под операционной системой, называемой хостом (Host OS), дающего возможность создавать виртуальные машины (Virtual Machine), обладающие заданными характеристиками реальных компьютеров, и запускать на них независимо друг от друга различные гостевые операционные системы (Guest OS).

Это определение довольно жёстко и, в какой-то мере, трудно для восприятия.

Поэтому, мы для примера рассмотрим самую распространенную на сегодняшний день ситуацию, когда на компьютере некоего пользователя установлена MS Windows XP.

Если ему потребуется работать, например, в ОС Linux, для этого необходимо будет установить эту систему либо на другой жесткий диск, либо на один из логических дисков уже имеющегося.

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

С её помощью можно инсталлировать Linux на созданный виртуальный диск, расположенный на винчестере и без всяких проблем запускать систему из под Windows.

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

Подробнее об этом случае мы поговорим далее, рассматривая конкретные примеры программ виртуализации.

Для реализации самой виртуализации существует два подхода аппаратный и программный.

Аппаратная виртуализация #

Реализуется за счёт так называемого гипервизора (Hypervisor) – специализированного программного обеспечения, которое само является в некотором роде операционной системой.

В литературе также часто используется термин монитор или же менеджер виртуальных машин (Virtual Machine Monitor/Manager, сокращенно VMM).

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

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

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

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

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

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

На сегодняшний день на рынке существуют две технологии аппаратной виртуализации, представленные двумя крупнейшими производителями процессоров Intel и Advanced Micro Devices (AMD).

Технология Intel Virtualization Technology (Intel VT) требует поддержки не только со стороны процессора, но также чипсета и BIOS материнской платы.

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

Далее всю работу по корректному обслуживанию виртуальной машины берет на себя VMM.

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

  • Intel Pentium 4 processor: 672, 662
  • Intel Pentium Dprocessor: 960, 950, 940, 930, 920
  • Intel Pentium processor Extreme Edition: 965, 955, 840(?). Относительно последнего указываются разные данные.
  • Intel Core Solo processor:
    • Intel Core Solo processor Ultra Low Voltage: U1500, U1400, U1300
  • Intel Core2 Solo processor: U2200, U2100
  • Intel Core Duo processor: T2700, T2600, T2500, T2400, T2300
    • Intel Core Duo processor Low Voltage: L2500, L2400, L2300
    • Intel Core Duo processor Ultra Low Voltage: U2500, U2400
  • Intel Core2 Duo processor: E6850, E6750, E6700, E6600, E6550, E6540, E6420, E6400, E6320, E6300; T7800, T7700, T7600, T7500, T7400, T7300, T7250, T7200, T7100, T5600
    • Intel Core2 Duo Low Voltage: L7500, L7400, L7300, L7200
    • Intel Core2 Duo Ultra Low Voltage: U7600, U7500
  • Intel Core2 Quad processor: Q6700, Q6600
  • Intel Core2 Extreme processor: QX6850, QX6800, QX6700, X7900, X7800, X6800
  • Intel Itanium 2 processor: 9050, 9040, 9030, 9020, 9015
  • Intel Xeon processor: вся линейка полностью

AMD предложила своим пользователям собственную технологию AMD Virtualization (AMD-V), базирующуюся на другой фирменной технологии Direct Connect. Сама виртуализация построена таким образом, что VMM полагает все запущенные на компьютере операционные системы виртуальными:

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

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

И, что самое удивительное, это даже не всегда упоминается в спецификации.

Однако на официальном форуме удалось выяснить, что AMD-V поддерживают все процессоры на сокетах AM2, S1, F, кроме линейки Sempron.

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

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

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

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

Программная виртуализация #

В этом случае не требуется никакого специализированного аппаратного обеспечения, как в случае с виртуализацией аппаратной.

Пользователь просто устанавливает одну из программ виртуализации, создаёт в ней виртуальные машины и запускает на них гостевые операционные системы.

При этом, разумеется, используются лишь ресурсы потребляемые хост-системой.

Среди наиболее aизвестных продуктов данного класса можно выделить линейку программ VMware (Workstation, Server, Player), VirtualBox, Parallels Workstation, Microsoft Virtual PC, Qemu и Bochs.

Функциональность всех этих продуктов будет рассмотрена нами чуть-чуть попозже.

Также для каждой из них будет дана достаточно подробная инструкция по установке гостевой операционной системы (на примере дистрибутива Ubuntu, в последнее время пользующегося большой популярностью у многих пользователей Linux).

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

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

Виртуальная машина и внешний мир #

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

Что это означает на практике? Всё просто – программы виртуализации должны по требованию пользователя предоставлять сервис по обмену данными между системами.

Это может быть, например, обмен файлами и (причем как в направлениях хост ↔ гость, так и гость ↔ гость) и настройка локальной сети. Иными словами, виртуальная машина должна побыть столь же полноценна и функциональна, как и реальная.

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

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

«sharing»), доступные как хосту, так и гостевой ОС), что делает довольно запутанной схему обмена информацией между системами.

Аппаратная или программная виртуализации? #

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

Оценки быстродействия разнятся, доходя порой до полной противоположности. Так, в одних источниках сообщалось о достижении 90% и более использования производительности физического процессора, в других – об отсутствии таковой и, в некоторых случаях, даже об её потере.

Читайте также  Чем отличается быстрое форматирование от полного

Для чего нужна виртуализация? #

Сейчас мы попытаемся обозначить наиболее наглядные позиции, когда пользователю могут потребоваться технологии виртуализации:

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

Данная статья впервые была опубликована в
F1CD №15 (стр. 20) – 26 мая 2008 года

Рекомендуем также почитать

Источник: http://www.f1cd.ru/soft/reviews/virtualization_technology

Виртуализация в процессоре

Привет, друзья! В последнее время, гиганты IT‐индустрии, как с расписной торбой, носятся с идеей виртуализации.

Мол, это настолько круто, что на любом офисном ПК должна быть виртуализация процессора.

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

Virtualization Technology

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

Особенность в том, что под них создается специальная среда – своего рода «песочница», процессы в которой никак не могут повлиять на систему в целом, но могут обращаться к процессору напрямую, минуя посредников в виде основной ОС и все сопутствующие службы.

Сегодня, область практического применения, это технологии, развиваются по трем направлениям:

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

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

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

Самый известный пример такого способа использования этой технологии – браузерные многопользовательские игры.

Так называется имитация аппаратной части компьютера, со строго заданными параметрами. На такой виртуальный компьютер можно установить собственную ОС и запускать с ее помощью приложения.

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

Пример использования – эмулятор Андроида: создается отдельное виртуальное устройство с собственной ОС, которое может быть использовано как для развлечений, так и проверки работоспособности приложений.

Программа запускается в изолированной среде и никак не контактирует с «внешним миром», поэтому не конфликтует и не наносит вреда другим приложениям. Таким же способом можно запустить разные версии одной и той же программы.

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

Надо ли вам это

Зачем такая замечательная технология рядовому юзеру, что дает она и дает ли вообще? По большому счету, незачем, и поддержка виртуализации в процессоре домашнего ПК – скорее дань трендам, чем насущная необходимость.

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

Меж тем, технологии сегодня оказывают поддержку и широко внедряют оба кита, на которых держится производство компьютерных процессоров – Intel и AMD. Естественно, обойдется покупка такого девайса дороже – и не потому, что технически он гораздо сложнее.

Дело в маркетинге – за поддержку виртуализации, некоторые готовы выложить лишние деньги, не понимая толком, что такое им хотят продать.

Как включить виртуализацию

Активировать эту опцию можно в БИОСе (при условии, что она не включена изначально).

Как включить: при перезагрузке компьютера нажать кнопку Del или F2 (чаще всего, на некоторых материнских платах кнопка может быть другой) и найти в меню пункт Virtualization Technology.

Где именно искать – зависит от модели и версии BIOS. Следует выбрать опцию Enabled и, сохранив изменения, перезагрузить компьютер.

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

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

Я уже упоминал в этой статье эмуляторы Android.

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

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

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

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

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

С уважением, автор блога Андрей Андреев.

Источник: https://infotechnica.ru/pro-kompyuteryi/o-protsessorah/virtualizatsiya/

Зачем же нужна виртуализация?

Слово «виртуализация» в последнее время стало какой-то «модой» в ИТ-среде. Все вендоры железа и ПО, все ИТ-компании в один голос кричат, что виртуализация – это круто, современно, и нужно всем.

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

Типы виртуализации

Итак, начнем с того, что виртуализация делится на три типа:

  • Виртуализация представлений
  • Виртуализация приложений
  • Виртуализация серверов

С виртуализацией представлений знакомы многие из вас: самый яркий пример – это терминальные службы Windows Server. Терминальный сервер предоставляет свои вычислительные ресурсы клиентам, и клиентское приложение выполняется на сервере, клиент же получает только «картинку», то бишь представление. Такая модель доступа позволяет, во-первых – снизить требования к программно-аппаратному обеспечению на стороне клиента, во-вторых – снижает требования к пропускной способности сети, в-третьих – позволяет повысить безопасность. Что касается оборудования – то в качестве терминальных клиентов могут использоваться даже смартфоны или старые компьютеры вплоть до Pentium 166, не говоря уже о специализированных тонких клиентах. Существуют, к примеру, тонкие клиенты в форм-факторе розетки Legrand, монтируемые в короб. На клиентских рабочих местах достаточно установить только монитор, клавиатуру и мышь – и можно работать. Для работы с терминальным сервером не обязательно иметь высокоскоростное подключение к локальной сети, вполне достаточно даже низкоскоростного подключения с пропускной способностью 15-20 кбит/с, поэтому терминальные решения очень подходят фирмам, имеющим сильно распределенную структуру (к примеру – сети небольших магазинов). Кроме того, при использовании тонких клиентов значительно повышается безопасность, потому что пользователям можно разрешить запускать только ограниченный набор приложений, и запретить устанавливать свои собственные приложения. В принципе, то же самое можно сделать и с полноценными клиентскими рабочими станциями, но с использованием терминальных служб это будет сделать гораздо проще, особенно – не предоставляя доступ целиком к рабочему столу, а лишь публикуя отдельные приложения (возможно в Citrix Metaframe/PS, а так же в Windows Server 2008 и выше). Более того, никакую информацию нельзя будет скопировать на и с внешнего носителя, если это явно не разрешено в настройках терминальных служб. То есть проблема «вирусов на флэшках» отпадает автоматически. Еще одно неоспоримое достоинство – снижение сложности администрирования: упрощается обновление приложений (достаточно обновить их на сервере), и упрощается работа служб поддержки: к терминальной сессии любого пользователя можно подключиться удаленно без установки дополнительного ПО. Недостатков у таких систем два: во-первых – необходимость покупки более мощных серверов (хотя это может быть дешевле, чем множество клиентских рабочих станций с ТТХ, достаточными для запуска приложений локально), во-вторых – появление единой точки отказа в виде терминального сервера. Эта проблема решается за счет использования кластеров, или ферм серверов, но это приводит к еще большему удорожанию системы.

Читайте также  Что нужно чтобы собрать игровой компьютер

Виртуализация приложений – достаточно интересное, и относительно новое направление. Рассказывать здесь подробно о нем я не буду, поскольку это тема для целой отдельной статьи.

Коротко говоря, виртуализация приложений позволяет запускать отдельное приложение в своей собственной изолированной среде (иногда называется «песочница», sandbox). Такой способ помогает решить множество проблем.

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

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

Более подробно о виртуализации приложений можно посмотреть, к примеру, в этом вебкасте: www.techdays.ru/videos/1325.html Возможно, однажды я даже напишу статью на эту тему.

И, наконец, перейдем к виртуализации серверов и остановимся на ней подробно.

Виртуализация серверов – это программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т.д. Далее, на такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного «железного», при этом все виртуальные компьютеры могут работать независимо друг от друга. Для чего это можно применять? Первое, что приходит в голову – виртуализацию серверов можно использовать в целях обучения и в тестовых целях. К примеру, новые приложения или ОС можно протестировать перед запуском в промышленную эксплуатацию в виртуальной среде, не покупая специально для этого «железо» и не рискуя парализовать работу ИТ-инфраструктуры, если что-то пойдет не так. Но кроме этого, виртуализация серверов может использоваться и в продакшн-среде. Причин тому много. Виртуализация позволяет сократить количество серверов благодаря консолидации, то есть там, где раньше требовалось несколько серверов – теперь можно поставить один сервер, и запустить нужное число гостевых ОС в виртуальной среде. Это позволит сэкономить на стоимости приобретения оборудования, а так же снизить энергопотребление, а значит и тепловыделение системы – и, следовательно, можно использовать менее мощные, и, соответственно – более дешевые системы охлаждения. Но у этой медали есть и обратная сторона, и не одна. Дело в том, что при внедрении решений на базе виртуализации, скорее всего придется покупать новые сервера. Дело в том, что виртуальные сервера используют аппаратные ресурсы физического сервера, и, соответственно – понадобятся более мощные процессоры, большие объемы оперативной памяти, а так же более скоростная дисковая подсистема, и, скорее всего – большего объема. Кроме того, некоторые системы виртуализации (в частности – MS Hyper-V) требуют поддержки процессором аппаратных технологий виртуализации (Intel VT или AMD-V) и некоторых других функций процессора. Многие процессоры, которые выпускались до недавнего времени, в частности – все x86_32bit – этим требованиям не удовлетворяют, и поэтому от старых, хотя и вполне рабочих серверов придется отказаться. Однако же, один более мощный сервер скорее всего будет стоить намного дешевле нескольких менее мощных, да и старые сервера, скорее всего давно пора менять из-за морального устаревания. Есть еще один очень важный момент: виртуализация северов позволяет до предела упростить администрирование инфраструктуры. Главное преимущество, которое оценят все сисадмины – это возможность удаленного доступа к консоли виртуальных серверов на «аппаратном», точнее – «вирутально-аппаратном» уровне, независимо от установленной гостевой ОС и ее состояния. Так, чтобы перезагрузить «зависший» сервер, теперь не нужно бежать в серверную, или покупать дорогостоящее оборудование типа IP-KVM-переключателей, достаточно просто зайти в консоль виртуального сервера и нажать кнопку «Reset». Помимо этого, виртуальные сервера поддерживают технологию моментальных снимков (о ней см. мою предыдущую статью), а так же бэкап и восстановление виртуальных систем намного легче. Еще одно неоспоримое преимущество – ОС, запущенная внутри виртуальной машины (гостевая ОС) понятия не имеет, какое оборудование установлено на физическом сервере, внутри которого она работает (хост). Поэтому, при замене железа, при апгрейде или даже переезде на новый сервер необходимо обновить драйверы только на ОС самого хоста (хостовой ОС). Гостевые ОС по будут работать как и раньше, поскольку «видят» только виртуальные устройства. Так же, хочется напомнить, что в виртуальной среде могут действовать особые правила лицензирования ПО (в частности, покупка лицензии на Microsoft Windows Server 2008 Enterprise позволяет использовать бесплатно четыре копии ОС в качестве гостевой, а Microsoft Windows Server 2008 Datacenter вообще разрешает использовать неограниченное число гостевых ОС при условии полного лицензирования по процессорам). Еще нельзя не упомянуть о технологиях отказоустойчивости. Физические сервера, на которых запускаются виртуальные машины, могут быть объединены в кластер, и в случае отказа одного из серверов – автоматически «переезжать» на другой. Полной отказоустойчивости добиться не всегда возможно (в частности, в MS Hyper-V такой «внезапный переезд» будет выглядеть так же, и иметь такие же возможные последствия, как внезапное обесточивание сервера), но возможные простои сильно сократятся: «переезд» занимает несколько минут, тогда как ремонт или замена самого сервера может занять часы, а то и дни. Если же «переезд» виртуальных машин происходит в штатном режиме, то он может пройти совершенно незаметно для пользователей. Такие технологии у разных вендоров называются по-разному, к примеру у MS она называется «Live Migration», у VMware – Vmotion. Использование таких технологий позволит проводить работы, связанные с выключением сервера (к примеру – замену некоторых аппаратных компонент, или перезагрузку ОС после установки критических обновлений) в рабочее время и не выгоняя пользователей из их любимых приложений. Кроме этого, если инфраструктура построена соответствующим образом – запущенные виртуальные машины могут автоматически перемещаться на менее нагруженные сервера, или же наоборот «разгружать» наиболее загруженные. В инфраструктуре на базе технологий Microsoft для этого используются System Center Virtual Machine Manager и Operations Manager. В заключение темы по виртуализации серверов — отмечу, что виртуализация не всегда одинаково полезна. В частности, не всегда будет хорошей идеей переносить в виртуальную среду высоконагруженные сервера, а особенно — высоконагруженные по дисковой подсистеме — это «тяжелые» СУБД, Exchange Server, особенно — роль Mailbox Server, и прочие высоконагруженные приложения. А вот сервера с меньшей нагрузкой (контроллеры доменов AD, WSUS, всевозможные System Center * Manager, веб-сервера) виртуализировать можно и даже нужно. Замечу, кстати, что именно с контроллерами доменов — очень желательно, чтобы хотя бы один из контроллеров был «железным», то есть не виртуальным. Нужно это потому, что для корректной работы всей инфраструктуры желательно, чтобы при запуске всех остальных серверов хотя бы один КД уже был доступен в сети.

Резюме

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

Если у вас есть много пользователей, работающих с одинаковым набором ПО, и система сильно распределена территориально – то стоит подумать об использовании виртуализации представлений, сиречь – терминальных службах.

Достоинства такой системы:

  • Снижение требований к «железу» на стороне клиентов
  • Снижение требований к пропускной способности сети
  • Повышение безопасности
  • Значительное упрощение администрирования и поддержки

Недостатки:

  • Повышения требований к серверам, как по производительности, так и по надежности
  • Возможная единая точка отказа

Если у вас существует множество приложений, которые некорректно работают в новой ОС, либо же конфликтуют между собой, или необходимо запускать на одном компьютере несколько версий одной и той же программы – то нужна виртуализация на уровне приложений. Достоинства:

  • Безопасность
  • Простота администрирования — централизованное обновление и разграничение прав на доступ к приложениям

Недостатки:

  • Некоторая сложность в понимании технологий и в практическом внедрении.

Если же вам нужно освободить место в стойке, снизить энергопотребление систем, избавиться от «серверного зоопарка» — то ваше решение – виртуализация серверов. Достоинства такого решения:

  • Экономия места в стойках
  • Снижение энергопотребления и тепловыделения
  • Упрощение администрирования
  • Широкие возможности по автоматизации развертывания и управления серверами
  • Снижение вынужденных и запланированных простоев системы за счет failover-кластеров и live migration
  • Позволяет (при использовании ОС Microsoft Windows Server) сэкономить на лицензиях на гостевые ОС

Недостатки – в принципе, те же, что и у терминальных решений:

  • Повышение требований к аппаратному обеспечению серверов
  • Возможная единая точка отказа – физический хост и хостовая ОС

Источник: https://habr.com/post/91503/

Понравилась статья? Поделить с друзьями: