Бюджетная виртуализация своими руками на базе citrix xen server

Бюджетная виртуализация своими руками на базе citrix xen server

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

Этап первый – Расчет ресурсов и выбор железа
Проводим анализ существующей инфраструктуры, считаем количество серверов и требуемых ресурсов для них. Берем сервер и считаем сколько нужно ресурсов этому серверу отдать с расчетом нагрузки и запас.

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

Имя сервера

Процессор

Память

Диск

Voip

2

8

320

 
Этап второй – Подбираем железо
Золотой серединой для почти всех не сильно нагруженных проектов является процессор intel xeon 2620.
Память, чем ее больше, тем лучше.
Hdd – можно не затрачивать финансы на raid контроллеры, на мой взгляд передовым решением на текущий момент является установка гипервизора на ssd диски.
Альтернативой raid контроллера на дисковом сторадже может стать файловая система ZFS

Этап третий – Выбор софта
Мой взгляд остановился на Citrix Xen Server.
+ Существует редакция, не требующая лицензии
+ Морально доделанный продукт с удобным управлением мышкой, и хорошим мануалом для работы в консольном режиме
При подборе железа к Citrix Xen Server не лишним будет просмотреть список совместимого оборудования.
На сайте Citrix, иначе могут возникнуть проблемы с установкой гипервизора.
И кроме того, нужно иметь ввиду, что конфигурация пула на разных аппаратных платформах возможна, но работать он будет на процессоре с меньшим набором инструкций.

Таблица   возможностей бесплатной (Free) версии Citrix Xen Server 6.5

Feature

XenServer 6.5 Free

XenServer 6.5 Standard

64-bit Xen Hypervisor

+

+

Active Directory Integration

+

+

Role-based Administration and Audit Trail

+

+

Multi-Server Management with XenCenter GUI

+

+

Live VM Migration with XenMotion

+

+

Live Storage Migration with Storage XenMotion

+

+

Dynamic Memory Control

+

+

Host Failure Protection with High Availability

+

+

Performance Reporting and Alerting

+

+

Mixed resource pools with CPU Masking

+

+

GPU Pass-Through for Desktop Graphics Processing (AMD + NVIDIA)

+

+

IntelliCache for XenDesktop Storage Optimization

+

+

Live Memory Virtual Machine Snapshot and Revert

+

+

OpenFlow-capable Virtual Switch

+

+

Vmware vSphere to XenServer conversion Utilities (Conversion Manager)

-

-

Support for Intel TXT

-

-

Hot-Fix Deployment using XenCenter

+

+

GPU Virtualization (vGPU) with NVIDIA GRID

-

-

Dynamic Workload Balancing and Audit Reporting

-

-

Export Pool Resource List (minor feature)

-

-

In-memory Read Caching

-

-

Citrix Support and Maintenance

-

+

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

Установка Citrix Xen Server 6.5

Установка Citirix банально проста, ниже не будет информации, как установить Xen Server 6.5. А лишь краткая заметка.
1-е Скачиваем дистрибутив Free Xen с сайта Citrix
2-е
Устанавливаем гипервизор Xen с cd. С флешки Xen устанавливаться не захотел, сейчас уже не помню, почему
3-е Установка стандартная и сводится лишь к выбору, языка и раскладки, установки пароля пользователю root и выбора сетевого интерфейса для управления Xen management
Реальные затраты RAM на гипервизор около 6 Гб.
После установки гипервизора устанавливаем SP1 к нему и патчи, в 6.5 теперь это можно делать мышкой SP1 скачиваем с сайта Citrix SP1. Патчи скачиваем и устанавливаем, используя Notification -> Updates консоли

Настройка пула серверов Citrix Xen Server 6.5

Только сервера xen, объединенные в пул могут выдать весь набор преимуществ виртуализации по сравнению с традиционным построением серверной инфраструктуры. При проектировании нагрузки нужно обязательно исходить из того, что один узел в ноде(кластере) должен полностью вывозить нагрузку всех виртуальных машин с учетом расходов на гипервизор и запас. 
Создаем пул, здесь и дальше работа с Xen преимущественно будет осуществлять  через графическую консоль  управления.
Запускаем XenCenter добавляем XEN сервера  по IP или name. Кликаем слева по иконке XenServer правой кнопкой мыши и выбираем, создать NewPool придумываем произвольное имя пула, например Pool1, выбираем сервер, который будет мастером пула. После создания пула кликаем по свободным серверам и добавляем их в пул. Тут может быть подводный камень следующего характера, если физические процессоры на серверах гипервизора отличаются, то весь пул будет предоставлять набор инструкций  процессора с меньшим набором характеристик. Кроме того для того, чтобы собрать такие узлы в пул нужно будет менять битовую маску на хосте которые нужно ввести в пул, более подробно на хабр.
На моем тестовом стенде это выглядело так:
E5 040ce3bd-bfebfbff-00000001-20100800
X3 0408e3fd-bfebfbff-00000001-20100800
хост 1-100000011001110001110111101
хост2-100000010001110001111111101

Результат-100000010001110001110111101

Настройка сети Citrix Xen Server

Для того, чтобы виртуальные машины могли мигрировать между хост-машинами, конфигурация настроек сети на них должна совпадать.
Опционально выделить отдельную сеть и разнести ее по IP и портам в соответствии с задачами.
Приблизительно можно выделить следующие сети по их функциональному назначению:
а) Сеть управления. Под management xen, по этому каналу будем получать управление к пулу используя консоль XenCenter и по этому же каналу будут мигрировать наши виртуальные сервера, конечно чем выше скорость на канале тем лучше. Быстрее будут мигрировать наши виртуалки.
б) Сеть для iscsi. Будем использовать для серверов с дисками, подключенными с использованием iscsi
в) Сеть для nfs. Будем использовать для серверов с дисками, подключенными с использованием nfs
г) Сеть nfs где будут храниться наши iso образы операционных систем
При использовании nfs зарезервировать каналы от гипервизора к полке можно, используя агрегацию каналов.
При использовании iscsi можно активировать  multipathing.  Multipathing включается на хосте, переведенным в режим обслуживания.
Вот скриншот моих сетевых настроек
Настройка сети Xen Server

Xen позволяет создавать сети и использовать в них vlan-ы которые используют nic серверов, так и сети которые не используют сетевую карту сервера для создания изолированных сетей между виртуалками.
Логика создания Server Network.
Создать сеть, настроить ip адрес для xen в добавленной сети.

После настройки сети добавляем стораджи к нашему пулу.
В Xen, Storage могут быть двух типов для создания библиотеки ISO и Storage для виртуальных жестких дисков.

Подключение NFS и ISCSI Storage Citrix Xen Server 6.5

Создаем библиотеку.  Для этого выбираем пункт меню Storage -> New SR -> ISO library -> NFS ISO
Storage NFS

Придумываем name новой библиотеки

Новый storage

Вводим адрес нашей шары где будут храниться наши ресурсы
Новый репозитарий

Получаем готовую библиотеку с образами
ISO библиотека

Для добавления NFS storage виртуальных дисков нужно создать сторадж для NFS VHD
Вводим, путь до storage и выбираем Create a new SR
Новый репозитарий

Форматируем новый SR
SR создание

После чего можно создавать виртуальные диски на SR
Nfs disk pool

Установка виртуальных машин в Citrix Xen Server 6.5

Установка vm ничем не отличается от установки системы на обычный ПК.
Сценарий развертывания вм (виртуальной машины) поддерживает механизм шаблонов. Что позволяет создавать собственные шаблоны для установки вм.
Переходим в пункт меню VM –> New VM

Новая виртуальная машина

Выбираем шаблон, который будем использовать для установки vm
Шаблон ВМ

Вводим имя машины
Имя новой виртуальной машины

Выбираем ISO-образ из библиотеки для установки
Образ iso установки

Сервер на котором будут хоститься вм
Сервер хост

Число процессоров их топологию и размер памяти
CPU новой VM

Выделяем диск и сетевой адаптер
Storadge vm

Сеть vm

 Запускаем созданную VM
Запуск виртуальной машины

Стандартно инсталлируем операционную систему, после установки монтируем xs-tools
XS-tools установка

Как установить xs-tools citrix xen server 6.5

mount /dev/xvdd /tmp
./install.sh
Теперь есть возможность использовать performance сервера

Perfomance ВМ
Настраиваем High Availability высокую доступность в Citrix Xen Server 6.5

XenServer позволяет обеспечить автоматическую живую миграцию виртуальных машин при падении одного из узлов в пуле, настраиваем High Availability
Активируем HA и конфигурируем High Availability

Enable HA

Выбираем общий storage для реализации HA
NFS HDD HA

Выбираем план миграции ВМ и расставляем их приоритеты
ВМ restart HA

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

Поддержка usb устройств и токенов XenServer 6.5

XenServer поддерживает проброс usb устройств в гостевую систему. Исключение составляют usb устройства типа смарт-карта, которые пробросить на текущий момент не возможно без использования стороннего программного обеспечения.
Проброс USB
lspci | grep USB на хост системе Узнаем uuid vm
xe vm-list name-label=
сам проброс xe vm-param-set other-config:pci=0/000:00:1d.0 uuid=cd9c4655-dc8a-c086-103c-c1716293467d
Проверка параметров проброса xe vm-param-list uuid=cd9c4655-dc8a-c086-103c-c1716293467d | grep other-config
Отключить проброс xe vm-param-remove param-name=other-config param-key=pci uuid=cd9c4655-dc8a-c086-103c-c1716293467d

После падения мастер хоста в пуле, его роль захватывает оставшийся сервер в пуле.
Для того, чтобы сменить мастер хост нужно: Смена master pool
Отключаем HA
xe pool-ha-disable
Ищем uuid мастера в пуле xe host-list
Назначаем новый мастер xe pool-designate-new-master host-uuid=<new-master-uuid>
активируем HA
xe pool-ha-enable

Поделиться:

Комментарии

Аватар пользователя Sergey

xenserver 7.x кажется уже не имеет бесплатной лицензии , активировать бесплатную лицензию не вышло, инфы на сайте  citrix нет о бесплатной версии. Хотел купить версию standard - так продовец уверяет о неообходимости продления ежегодной поддержки

Аватар пользователя Shkera

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

Аватар пользователя Gloomy

Подтверждаю. Бесплатная версия Citrix XenServer 7.x есть. Сам пользуюсь такой. В декабре 2017 вышла версия 7.3 в бесплатной версии которой сильно порезали функционал. Если не критично использовать последние версии то рекомендую по возможности максимально оставаться на версии 7.2

Аватар пользователя Володик

Какая из них бесплатна (на длительный период):

а)XenServer 7.2 Enterprise Edition

б)XenServer 7.2 Standard Edition

?

 

Аватар пользователя Shkera

Ищите в ftp download, там была ссылка раньше на free версию. Citrix старается не офишировать что есть free продукт

Аватар пользователя Anonym

По состоянию на 15022018,офиц. сайт (на поис free) выдает "XenServer 7.3.0 Base Installation ISO - Free Edition",это прологированно бесплатно?

Аватар пользователя Shkera

На текущий момент думаю да, но условия citrix может изменить в одностроннем порядке в любой момент

Добавить комментарий

5 + 5 =
Решите простой математический пример. Например для "два плюс четыре =?" введите "6".