В последнее время пользователи все чаще слышат о таком понятии, как «виртуализация». Считается, что ее применение – это круто и современно. Но вот далеко не каждый юзер четко понимает, что представляет собой виртуализация в целом и в частности. Попробуем пролить свет на этот вопрос и затронем системы виртуализации серверов. Сегодня именно эти технологии являются передовыми, поскольку имеют множество преимуществ и в плане безопасности, и в плане администрирования.
Что такое виртуализация?
Начнем с самого простого – определения термина, описывающего виртуализацию как таковую. Отметим сразу, что в Интернете можно найти и скачать какое-нибудь пособие по этому вопросу вроде справочника «Виртуализация сервера для чайников» PDF-формата. Но при изучении материала неподготовленный юзер может столкнуться с большим количеством непонятных определений. Поэтому попытаемся разъяснить суть вопроса, так сказать, на пальцах.
Прежде всего, при рассмотрении технологии виртуализации серверов остановимся на начальном понятии. Что же такое виртуализация? Следуя простой логике, нетрудно догадаться, что этот термин описывает создание некоего эмулятора (подобия) какого-то физического или программного компонента. Иными словами, это – интерактивная (виртуальная) модель, не существующая в реальности. Однако здесь свои нюансы.
Основные типы виртуализации и используемые технологии
Дело в том, что в понятии виртуализации различают три основных направления:
Видео: EMC VPLEX. Зачем нужна виртуализация СХД
- представления;
- приложения;
- серверы.
Для понимания самым простым примером может быть использование так называемых терминальных серверов, которые предоставляют пользователям собственные вычислительные ресурсы. Пользовательская программа выполняется именно на удаленном сервере, а юзер видит только результат. Такой подход позволяет снизить системные требования к пользовательскому терминалу, конфигурация которого устарела и не может справиться с заданными вычислениями.
Видео: Study
Для приложений такие технологии применяются также достаточно широко. Например, это может быть виртуализация 1С-сервера. Суть процесса состоит в том, что программа запускается на одном изолированном сервере, а доступ к ней получает большое количество удаленных пользователей. Обновление программного пакета производится из единого источника, не говоря уже о наивысшем уровне безопасности всей системы.
Наконец, подразумевается создание интерактивной компьютерной среды, виртуализация сервера в которой полностью повторяет реальную конфигурацию «железных» собратьев. Что это означает? Да то, что, по большому счету, на одном компьютере можно создать один или несколько дополнительных, которые будут работать в режиме реального времени, как если бы они существовали в действительности (системы виртуализации серверов будут рассмотрены более подробно чуть позже).
При этом совершенно не важно, какая именно операционная система будет установлена на каждом таком терминале. По большому счету на основную (хостовую) ОС и виртуальную машину это не оказывает никакого влияния. Это похоже на взаимодействие компьютеров с разными ОС в локальной сети, но в данном случае виртуальные терминалы могут быть и не связаны между собой.
Выбор оборудования
Одним из явных и неоспоримых преимуществ виртуальных серверов является снижение материальных затрат на создание полнофункциональной программно-аппаратной структуры. Например, имеется две программы, которые для нормальной работы требуют наличия 128 Мб оперативной памяти, но их нельзя устанавливать на один физический сервер. Как поступить в этом случае? Можно приобрести два раздельных сервера по 128 Мб и установить их раздельно, а можно купить один с 128 Мб «оперативки», создать на нем два виртуальных сервера и установить два приложения именно на них.
Если кто еще не понял, во втором случае использование оперативной памяти будет более рациональным, а материальные расходы существенно ниже, чем при покупке двух независимых устройств. Но только этим дело не ограничивается.
Преимущества в системе безопасности
Как правило, сама серверная структура подразумевает наличие нескольких аппаратов для выполнения тех или иных задач. В плане обеспечения безопасности системные администраторы устанавливают контроллеры домена Active Directory и интернет-шлюзы не на одном, а на разных серверах.
В случае попытки внешнего вмешательства первым атаке всегда подвергается шлюз. Если на сервере установлен еще и контроллер домена, то очень высока вероятность повреждения баз AD. В ситуации с целенаправленными действиями всем этим могут завладеть злоумышленники. Да и восстановление данных из резервной копии – это дело достаточно хлопотное, хоть и занимает оно относительно немного времени.
Если подойти к этому вопросу с другой стороны, можно отметить, что виртуализация сервера позволяет обойти ограничения по установке, а также быстро восстановить искомую конфигурацию, ведь бэкап хранится в самой виртуальной машине. Правда, как считается, виртуализация серверов с Windows Server (Hyper-V) в таком представлении выглядит ненадежной.
Кроме того, достаточно спорным остается вопрос лицензирования. Так, например, для Windows Server 2008 Standard предусмотрен запуск всего одной виртуальной машины, на Enterprise – четыре, а на Datacenter – вообще неограниченное число (причем даже копий).
Вопросы администрирования
Преимущества такого подхода, не говоря о системе безопасности и снижении затрат, даже когда производится виртуализация серверов с Windows Server, в первую очередь должны оценить системные администраторы, которые занимаются обслуживанием этих машин или локальных сетей.
Очень часто камнем преткновения становится создание резервных копий системы. Обычно при создании бэкапа требуется стороннее ПО, а считывание с оптического носителя или даже из Сети занимает большее время, по сравнению со скоростью работы дисковой подсистемы. Клонирование самого сервера и виртуальной машины можно произвести всего за пару кликов, а затем быстро развернуть работоспособную систему даже на «чистом» железе, после чего она будет работать без сбоев.
В VMware vSphere виртуализация серверов позволяет создавать и сохранять так называемые снимки самой виртуальной машины (snapshots), которые представляют собой специальные образы ее состояния в определенный момент времени. Они могут быть представлены в древовидной структуре в самой машине. Таким образом, восстановить работоспособность виртуальной машины намного проще. При этом можно произвольно выбирать точки восстановления, откатывая состояние назад, а потом вперед (Windows-системам такое может только сниться).
Программы виртуализации серверов
Если говорить о программном обеспечении, здесь для создания виртуальных машин можно использовать огромное количество приложений. В самом простом случае используются собственные средства Windows-систем, с помощью которых может производиться виртуализация серверов (Hyper-V – встроенный компонент).
Однако и эта технология обладает некоторыми недостатками, поэтому многие предпочитают программные пакеты вроде WMware, VirtualBox, QUEMI или даже MS Virtual PC. Хотя названиями такие приложения и разнятся, принципы работы с ними особо не отличаются (разве что в деталях и некоторых нюансах). С некоторыми версиями приложений может производиться и виртуализация серверов Linux, но эти системы подробно рассматриваться не будут, поскольку у нас большинство пользователей использует все-таки Windows.
Виртуализация сервера на Windows: простейшее решение
Со времени выхода седьмой версии Windows в ней появился встроенный компонент, называемый Hyper-V, что дало возможность создавать виртуальные машины собственными средствами системы без использования стороннего ПО.
Как и в любом другом приложении такого уровня, в этом пакете можно смоделировать будущий виртуальный компьютер, указав размер жесткого диска, объем оперативной памяти, наличие оптических приводов, желаемые характеристики графического или звукового чипа – в общем, всего того, что имеется в «железе» обычного серверного терминала.
Но тут нужно обратить внимание на включение самого модуля. Виртуализация серверов Hyper-V не может производиться без предварительного включения этого компонента в самой системе Windows.
Видео: Сборка домашнего сервера #2
В некоторых случаях может потребоваться и задействование активации поддержки соответствующей технологии в BIOS.
Использование сторонних программных продуктов
Тем не менее даже несмотря на средства, которыми может производиться виртуализация серверов Windows-систем, многие специалисты считают эту технологию несколько неэффективной и даже чрезмерно усложненной. Гораздо проще использовать уже готовый продукт, в котором аналогичные действия производятся на основе автоматического подбора параметров, а виртуальная машина обладает большими возможностями и гибкостью в управлении, настройке и использовании.
Речь идет об использовании таких программных продуктов, как Oracle VirtualBox, VMware Workstation (VMware vSphere) и других. Например, сервер виртуализации VMware может создаваться таким образом, чтобы сделанные внутри виртуальной машины аналоги компьютеров работали раздельно (независимо друг от друга). Такие системы можно использовать в процессах обучения, тестировании какого-либо программного обеспечения и т.д.
Видео: Что нового в Windows Server 2012 R2: виртуализация
Кстати сказать, отдельно можно отметить, что при тестировании ПО в среде виртуальной машины можно использовать даже программы, зараженные вирусами, которые покажут свое действие только в гостевой системе. На основной (хостовой) ОС это не скажется ни коим образом.
Что же касается процесса создания компьютера внутри машины, в VMware vSphere виртуализация серверов, равно как и в Hyper-V, производится на основе «Мастера», однако, если сравнивать эту технологию с Windows-системами, сам процесс выглядит несколько проще, поскольку программа сама может предложить некое подобие шаблонов или автоматически вычислить нужные параметры будущего компьютера.
Основные недостатки виртуальных серверов
Но, несмотря на то, сколько преимуществ дает тому же сисадмину или конечному пользователю виртуализация сервера, у таких программ есть и некоторые существенные недостатки.
Во-первых, выше головы не прыгнешь. То есть виртуальная машина будет использовать ресурсы физического сервера (компьютера), причем не в полном, а в строго ограниченном объеме. Таким образом, чтобы виртуальный аппарат работал надлежащим образом, начальная конфигурация «железа» должна быть достаточно мощной. С другой стороны, покупка одного мощного сервера все равно выйдет намного дешевле, чем приобретение нескольких с более низкой конфигурацией.
Во-вторых, хотя и считается, что несколько серверов могут быть объединены в кластер, а при отказе одного из них можно «переехать» на другой, в том же Hyper-V этого добиться невозможно. И это выглядит как явный минус в вопросе отказоустойчивости.
В-третьих, явно спорным будет вопрос переноса в виртуальное пространство ресурсоемких СУБД или систем вроде Mailbox Server, Exchange Server и т.д. В этом случае будет наблюдаться явное торможение.
В-четвертых, для корректной работы такой инфраструктуры нельзя использовать исключительно виртуальные компоненты. В частности, это касается контроллеров доменов – хотя бы один из них в обязательном порядке должен быть «железным» и изначально доступным в Сети.
Наконец, в-пятых, виртуализация сервера таит в себе еще одну опасность: отказ физического хоста и хостовой операционной системы повлечет за собой автоматическое отключение всех сопутствующих компонентов. Это – так называемая единая точка отказа.
Резюме
Тем не менее, несмотря на некоторые недостатки, преимуществ у таких технологий явно больше. Если посмотреть на вопрос того, зачем нужна виртуализация серверов, здесь можно выделить несколько основных аспектов:
- сокращение количества «железного» оборудования;
- снижение тепловыделения и потребления энергии;
- уменьшение материальных затрат, в том числе на приобретение оборудования, оплату электроэнергии, приобретение лицензий;
- упрощение обслуживания и администрирования;
- возможность «миграции» ОС и самих серверов.
Собственно, преимуществ применения таких технологии гораздо больше. Хотя и может показаться, что есть некоторые серьезные недостатки, при правильной организации всей инфраструктуры и задействовании необходимых средств управления для бесперебойной работы в большинстве случаев появления таких ситуаций можно избежать.
Наконец, для многих открытым остается вопрос выбора программного обеспечения и практического внедрения виртуализации. Но тут лучше обратиться за помощью к специалистам, поскольку перед нами в данном случае стоял исключительно вопрос общего ознакомления с виртуализацией серверов и целесообразностью внедрения системы как таковой.