Сервер виртуальных машин своими руками

Добавил пользователь Евгений Кузнецов
Обновлено: 10.09.2024

Создание виртуальной машины с операционной системой Windows Server выполняется аналогично созданию vApp c одной виртуальной машиной из шаблона. Для этого в списке доступных шаблонов выберите требуемую версию операционной системы Windows Server. После завершения процедуры виртуальная машина будет готова к работе.

В качестве стандартных шаблонов для развертывания предлагаются следующие версии:

При необходимости можно установить указанные версии операционных систем в редакции Datacenter из собственного образа или из репозитория образов ISO Library.

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

Активация операционной системы

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

Как посмотреть пароль администратора

В процессе первого запуска ОС происходит автоматическая перезагрузка и кастомизация образа. После перезагрузки откроется стандартное окно аутентификации.

Для просмотра сгенерированного в процессе кастомизации пароля:

  1. Перейдите на вкладку Compute -> Virtual Machines.
  2. В карточке нужной виртуальной машине нажмите кнопку DETAILS.
  3. В открывшемся окне выберите Guest OS Customization и нажмите кнопку EDIT.
  4. Пароль указан в поле Specify password.

С помощью ISO-образа

Для создания ВМ с помощью ISO-образа:

  1. Перейдите в раздел Compute -> Virtual Machines.
  2. Нажмите NEW VM.

В открывшемся окне заполните поля:

Operating System — выберите версию ОС Microsoft Windows;

Примечание: при создании виртуальной машины с Windows Server 2019 в меню выбора типа ОС следует выбрать тип Windows Server 2016.

Boot image — выберите ISO образ ОС;

Select a Size — выберите количество ЦП и памяти;

Storage — добавьте нужное количество дисков, укажите их размеры и политику хранения (для пула Gold надо выбрать между vSSD и Fast vSSD, для пула Silver — между Fast vHDD и vHDD);

Networking — добавьте сеть при необходимости.

После создания VM установите VMware Tools™, нажав ACTIONS на нужной ВМ и в выпадающем меню выбрав пункт Install VMware Tools.

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

Лицензирование

В облаке на базе VMware допускается использование лицензий, исключительно арендованных у Selectel. Лицензирование виртуальных машин собственными лицензиями не допускается. При создании виртуальной машины из нашего шаблона, автоматически предоставляется доступ к серверу управления ключами (KMS).

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

Ручная активация

Для активации операционной системы Windows Server требуется доступ к интернету. Активация выполняется следующим образом:

Убедитесь в корректности настроек даты и времени.

Установить время можно как вручную, так и с помощью NTP-сервера (предпочтительнее). Проверьте также соответствие часового пояса. Если между сервером KMS и клиентом обнаружится существенная разница во времени, то активация не будет выполнена.

Запустите командную строку или оболочку Powershell с правами администратора.

Задайте ключ операционной системы:

Примечание: ключи клиентов ОС доступны по ссылке.

Укажите адрес сервера KMS:

Выполните активацию (или перезагрузите VM):

Операционная система Windows Server готова к работе.

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

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

Сейчас передо мной встал вопрос аренды хорошего сервера с большим объёмом оперативной памяти и объёмным жестким диском. Но запускать проекты прямо на хост-машине не хочется, поэтому буду разграничивать их по отдельным небольшим виртуальным серверам с ОС Linux или docker-контейнерам (о них расскажу в другой статье).

Все современные облачные хостинги работают по такому же принципу, т.е. хостер на хорошем железе поднимает кучу виртуальных серверов, которые мы привыкли называть VPS/VDS, и раздаёт их пользователям, либо автоматизирует этот процесс (привет, DigitalOcean).

KVM (kernel-based virtual machine) это программное обеспечения для Linux, использующее аппаратные средства x86-совместимых процессоров для работы с технологией виртуализации Intel VT/AMD SVM.

Установка KVM

Все махинации по созданию виртуальной машины я буду проводить на ОС Ubuntu 16.04.1 LTS. Чтобы проверить поддерживает ли ваш процессов аппаратную виртуализацию на базе Intel VT/AMD SVM, выполняем:

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

Проверить поддержку аппаратной виртуализации в Ubuntu также можно через команду:

В случае успеха, вы увидите что-то вроде этого:

Устанавливаем пакеты для работы с KVM:

Если у вас есть доступ к графической оболочке системы, то можно установить GUI менеджер libvirt:

Пользоваться virt-manager достаточно просто (не сложнее VirtualBox), поэтому в этой заметке речь пойдёт про консольный вариант установки и настройки виртуального сервера.

Установка и настройка виртуального сервера

В консольном варианте установки, настройки и управлением системой, незаменимым инструментом является утилита virsh (надстройка над библиотекой libvirt). У неё большое количество опций и параметров, подробное описание можно получить так:

или вызвать стандартный "help":

Я всегда придерживаюсь следующих правил при работе с виртуальными серверами:

  1. Храню iso образы ОС в каталоге /var/lib/libvirt/boot
  2. Храню образы виртуальных машин в каталоге /var/lib/libvirt/images
  3. Явно задаю каждой новой виртуальной машине свой статичный IP адрес через DHCP сервер гипервизора.

Приступим к установке первой виртуалки (64-битной серверной убунте 16.04 LTS):

Скачав образ запускаем установку:

Переводя все эти параметры на "человеческий язык", то получается, что мы создаём виртуальную машину с ОС Ubuntu 16.04, 1024 МБ ОЗУ, 1 процессором, стандартной сетевой картой (виртуальная машина будет ходить в интернет как-будто из-за NAT), 20 ГБ HDD.

Стоит обратить внимание на параметр --os-variant, он указывает гипервизору под какую именно ОС следует адаптировать настройки.
Список доступных вариантов ОС можно получить, выполнив команду:

Если такой утилиты нет в вашей системе, то устанавливаем:

После запуска установки, в консоли появится вот такая надпись:

Это нормальная ситуация, продолжать установку мы будем через VNC.
Смотрим на каком порту он был поднят у нашей виртуалки (в соседнем терминале, например):

Порт 5900, на локальном адресе 127.0.0.1. Чтобы подключиться к VNC, необходимо использовать Port Forwarding через ssh. Перед тем как это сделать, убедитесь, что tcp forwarding разрешён у демона ssh. Для этого идём в настройки sshd:

Если ничего не нашлось или вы видите:

То правим конфиг на

и перезагружаем sshd.

Настройка Port forwarding

Выполняем команду на локальной машине:

Здесь мы настроили ssh port forwarding с локального порта 5900 на серверный порт 5900. Теперь уже можно подключиться к VNC, используя любой VNC-клиент. Я предпочитаю UltraVNC из-за простоты и удобства.

После успешного подключения, на экране отобразится стандартное окно приветствия начала установки Ubuntu.

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

Запоминаем и идём на хост машину. Вытаскиваем mac-адрес "сетевой" карты виртуалки:

Запоминаем наш mac адрес:

Редактируем сетевые настройки гипервизора:

Ищем DHCP, и добавляем вот это:

Должно получиться что-то вроде этого:

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

После этого перегружаем виртуальную машину, теперь она всегда будет иметь заданный ей IP адрес - 192.168.122.131.

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

Чтобы подключиться к терминалу виртуальной машины, выполняем:

Машина готова к бою.

Virsh: список команд

Чтобы посмотреть запущенные виртуальные хосты (все доступные можно получить добавив --all):

Перезагрузить хост можно:

Остановить виртуальную машину:

Добавить в автозапуск:

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

Она клонирует существующую виртуалку и изменяет host-sensitive данные, например, mac address. Пароли, файлы и прочая user-specific информация в клоне остаётся прежней. Если на клонируемой виртуалке IP адрес был прописан вручную, то могут возникнуть проблемы с доступом по SSH на клон из-за конфликта (2 хоста с одинаковым IP).

Помимо установки виртуалки через VNC, также возможен вариант с X11Forwarding через утилиту virt-manager. В Windows, например, для этого можно использовать Xming и PuTTY.

Microsoft давно пытается завоевать рынок виртуализации как десктопной, так и серверной. Не так давно вышла ОС Windows Server 2012 с новым гипервизором Hyper-V 3.0, который теоретически догнал гипервизор от вендора №1 виртуализации – VMware. Но речь пойдет не о серверной виртуализации, а о десктопной. Почему Microsoft? Потому что MS позиционирует свое VDI-решение как наиболее дешевое (и не зря, кстати), что мгновенно сказывается на заинтересованности рынка данным продуктом. Т.к. в VMware уже все понятно (там все хорошо), с Citrix тоже, осталось познать VDI от MS. Итак, каков он, VDI от MS в 2012-м, да и, пожалуй, в 2013-м и может даже 2014м? Да, т.к. большой любитель VMware, поэтому то тут, то там, будут проскакивать сравнения MS vs VMware.

2. Как это работает

На картинке показаны компоненты, необходимые для работы MS VDI (на самом деле если кто хорошо знаком с VMware View, разница невелика):

clip_image001

Прежде всего, нужен клиент – Remote Desktop Client. Да, для клиента сейчас уже лучше всего использовать Windows 8 и Windows 7 SP1, меньше и тем более XP – плохо.

· Remote Desktop Web Access (RDWA) - Веб-доступ к удаленным рабочим столам разрешает пользователям доступ к подключению к удаленным рабочим столам и удаленным приложениям RemoteApp через меню Пуск на компьютере, работающем под управлением Windows 8 или Windows 7, либо через веб-браузер. Подключение к удаленным рабочим столам и приложениям RemoteApp предоставляет настраиваемое представление удаленных приложений RemoteApp и рабочих столов на основе сеансов в коллекции сеансов, а также удаленных приложений RemoteApp и виртуальных рабочих столов в коллекции виртуальных рабочих столов. В VMware это собственно View Client, за исключением веб-портала.

· Remote Desktop Gateway (RDG) - Шлюз удаленных рабочих столов (шлюз RD) позволяет авторизованным пользователям подключаться к виртуальным рабочим столам, удаленным приложениям RemoteApp и рабочим столам на основе сеансов во внутренней корпоративной сети с помощью любого устройства, подключенного к Интернету. В VMware некий аналог View Security Server.

· Remote Desktop Session Host (RDSH) - Узел сеансов удаленных рабочих столов позволяет серверу размещать удаленные приложения RemoteApp или рабочие столы на основе сеансов. Пользователи могут подключаться к серверам узла сеансов удаленных рабочих столов в коллекции сеансов, чтобы выполнять программы, сохранять файлы и использовать ресурсы на этих серверах. Проще говоря, это управлялка службами терминалов. У VMware аналогов нет.

· Remote Desktop Virtual Host (RDVH) - Узел виртуализации удаленных рабочих столов объединяется с Hyper-V для развертывания коллекций помещенных в пул или личных виртуальных рабочих столов в организации с помощью подключения к удаленным рабочим столам и приложениям RemoteApp. Проще говоря, машина с ролью гипервизора – на ней должен стоять Hyper-V. В VMware это ESXi.

· Active Directory (AD) – тут все понятно: собственно AD, DNS и DHCP. В данном мануале DHCP сервера нет ввиду технических ограничений сети тестирования – я обошелся статикой, вовремя подменяемой в момент создания пулов машин J

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

· Remote Desktop Connection Broker (RDCB) – собственно управлялка подключениями. Аналог View Connection Manager.

Для развертывания простого варианта VDI нам потребуется физический сервер с ОС Windows Server 2012 и установленными ролями Hyper-V и RDVH, и две виртуальные машины: на одной будут службы AD, а на второй – роли RDWA и RDCB. Также нужно будет две виртуалки-шаблона с ОС Windows 7 и ОС Windows 8.

Про RemoteFX: протестировать чудеса графики от MS не получится, потому как хоть процессор (Xeon X56xx) и удовлетворяет требованиям RemoteFX, но нет в сервере физической карты GPU.

3. Подготовка инфраструктуры

Для начала подготовим инфраструктуру.

Что нам требуется:

· 1 физический сервер с ОС W2012 и ролями Hyper-V, RDVH: в качестве сервера у меня под рукой оказался Fujitsu PRIMERGY RX300 S6 с двумя Xeon X56xx, 24GB RAM и дисками 6x 300 SAS 15k;

· 1 контроллер домена с ролями ADDS, DNS (2GB, 2 vCPU);

· 1 сервера брокера соединений с ролями RDWA и RDCB (4GB, 2 vCPU;

· Клиент – ноутбук с правленым файлом hosts – в файл добавим инфу о сервере-брокере.

192.168.1.201/24 iRMC управляющий порт сервера

192.168.1.202/24 hvhost01.vdi.local гипервизор, порт 01

192.168.1.203/24 hvhost01.vdi.local гипервизор, порт 02

192.168.1.204/24 msvdi-dc.vdi.local контроллер домена

192.168.1.205/24 msvdi-broker.vdi.local сервер брокера соединений

192.168.1.206/24 win7template шаблон windows 7

192.168.1.207/24 win8template шаблон windows 8

192.168.1.211/24 win7-01 пул windows 7

192.168.1.212/24 win7-02 пул windows 7

192.168.1.10/24 gate шлюз

192.168.1.100/24 client ноутбук-клиент

4. Установка Windows Server 2012 и роли Hyper-V. Создание виртуальных машин.

Установка проста – монтируем диск и устанавливаем, затем вводим пароль и делаем базовую настройку – меняем IP на нужный нам (в примере 192.168.1.202 и 203), правим настройки DNS (выставляем адрес будущего сервера DNS 192.168.1.204) , выставляем время, включаем доступ по RDP и переименовываем машину:

clip_image004

Далее, создаем какую-нибудь папку для образов ISO, и копируем в нее образы W2012, W7 и W8 - у меня эта папка C:\ISO. Далее, создадим папку для конфигурационных файлов Hyper-V, образов машин и образов десктопов. У меня это E:\VM\Config, E:\VM\VHD и E:\VM\VDI соответственно.

Далее добавляем роль Hyper-V:

clip_image006

Выбираем установить роли:

clip_image009

Выбираем наш сервер, на котором будут крутиться все виртуальные машины:

clip_image012

clip_image014

clip_image017

Тут ничего не выбираем, просто жмем Next:

clip_image020

clip_image022

Выбираем один адаптер – второй сейчас не нужен, т.к. для каждого адаптера Hyper-V создает свой коммутатор:

clip_image025

Сервер у нас один – никаких миграций не планируется:

clip_image027

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

clip_image030

clip_image032

clip_image034

Все, роль гипервизора установлена – можно создавать виртуальные машины. Теперь ребут и идем в консоль Hyper-V Manager для создания виртуальных машин:

clip_image036

Создадим виртуальные машины для контроллера домена и брокера – жмем New в панели Hyper-V Manager:

clip_image038

Обзовем машину запланированным именем и раздаем ресурсы.

Дадим контроллеру домена 2GB, а брокеру – 4GB. Десктопам позднее дадим тоже 2.

clip_image041

Выберем, к какому коммутатору будет подключена виртуальная машина:

clip_image044

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

clip_image047

Далее указываем ранее скопированные нами ISO-образы ОС:

clip_image050

И создаем машину, но пока ее не стартуем:

clip_image052

Теперь дадим машине 2 vCPU (идем в свойства машины), также включим автостарт (нужен чтобы после ребута хоста машины поднимались автоматически):

clip_image055

clip_image059

Далее запуск, и ждем…

Итак, машины проинсталлены:

clip_image061

Стоит отметить, что шаги по созданию виртуальной машины практически идентичны аналогичным шагам в клиенте VMware vSphere Client. Также по ощущениям, создание 2-х машин на 4-х дисках в RAID-5 было уж очень неповоротливым, ОС Windows Server 2012 ставилась порядка 40 минут (ставилось их всего две параллельно). Может сказывается медлительность NTFS over VHD over NTFS? В аналогичных условиях на VMware VMFS (получаем NTFS over VMDK over VMFS) параллельная установка ОС выполняется быстрее.

Теперь установим роль контроллера домена и включим в домен машину-брокер msvdi- broker и собственно хост hvhost01.

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


Создаем домашний сервер: теория и основы

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

Зачем нужен домашний сервер

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


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

Если вы, например, живете в частном доме и хотите обеспечить его максимальную безопасность, с домашним сервером можно организовать видеонаблюдение. Данные с IP-камер могут сохраняться на сервере — важно лишь, чтобы он имел достаточный объем хранилища и нужную производительность. Конечно, существуют специальные компьютеры-видеорегистраторы, но они нужны для сложных систем, поэтому стоят дорого. Для пары-тройки камер свой сервер будет предпочтительнее и дешевле.

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

Какие характеристики важны

Если же мы говорим о характеристиках сервера, можно выделить две критически важных: объем хранилища и уровень шума. С хранилищем все понятно: его не бывает слишком много, от объемов дисков зависит, какое количество контента, файлов, документов и вообще данных вы сможете там разместить. Чем больше места, тем больше резервных копий вы сможете там хранить и тем выше качество фильмов и музыки вы себе позволите.

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

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

Какими бывают домашние серверы

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

Читайте также: