Виртуализация.
Виртуальные машины. Гипервизоры. Контейнеры.
Важность и применение виртуализации простирается далеко за пределы виртуальных машин. Ни одно из достижений в области информационных технологий не имело столь огромной ценности как виртуализация. Многие IT-специалисты думают о виртуализации с точки зрения виртуальных машин ( VM ) и связанных с ними гипервизоров и операционных систем, но это только вершина айсберга. Все более широкий спектр технологий, стратегий и возможностей виртуализации переопределяет основные элементы IT в организациях по всему миру.
Виртуализация — предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
2. Виды виртуализации. Общая классификация.
При разговоре о виртуализации большинству IT-специалистов в голову в первую очередь приходит работа с виртуальными машинами. Однако понятие виртуализации выходит далеко за рамки функционирования операционных систем и включает в себя и другие не менее важные компоненты.
Зачем нужна виртуализация?
Итак, что можно виртуализировать?
1. Виртуальные машины(операционные системы)
2. Программное обеспечение
3. Память
4. Хранилище данных
5. Базы данных
6. Сеть
Рассмотрим каждый из пунктов более подробно:
1) Виртуальные машины(операционные системы). Виртуализация ОС представляет собой архитектуру программного обеспечения, которая обеспечивает работу нескольких операционных систем в качестве гостя на определенном хосте физического сервера.
Благодаря тому, что программное обеспечение сервера абстрагировано от физического устройства, сервер становится «виртуальной машиной», не связанной с оборудованием.
Более подробно виртуальные машины рассмотрим в следующем пункте.
2) Программное обеспечение. Включает в себя виртуализацию приложений и сервисов:
1. Виртуализация приложений — работа отдельных приложений в среде, отделённой от основной ОС. Например, Citrix XenApp , Microsoft App-V .
2. Виртуализация сервисов — эмуляция поведения системных компонентов, необходимых для запуска приложения в целях отладки и тестирования. Вместо виртуализации компонентов целиком, эта технология виртуализирует только необходимые части. Например, SoapUI , Parasoft Virtualize .
3) Память. Виртуализация памяти — объединением оперативной памяти из различных ресурсов в единый массив. Реализации: Oracle Coherence , GigaSpaces XAP .
Также одной из распространенных стратегий распределения памяти, используемой во всех современных операционных системах, является модель виртуальной памяти. Ее работа основана на идее расширения физической памяти путем размещения расширенной памяти на диске и использования таблиц страниц (или сегментов) для трансляции адресов. Поэтому, естественно, возникает идея расширить пространство логической памяти, которое может быть реализовано намного большего размера, чем физическая память.
виртуализация , что это , как включить , зачем оно
4) Хранилище данных. Виртуализация хранения данных – это предоставление ресурса физической емкости накопителей в форме логического пространства хранения. Истинная структура системы хранения инкапсулирована – скрыта от внешней среды.
Сервер (хост) освобождается от необходимости знать, где и как данные размещаются физически, он обращается к некоему общему пулу хранения, обладающему определенным качеством обслуживания QoS . Управление же фактическим размещением данных осуществляется исключительно на уровне системы хранения данных. Это свойство также именуют маскированием среды хранения. В числе прочего маскирование приводит к возможности независимого масштабирования и системы хранения данных, и серверного пула, и прочих составляющих программно-аппаратного комплекса. Изменения на одном уровне стека не привязаны к другим.
5) База данных. Виртуализация данных — представление данных в абстрактном виде, независимо от нижележащих систем управления и хранения данных, а также их структуры. Это подход к унификации данных из нескольких источников на одном уровне, чтобы приложения, средства отчётности и конечные пользователи могли получать доступ к данным, не нуждаясь в подробных сведениях об исходных источниках, местоположениях и структурах данных.
6) Сеть. Виртуализация сети ( network virtualization ) — процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть. Виртуализация сети разделяется на внешнюю, то есть соединяющую множество сетей в одну виртуальную, и внутреннюю, создающую виртуальную сеть между программными контейнерами внутри одной системы.
Источник: smartiqa.ru
Записки IT специалиста
О виртуализации сегодня не слышал разве что ленивый. Можно без преувеличения сказать, что сегодня это один из основных трендов развития IT. Однако многие администраторы до сих пор имеют весьма отрывочные и разрозненные знания о предмете, ошибочно полагая что виртуализация доступна только крупным компаниям. Учитывая актуальность темы, мы решили создать новый раздел и начать цикл статей о виртуализации.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Что такое виртуализация?
Виртуализация сегодня — понятие весьма обширное и разноплановое, однако мы не будем сегодня рассматривать все его аспекты, это выходит далеко за рамки данной статьи. Тем, кто только знакомится с данной технологией будет вполне достаточно упрощенной модели, поэтому мы постарались максимально упростить и обобщить данный материал, не вдаваясь в подробности реализации на той или иной платформе.
Так что-же такое виртуализация? Это возможность запустить на одном физическом компьютере несколько изолированных друг от друга виртуальных машин, каждая из которых будет «думать» что работает на отдельном физическом ПК. Рассмотрим следующую схему:
Поверх реального аппаратного обеспечения запущено специальное ПО — гипервизор (или монитор виртуальных машин), который обеспечивает эмуляцию виртуального железа и взаимодействие виртуальных машин с реальным железом. Он также отвечает за коммуникации виртуальных ПК с реальным окружением посредством сети, общих папок, общего буфера обмена и т.п.
Гипервизор может работать как непосредственно поверх железа, так и на уровне операционной системы, существуют также гибридные реализации, которые работают поверх специально сконфигурированной ОС в минимальной конфигурации.
С помощью гипервизора создаются виртуальные машины, для которых эмулируется минимально необходимый набор виртуального железа и предоставляется доступ к разделяемым ресурсам основного ПК, называемого «хостом». Каждая виртуальная машина, как и обычный ПК, содержит свой экземпляр ОС и прикладного ПО и последующее взаимодействие с ними ничем не отличается от работы с обычным ПК или сервером.
Как устроена виртуальная машина?
Несмотря на кажущуюся сложность виртуальная машина (ВМ) представляет собой всего лишь папку с файлами, в зависимости от конкретной реализации их набор и количество может меняться, но в основе любой ВМ лежит один и тот-же минимальный набор файлов, наличие остальных не является критически важным.
Наибольшую важность представляет файл виртуального жесткого диска, его потеря равносильна отказу жесткого диска обычного ПК. Вторым по важности является файл с конфигурацией ВМ, который содержит описание аппаратной части виртуальной машины и выделенных ей разделяемых ресурсов хоста. К таким ресурсам относится, например, виртуальная память, которая является выделенной областью общей памяти хоста.
В принципе потеря файла конфигурации не является критическим, имея в наличии один только файл виртуального HDD можно запустить виртуальную машину создав ее конфигурацию заново. Точно также, как имея только один жесткий диск, можно подключить его к другому ПК аналогичной конфигурации и получить полностью работоспособную машину.
Кроме того в папке в виртуальной машиной могут содержаться и другие файлы, но они не являются критически важными, хотя их потеря может быть также нежелательна (например снимки состояния, позволяющие откатить состояние виртуального ПК назад).
Преимущества виртуализации
В зависимости от назначения разделяют настольную и серверную виртуализацию. Первая используется преимущественно в учебных и тестовых целях. Теперь, чтобы изучить какую нибудь технологию или протестировать внедрение какого-либо сервиса в корпоративную сеть достаточно лишь довольно мощного ПК и средства настольной виртуализации. Количество виртуальных машин, которые вы можете иметь в своей виртуальной лаборатории ограничено только размерами диска, количество одновременно запущенных машин ограничивается в основном количеством доступной оперативной памяти.
На рисунке ниже окно средства настольной виртуализации из нашей тестовой лаборатории в окне которого запущена ОС Windows 8.
Серверная визуализация широко используется в IT инфраструктурах любого уровня и позволяет использовать один физический сервер для запуска нескольких виртуальных серверов. Преимущества данной технологии очевидны:
Оптимальное использование вычислительных ресурсов
Не секрет, что вычислительные мощности даже серверов начального уровня и просто средних ПК для многих задач и серверных ролей избыточны и не используются полностью. Обычно это решается добавлением дополнительных серверных ролей, однако такой подход значительно усложняет администрирование сервера и повышает вероятность отказов. Виртуализация позволяет безопасно использовать свободные вычислительные ресурсы, выделив под каждую критичную роль свой сервер. Теперь, чтобы произвести обслуживание, скажем, веб-сервера, вам не придется останавливать сервер баз данных
Экономия физических ресурсов
Использование одного физического сервера вместо нескольких позволяет эффективно экономить электроэнергию, место в серверной, затраты на сопутствующую инфраструктуру. Особенно это важно небольшим компаниям, которые могут значительно сократить расходы на аренду ввиду уменьшения физических размеров оборудования, например отпадает необходимость иметь хорошо вентилируемую серверную с кондиционером.
Повышение масштабируемости и расширяемости инфраструктуры
По мере роста фирмы все большее значение приобретает возможность быстро и без существенных затрат увеличить вычислительные мощности предприятия. Обычно данная ситуация предусматривает замену серверов на более мощные с последующей миграцией ролей и сервисов со старых серверов на новые. Провести подобный переход без сбоев, простоев (в т.ч. и запланированных) и разного рода «переходных периодов» практически невозможно, что делает каждое такое расширение маленьким авралом для фирмы и администраторов, которые зачастую вынуждены работать ночами и по выходным.
Виртуализация позволяет решить данный вопрос гораздо более эффективно. При наличии свободных вычислительных ресурсов хоста их можно легко добавить нужной виртуальной машине, например увеличить объем доступной памяти или добавить процессорные ядра. При необходимости поднять производительность более существенно создается новый хост на более мощном сервере, куда переносится нуждающаяся в ресурсах виртуальная машина.
Время простоя в данной ситуации кране мало и сводится ко времени необходимому для копирования файлов ВМ с одного сервера на другой. Кроме того многие современные гипервизоры содержат функцию «живой миграции», которая позволяет перемещать виртуальные машины между хостами без их остановки.
Повышение отказоустойчивости
Пожалуй, физический выход сервера из строя, один из самых неприятных моментов в работе системного администратора. Осложняет ситуацию тот факт, что физический экземпляр ОС практически всегда является аппаратно зависимым, что не дает возможности быстро запустить систему на другом железе. Виртуальные машины лишены такого недостатка, при отказе сервера-хоста все виртуальные машины быстро и без проблем переносятся на другой, исправный, сервер.
При этом различия в аппаратной части серверов не играют никакой роли, вы можете взять виртуальные машины с сервера на платформе Intel и успешно запустить их несколько минут спустя на новом хосте, работающем на платформе AMD.
Это же обстоятельство позволяет временно выводить сервера на обслуживание или изменять их аппаратную часть без остановки работающих на них виртуальных машин, достаточно временно переместить их на другой хост.
Возможность поддерживать устаревшие ОС
Несмотря на постоянный прогресс и выход новых версий ПО корпоративный сектор часто продолжает использовать устаревшие версии ПО, хорошим примером может служить 1С:Предприятие 7.7. Виртуализация позволяет без лишних затрат вписать такое ПО в современную инфраструктуру, также она может быть полезна, когда старый ПК, работавший под управлением устаревшей ОС вышел из строя, а на современном железе запустить ее не представляется возможным. Гипервизор позволяет эмулировать набор устаревшего железа для обеспечения совместимости со старыми ОС, а перенести физическую систему в виртуальную среду без потери данных позволяют специальные утилиты.
Виртуальные сети
Трудно представить современный ПК без подключения к какой-либо сети. Поэтому современные технологии виртуализации позволяют виртуализировать не только компьютеры но и сети. Как и обычный компьютер, виртуальная машина может иметь один или несколько сетевых адаптеров, которые могут быть подключены либо к внешней сети, через один из физических сетевых интерфейсов хоста, либо к одной из виртуальных сетей. Виртуальная сеть представляет собой виртуальный сетевой коммутатор к которому подключаются сетевые адаптеры виртуальных машин. При необходимости, в такой сети, средствами гипервизора, могут быть реализованы сервисы DHCP и NAT, для доступа к интернету через интернет-подключение хоста.
Возможности виртуальных сетей позволяют создавать достаточно сложные сетевые конфигурации даже в пределах одного хоста, для примера обратимся к следующей схеме:
Хост подключен к внешней сети посредством физического сетевого адаптера LAN 0, посредством этого же физического интерфейса к внешней сети подключена виртуальная машина VM5, через сетевой адаптер VM LAN 0. Для остальных машин внешней сети хост и VM5 два разных ПК, каждый из них имеет свой сетевой адрес, свою сетевую карту со своим MAC-адресом. Вторая сетевая карта VM5 подключена к виртуальному коммутатору виртуальной сети VM NET 1, к нему же подключены сетевые адаптеры виртуальных машин VM1-VM4. Таким образом мы в пределах одного физического хоста организовали безопасную внутреннюю сеть, которая имеет доступ к внешней сети только через роутер VM5.
На практике виртуальные сети позволяют легко организовать в пределах одного физического сервера несколько сетей с разным уровнем безопасности, например вынести потенциально небезопасные хосты в DMZ без дополнительных затрат на сетевое оборудование.
Моментальные снимки
Еще одна функция виртуализации полезность которой сложно переоценить. Суть ее сводится к тому, что в любой момент времени, не останавливая работы виртуальной машины, можно сохранить снимок ее текущего состояния, да еще и не один. Для неизбалованного админа это просто праздник какой-то, иметь возможность легко и быстро вернуться к первоначальному состоянию, если что-то вдруг пошло не так. В отличии от создания образа жесткого диска с последующим восстановлением системы с его помощью, что может занять значительное время, переключение между снимками происходит в течение считанных минут.
Другое применение моментальные снимки находят в учебных и тестовых целях, с их помощью можно создать целое дерево состояний виртуальной машины, имея возможность быстро переключаться между различными вариантами конфигурации. На рисунке ниже приведено дерево снимков роутера из нашей тестовой лаборатории с которым вы прекрасно знакомы по нашим материалам:
Несмотря на то, что мы старались дать лишь краткий обзор, статья получилась довольно объемной. В тоже время мы надеемся, что благодаря данному материалу вы сможете реально оценить все возможности, которые предоставляет технология виртуализации и осмысленно, представляя те преимущества, которые способна получить именно ваша IT-инфраструктура, приступить к изучению наших новых материалов и практическому внедрению виртуализации в повседневную практику.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Источник: interface31.ru
Основы виртуализации (обзор)
В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или повысить уровень своей квалификации. Вместе с тем полноценных обзоров по основам виртуализации написано не так уж и много (особенно на русском языке).
Главная задача данной статьи – объяснить начинающим специалистам необходимость виртуализации, указать на точки ее практического применения и дать ключевые понятия для дальнейшего изучения. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.
История
На заре развития компьютеры (или ЭВМ, электронно-вычислительные машины) были очень дорогим и штучным инструментом, позволить который могли себе только наиболее крупные институты и предприятия. Вычислительные ресурсы приходилось экономить всеми возможными способами. Первые разработчики писали код в режиме «офлайн» и передавали их оператору ЭВМ, который последовательно вводил программы в машину и производил расчеты. В начале 1960-х годов зародилась концепция разделения времени (time-sharing) – распределение вычислительных ресурсов между несколькими пользователями: пока один вводит данные, машина занимается расчетами других. Первые проекты с поддержкой данной концепции – Compatible Time-Sharing System (CTSS), Project MAC и предшественница ОС семейства Unix Multics – стали настоящим прорывом, однако они были небезопасными, сложными и, как следствие, не слишком стабильными.
В поисках путей решения проблемы оптимизации использования вычислительных ресурсов командой инженеров IBM был предложен новый подход – в рамках одной ЭВМ предоставить каждому пользователю виртуальную машину со своей ОС. Так в 1964 году появился проект CP-40, который позволил запускать несколько экземпляров клиентских ОС, например CMS. В 1967 году на основе проекта CP-40/CMS появилась CP-67/CMS – многопользовательская операционная система с разделением времени. CP-67/CMS работала на аппаратном мейнфрейме IBM System/360-67 и состояла из двух компонентов:
- CP (Control Program)
Программа управления виртуализацией (прообраз современного гипервизора). - CMS (Cambridge Monitor System)
Одна из наиболее распространенных однопользовательских операционных систем для запуска в виртуальном окружении CP (клиентская, или гостевая, ОС).
Пользователи подключались к гостевым ОС с помощью специальных устройств ввода-вывода – терминалов.
Виртуализация обладала существенными преимуществами над концепцией разделения времени:
- Увеличенные надежность и безопасность за счет изоляции пользователей.
- Запуск любых приложений (не только приспособленных к концепции разделения времени) за счет симуляции отдельного компьютера для каждого пользователя.
- Увеличенная производительность за счет использования легковесных гостевых ОС.
Шло время, компьютеры уменьшались в размерах и дешевели. В 1980-х годах x86 серверы и персональные компьютеры стали доступны для широкого спектра потребителей, вследствие чего мейнфреймы с виртуализацией и терминалами для многопользовательской работы ушли в прошлое. Однако технологии виртуализации продолжали развиваться и решать насущные проблемы.
В 1988 году компания Insignia Solutions представила эмулятор программного обеспечения SoftPC, с помощью которого можно было запускать приложения MS DOS на рабочих станциях Unix, что стало своеобразным прорывом. В 1997 году компания Connectix создала программу Virtual PC для запуска под Mac ОС Windows. В 1999 году ныне всемирно известная компания VMware представила VMware Workstation, которая позволила запускать различные ОС в рамках виртуальных машин.
В начале 2000-х годов стали появляться продукты для серверной виртуализации. Эти решения дали возможность запускать несколько изолированных гостевых ОС в виртуальной среде на одном физическом сервере, что упрощало администрирование инфраструктуры, повышало ее отказоустойчивость и снижало простои серверного оборудования.
Идея серверной виртуализации быстро набирала популярность. В 2001 году VMware представила ESX Server и GSX Server. В 2003 году Microsoft купила вышеупомянутую Connectix и перезапустила проект Virtual PC, ставший предшественником Microsoft Virtual Server и современного Microsoft Hyper-V). В 2007 году компанией Innotek был представлен VirtualBox. Также в 2007 году на рынок корпоративной виртуализации вышла компания Citrix, которая купила компанию XenSource и начала развивать проект с открытым исходным кодом Xen, предоставляя для клиентов коммерческую версию продукта Citrix XenServer (в настоящее время переименован в Citrix Hypervisor).
Напоследок стоит отметить, что помимо серверной виртуализации появлялись также продукты для виртуализации рабочих столов (новое воплощение той самой связки мейнфрейм-терминал из 1960-70 г.г.), приложений и др. Многие из этих решений активно развиваются и сегодня.
- Краткая история виртуализации, или Зачем вообще что-то делить
- The History of Virtualization
- History of Virtualization
- With long history of virtualization behind it, IBM looks to the future
Виртуализация сегодня
Основные понятия
Итак, виртуализация – это сокрытие конкретной реализации за универсальным стандартизованным методом обращения к ресурсам. Иными словами, это создание абстракции над аппаратным обеспечением.
Существует много видов виртуализации, однако можно выделить три основных:
- Аппаратная виртуализация.
Позволяет создавать независимые и изолированные друг от друга виртуальные компьютеры с помощью программной имитации ресурсов (процессора, памяти, сети, диска и др.) физического сервера. Физический сервер называют хостовой машиной (хостом), виртуальные компьютеры – виртуальными машинами, ВМ (иногда их также называют гостями). Программное обеспечение, которое создает виртуальные машины и управляет ими, называют гипервизором (а также виртуальным монитором или контрольной программой – вспомните CP-40 из начала статьи). На практике на виртуальных машинах могут использоваться разные ОС для разных целей – например, Windows Server под контроллер домена Active Directory и Debian под веб-сервер NGINX. - Виртуализация рабочих столов.
Позволяет отделить логический рабочий стол (набор пользовательских программ, работающий под ОС) от физической инфраструктуры (например, персональных компьютеров). Одной из наиболее распространенных форм виртуализации рабочих столов является VDI (Virtual Desktop Infrastructure) – инфраструктура виртуальных рабочих столов. Каждый пользователь VDI имеет программную имитацию ОС с необходимым набором программ на физическом сервере под управлением гипервизора и может подключаться к ней по сети. На практике VDI может использоваться для работы большого количества сотрудников на «удаленке» для того, чтобы не закупать им отдельные рабочии станции и управлять инфраструктурой централизованно. - Виртуализация на уровне ОС (контейнеризация).
Позволяет запускать программное обеспечение в изолированных на уровне операционной системы пространствах. Наиболее распространенной формой виртуализации на уровне ОС являются контейнеры (например, Docker). Контейнеры более легковесны, чем виртуальные машины, так как они опираются на функционал ядра ОС и им не требуется взаимодействовать с аппаратным обеспечением. На практике контейнеры представляют из себя изолированную среду для запуска любого приложения со всеми его зависимостями и настройками.
- Общая теория и археология виртуализации x86
- What is Virtualization?
- Зачем же нужна виртуализация?
Виртуализация серверов
Виртуализация серверов – это процесс разделения физического сервера на несколько уникальных и изолированных виртуальных машин (серверов) с помощью программного обеспечения (гипервизора). На каждом виртуальном сервере могут независимо выполняться собственные операционные системы.
Виртуализация серверов позволяет:
- Оптимизировать затраты на покупку серверного оборудования.
Под каждую задачу выделяется виртуальный сервер с необходимым количеством ресурсов (ЦПУ, ОЗУ и др.), простои оборудования минимизируются. - Упростить сопровождение инфраструктуры.
Создание, удаление или обслуживание виртуальной машины как правило проще и быстрее, чем аналогичные операции с физическим сервером. - Повысить отказоустойчивость инфраструктуры.
Виртуальные машины изолированы друг от друга, программный сбой на одной них не приведет к потере работоспособности сервисов и приложений на остальных.
Гипервизор обеспечивает изолированную среду выполнения для каждой виртуальной машины, а также управляет доступом ВМ и гостевых ОС к аппаратным ресурсам физического сервера. Говоря простыми словами, гипервизор обеспечивает параллельное и независимое функционирование нескольких операционных систем на одном компьютере. В классическом подходе гипервизоры группируются по двум типам: гипервизоры первого типа запускаются непосредственно на аппаратном обеспечении компьютера («железе»), а гипервизорам второго типа для работы необходимо наличие хостовой операционной системы. В последние несколько лет классическая классификация претерпевает изменения – добавился гибридный тип гипервизоров (тип 1.5), который сочетает характеристики первого и второго типов.
Гипервизоры первого типа (native, bare-metal)
Гипервизор первого типа выполняется как контрольная программа непосредственно на аппаратной части компьютера и не требует ОС общего назначения. В данной архитектуре гипервизор управляет распределением вычислительных ресурсов и сам контролирует все обращения виртуальных машин к устройствам.
Гипервизоры первого типа показывают высокое быстродействие, однако обладают очевидным недостатком – необходимость поддерживать драйверы устройств приводит к сужению списка совместимого аппаратного обеспечения.
- VMWare ESXi;
- KVM (Proxmox VE) – может быть также отнесен ко второму типу;
- Xen (Xenserver, Citrix Hypervisor), Hyper-V – могут быть также отнесены к гибридному типу.
Гипервизоры второго типа (hosted)
Гипервизор второго типа выполняется поверх хостовой операционной системы (как правило Linux). Он управляет гостевыми операционными системами, в то время как эмуляцией и управлением физическими ресурсами занимается хостовая ОС.
Гипервизоры второго типа показывают меньшее относительно гипервизоров первого типа быстродействие и реже используются в промышленной эксплуатации, однако отлично подходят для задач обучения и разработки ПО.
- Oracle VM VirtualBox, VMWare Workstation;
- KVM (Proxmox VE) – может быть также отнесен к первому типу.
Гипервизоры гибридного типа (hybrid)
Гибридный гипервизор сочетает в себе характеристики гипервизоров первого и второго типов – он выполняется поверх специализированной сервисной (или базовой) операционной системы. Сервисная ОС называется родительским разделом или доменом (parent partition в терминологии Hyper-V или domain dom0 в терминологии Xen). После установки гипервизора ядро ОС переходит в режим поддержки виртуализации и передает управление ресурсами процессора и памяти гипервизору. При этом родительский раздел берет на себя функцию обработки обращений к драйверам устройств и операциям ввода-вывода.
Данный подход удобен с точки зрения совместимости с оборудованием: не требуется добавлять в гипервизор драйверы устройств (расширяется список совместимого аппаратного обеспечения). Также гипервизор освобождается от задачи обработки вызовов к драйверам устройств – эти вызовы обрабатывает сервисная ОС.
Примеры: Xen (XenServer, Citrix Hypervisor), Hyper-V – могут быть также отнесены к первому типу
- Общая теория и археология виртуализации x86
- НОУ ИНТУИТ Лекция 5: серверная виртуализация
- Виртуализация серверов
- What is a hypervisor? The basics of virtualization technology
Кластер узлов виртуализации
Виртуализация на одном физическом сервере дает неплохие результаты, однако имеет ряд очевидных недостатков – например, в случае отказа этого сервера построенная инфраструктура полностью теряет работоспособность. По-настоящему ярко технология виртуализации раскрывается только при создании кластера из нескольких физических хостов. Кластер узлов виртуализации (или просто кластер виртуализации) – это объединение группы физических серверов, которое представляется конечным потребителям как общий вычислительный ресурс с единой точкой управления. При этом виртуальные машины запускаются на разных физических серверах и могут перемещаться (мигрировать) между ними, что обеспечивает высокую доступность (High Availability, HA) и гибкое распределение ресурсов (нагрузки). Практически все вышеперечисленные гипервизоры имеют программные механизмы для объединения в кластер – VMWare vSphere, Hyper-V Failover Clustering и др.
Абсолютное большинство крупных и средних компаний, поддерживающих собственную серверную инфраструктуру, используют кластеры виртуализации. Инфраструктура облачных провайдеров, предоставляющих для пользователей услуги аренды серверов, также строится на кластерах виртуализации. Но это уже совсем другая история.
Источник: habr.com
Что такое виртуализация. Для чего можно использовать
Давайте представим, что мы распределяем мощности одного физического сервера между некоторым количеством виртуальных машин (VPS). Этот процесс называется виртуализацией. Каждый VPS работает изолированно от других с собственными программами и операционными системами. Как это происходит, для чего нужна виртуализация, какой она бывает и многое другое вы узнаете из нашей статьи.
Системы виртуализации
Чтобы понять, как происходит виртуализация, необходимо понять, какие системы участвуют в процессе:
- host, хост-система — «ОС-хозяйка», внутри которой запускают другие ОС, установлена на физическом сервере;
- guest, гостевая система — ОС, работающая в изолированном окружении, установлена на VPS;
- гипервизор — программа, которая создает виртуальные серверы и управляет ими, представляет собой обычную ОС с особым функционалом или специализированную операционную систему.
Гипервизор обеспечивает изолированную работу и безопасность операционных систем, отвечает за распределение ресурсов между VPS.
Зачем нужна виртуализация
Иногда пользователю одной операционной системы необходимо запустить софт, выпущенный под другую ОС. Можно купить второй ПК, но это неоправданные расходы, а инсталляция еще одной ОС рядом с основной имеет определенные трудности. Поэтому в подобных случаях предпочтительнее применять метод виртуализации, ведь в любой момент можно создать и удалить несколько VPS-серверов.
Этот процесс подразумевает достижение нескольких целей:
- Финансовые выгоды. Чтобы реализовать несколько различных проектов, на одном физическом сервере разворачивают несколько виртуальных. В результате парк оборудования и необходимость обслуживания сводятся к минимуму.
- Достаточный уровень безопасности. Виртуализация позволяет VPS-серверам работать автономно друг от друга и не использовать программное обеспечение «соседа».
- Упрощение переноса. Виртуальные машины проще копировать и разворачивать на другом физическом сервере, чем производить на нем замену оборудования.
- Удобное управление ресурсами. Всегда можно увеличить либо сократить физические ресурсы (оперативная или постоянная память, процессор и т. д.), выделяемые для одной виртуальной машины. Также можно создать/ удалить/ отключить действующий VPS-сервер, не затрагивая работу остальных.
Виртуализация выгодна там, где развертывание нескольких виртуальных машин на одном физическом сервере заметно повышает эффективность применения последнего. Современные модели предполагают минимальные потери в производительности, к тому же компания экономит на обслуживании оборудования, электроэнергии, аренде площадей.
Виртуализировать можно те системы, которые не требуют затраты большого количества ресурсов. Это — серверы, предоставляющие доступ к сети, печатным сервисам, файлам, поддерживающие коллективную работу и т. д. Но, если приходится работать с базами данных или в высококритичных приложениях (например, CRM, ERP), то предпочтительнее использовать дополнительные физические мощности, т. к. объем ресурсов, выделяемый VPS, существенно ограничен.
Также необходимо учитывать тот факт, что иногда стоимость виртуального решения может превышать расходы на развертывание нескольких физических серверов, где каждый рассчитан на выполнение одной задачи. Кроме этого, «железо» может выйти из строя и, соответственно, прекратят свою работу все действующие на нем VPS.
Виды виртуализации
Для работы VPS используют одну из трех технологий виртуализации: программную, аппаратную или контейнерную.
Программная виртуализация
В этом случае гипервизор взаимодействует с физическими мощностями посредством основной ОС, работающей на хост-машине. Операционная система распределяет ресурсы «железа» между VPS.
Плюсы: оперативность и легкость создания и настройки виртуальных машин.
Минусы: ресурсы распределяются неравномерно, поэтому один VPS, работающий на полную мощность, может «тормозить» деятельность других.
Аппаратная виртуализация
Здесь гипервизор работает с «железом» напрямую, без хост-системы. На физических мощностях инсталлируется обычная ОС и разворачиваются независимые виртуальные машины. Каждый из VPS обладает собственной операционной системой.
Плюсы: полнофункциональное распределение ресурсов «железа», благодаря которому работа отдельной виртуальной машины никак не влияет на деятельность остальных.
Минусы: более медленная работа этой технологии (по сравнению с программной) за счет необходимости полноценного разделения физических ресурсов между VPS и контролирования деятельности каждой гостевой ОС.
Чтобы ускорить процессы аппаратной виртуализации, используют паравиртуализацию. Принцип последней технологии заключается в том, что гипервизор делегирует некоторые функции гостевой ОС, чем снижает нагрузку на себя и увеличивает оперативность работы всей системы
Контейнерная виртуализация
Отдельно необходимо сказать о контейнерной виртуализации. Здесь на ядре хостовой ОС функционирует особый контейнер, который изолирует виртуальное пространство с помощью ресурсов операционной системы, а не «железа». Поэтому, если на виртуальной машине можно установить ОС, отличную от хостовой, то в контейнере этого сделать нельзя.
В последний устанавливается не полноценная операционная система (как на VPS), а урезанный функционал, достаточный для запуска некоторых приложений. К наиболее популярным проектам относятся Docker, LXS и OpenVZ. Первая технология работает по схеме «1 контейнер = 1 приложение», вторая запускает несколько ОС Linux на физическом сервере, третья — полностью бесплатная (работает на Linux, не поддерживает Windows).
Что такое и как работает виртуальная машина
Подробнее поясним, что такое виртуальная машина (VM, ВМ). Это — пространство, выделенное на обособленном разделе жесткого диска компьютера-хоста. Для пользователя выглядит как имитация ПК с полнофункциональной ОС и аппаратной составляющей. Виртуальные машины позволяют юзерам тестировать любое ПО на своем компьютере без запуска и настройки отдельных устройств.
Как вы уже поняли из статьи, запуск VM происходит благодаря виртуализации, а всем процессом управляет гипервизор. Он распределяет физические мощности между VPS, выделяет определенную часть оперативной либо постоянной памяти, оптимизирует нагрузку и исключает возможность сбоев из-за недостатка ресурсов.
Классификация ВМ
Существует несколько видов классификации ВМ. По типу виртуализации они подразделяются на аппаратные и программные. По разновидности функционала — на машины, отвечающие за течение одного процесса или работу всей операционной системы. Первые запускают только конкретную программу.
Например, приложения, написанные на одном из языков программирования — Java — работают только в особых ВМ, подключающихся к «железу». Вторые служат эмуляторами полноценной ОС.
Также машины классифицируются по виртуализации накопителей (объединение нескольких физических хранилищ) и сети (формирование одной виртуальной сети из нескольких физических).
Преимущества ВМ
Опираясь на вышеизложенное, выделим 3 главных преимущества, которые виртуальные машины имеют перед аппаратной составляющей:
- VPS разворачивают на любом «железе». Виртуальный сервер работает со всеми операционными системами. Если перед пользователем стоит вопрос экономии времени, финансов и пространства, то ВМ станет отличным вариантом.
- На VPS возможно установить устаревшее ПО. Хороший выход из ситуации, позволяющий не искать и не содержать для каких-либо целей оборудование старого образца.
- VM проще перезапустить и настроить после непредвиденных ситуаций.
Недостатки ВМ
Основных минусов всего 2, но они достаточно существенные. Во-первых, если на одном хосте запущено слишком много VM, это значительно снижает скорость и стабильность работы основной ОС. Чтобы избежать подобной ситуации, необходимо покупать дорогое оборудование и вводить ограничения для пользователей.
Во-вторых, даже если аппаратная составляющая достаточно мощная, VPS все равно работает заметно медленнее хоста. Это происходит из-за того, что виртуальная машина связывается с «железом» через «посредника», не имея полноценного прямого контакта. Поэтому приложения, запущенные на ВМ, будут «подтормаживать» по сравнению с софтом, работающим в основной операционной системе.
Заключение
Из нашей статьи вы узнали, как с помощью виртуализации создать изолированное пространство для выполнения различных задач. Если вам необходимо быстро развернуть, настроить VPS, обратитесь к сотрудникам компании «АйТи Спектр». Мы изучим ваши аппаратные ресурсы и создадим нужное количество виртуальных машин, чтобы вы смогли воплотить все свои проекты. Более подробную информацию по настройке серверов и цены на услуги, вы можете посмотреть здесь.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 3.3 / 5. Количество оценок: 3
Оценок пока нет. Поставьте оценку первым.
Источник: itspectr.ru
Что такое виртуализация? Краткая история развития
В основе облачных решений лежит технология виртуализации. Она позволяет разделить один физический сервер на несколько виртуальных машин (ВМ), каждая из которых работает автономно. Подробнее о том, как это работает, а также об истории развития виртуализации читайте в этой статье.
Виртуализация – это технология, которая позволяет предоставлять изолированные наборы вычислительных мощностей, абстрагировано от физического оборудования. Иными словами, с её помощью можно создавать отдельные, независимые друг от друга среды, которые используют мощности одного физического компьютера/сервера. Виртуальная машина может иметь любые характеристики (значения памяти, частоту процессора и др.), но в рамках ресурсов физического устройства. При этом она будет запускаться наподобие программы внутри основной операционной системы (она называется хост-система).
Виртуализация осуществляется с помощью специальной программы, которая называется гипервизор. С её помощью можно создавать и управлять виртуальными машинами. Количество ВМ, которые можно запустить, неограниченно. Самая важная особенность виртуализации в том, что гостевая операционная система думает, что работает на «аппаратной» платформе.
История виртуальных машин
Началом эпохи ВМ можно считать 70-е годы, когда появились мейнфреймы, например, IBM 360/67.
Тогда сервера ещё не были мобильными, но доступные и качественные телефонные линии, а также появление сетевых технологий позволили обеспечить виртуальное присутствие мейнфреймов в формате терминалов доступа (обычно буквенно-цифровых).
В 1985 году появились микропроцессоры. Встроенная в них опция виртуализации (как через гипервизоры, так и с реализацией на уровне ОС) была крайне важна для производительности вычислительных ресурсов, так как способствовала захвату процессорных тактов, которые терялись в процессе использования современных высокопроизводительных процессоров 3+ ГГц.
ВМ также дают дополнительную безопасность, целостность и удобство, потому что для их создания не требуются большие вычислительные затраты. Можно также расширить возможности виртуальных машин, внедрив опции эмулятора для интерпретаторов типа виртуальной машины Java, и даже функции полных симуляторов. Например, сделать возможным запуск Windows под MacOS или программ для Commodore 64 на современном компьютере под Windows.
Разделение времени
Если ещё больше углубиться в историю, то корни виртуализации можно обнаружить ещё в 1960-х, когда появилась концепция разделения времени. Она позволила сделать потребление ресурсов более эффективным за счет того, что машина выполняла вычисления одного пользователя, пока другой вводил данные. Таким образом сокращалось время простоя. Однако эта система сложная и не самая удобная.
Намного практичнее оказалась пакетная обработка. Она позволила сократить время между запуском программ.
Однако все эти наработки сильно отличались от виртуализации, которая стала принципиально новым решением. Процессы каждого пользователя должны были храниться в машине и быстро заменяться при необходимости. Для подобного переключения требовалось ощутимое количество процессорных тактов. Для старых компьютеров это было проблемой, но устройства быстро совершенствовались. Сейчас облачные провайдеры и появление высокоскоростного интернета сделали использование виртуальных машин из общего пула удаленных ресурсов прекрасной альтернативой приобретению физического оборудования.
Аренда облачного сервера для разработки, хостинга, обученияПодробнее
Виртуализация памяти
В 1960-х память на магнитных сердечниках стоила очень дорого. А мейнфреймы, встроенная память которых превосходила бы 1 Мбайт, встречались редко. Всё это способствовало развитию концепции виртуальной памяти, которая активируется небольшими дополнениями к аппаратной части благодаря набору инструкций. Выделяют страничную и сегментную организацию виртуальной памяти.
Страничная организация виртуальной памяти
Именно этот вариант характерен для современных ОС. Здесь оперативка делится на области (страницы) фиксированного размера. Пользовательский поток, исполняемый процессором, обращается к памяти через адрес виртуальной памяти, разделённый на номер страницы и смещение внутри неё.
С помощью буфера ассоциативной трансляции (TLB) номер виртуальной страницы преобразуется процессором в адрес соответствующей ей физической страницы. Если не получается это выполнить, понадобится дозаполнение буфера через обращения к таблице страниц (Page Walk). Это может осуществить либо сам процессор, либо ОС.
Если страницу выгрузили из оперативной памяти, подкачка страницы выполняется с жёсткого диска в процессе обработки события Page fault. Когда происходит запрос на выделение памяти, ОС переносит страницы, к которым долго не обращались, на жёсткий диск. При этом критические данные остаются в оперативной памяти.
Сегментная организация
При таком варианте организации виртуальной памяти пространство делится на сегменты любого размера. За счёт этого можно разбить данные процесса на логические блоки. Для каждого сегмента назначаются права доступа пользователям и его процессам. Когда начинает загружаться процесс, часть сегментов отправляется в оперативную память, а другая часть – в дисковую.
В процессе загрузки системы создаётся таблица сегментов процесса, где для каждого сегмента указывается начальный физический адрес в оперативной памяти, размер, права доступа, признак модификации, признак обращения к этому сегменту за последний промежуток времени и прочие данные. Если один и тот же сегмент входит в виртуальные адресные нескольких процессов, в таблице окажутся ссылки на один и тот же участок оперативной памяти, куда данный сегмент загружен в единственном экземпляре.
Система с сегментной организацией работает примерно так же, как страничная: периодически случаются прерывания из-за отсутствия нужных сегментов в памяти, если требуется освободить память, часть сегментов выгружается, каждый раз, когда происходит обращение к оперативной памяти, происходит преобразование виртуального адреса в физический. При этом проверяется, разрешен ли доступ к сегменту.
В случае сегментной организации памяти виртуальный адрес представляется парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес образуется сложением начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.
Недостаток данного метода распределения памяти – фрагментация на уровне сегментов и более медленное, если сравнивать со страничной, преобразование адреса.
Технология виртуализации памяти позволила 1мБайту ОЗУ на IBM 360/67 поддерживать полноценное 24-битное адресное пространство (16 МБ), входящее в компьютерную архитектуру, а каждая ВМ могла получить свой набор виртуальной памяти.
Благодаря этому аппаратное обеспечение, созданное для работы одной программы или одной ОС стало доступно сразу для нескольких пользователей. Но из-за того, что оперативная память превосходит по скорости жесткие диски, быстродействие может быть снижено. Чтобы такого не происходило, в облаке Cloud4Y все ресурсы являются выделенными. То есть на каждую ВМ выделяются только свободные мощности, которые не будут использоваться другими машинами.
Появление виртуальных рабочих столов
Это следующий этап – виртуализация рабочего стола. Здесь следует вспомнить идею разделения времени, о которой говорилось ранее. На сервере моделируется рабочий стол, к которому пользователи могут подключаться через по сетевому соединению через клиентское ПО. Обычно оно является недорогим и его поддерживает любая ОС с обширным спектром дополнительных аппаратных и программных продуктов, в том числе VDI.
Виртуальное хранилище
Дальнейшее развитие касается виртуализации процессоров, хранилищ и приложений в облаке. Возможность быстро наращивать мощности без привлечения IT-специалистов, экономия за счет снижения капитальных затрат, освобождения физического пространства, на техническом обслуживании, простоях. Получение дополнительных сервисов, доступных только благодаря облачным технологиям.
Массовое внедрение облачного хранилища (как для бэкапов, так и в качестве основного хранилища) стало возможным благодаря тому, что скорость передачи данных проводных и беспроводных сетей достигает 1 Гбит/с и выше.
Виртуальные сети
«Сеть как услуга» (NaaS) набирает популярность и имеет тенденции к развитию благодаря дальнейшему внедрению виртуализации сетевых функций (NFV). Сетевая виртуализация даст возможность мобильным операторам расширить спектр услуг и поднять пропускную способность. Возможно, в ближайшие годы многие организации будут самостоятельно применять NFV в гибридных сетях.
Виртуализация снижает затраты
Это происходит благодаря тому, что капитальные затраты на инфраструктуру переходят в операционные расходы. Иными словами, вместо приобретения нового оборудования, найма персонала для его обслуживания и тому подобных затрат, остаётся только оплата работы поставщиков услуг.
Кроме того, благодаря совершенствованию систем и архитектурных решений, скачку производительности локальных сетей и сетей WAN (в том числе беспроводных), большая часть элементов IT-системы может быть виртуализирована.
Что даёт виртуализация:
- делает IT-процессы более гибкими, эффективными, удобными и производительными благодаря обширному набору функций.
- Является лучшей альтернативой физическим серверам, которая даёт ощутимые экономические преимущества.
- Способствует активной разработке программного обеспечения под виртуализированные среды.
- Внимание с «железа» переключилось на работу с данными из любого места в любое время.
Виртуализация становится основной стратегией развития IT-сферы. Мало какая другая инновация оказала столь большое влияние, как появление облачной инфраструктуры. И это влияние будет только расти.
Источник: www.cloud4y.ru