Xenserver

Устанвка на Ubuntu Server 16.04 LTS

Далее будет описана установка на Ubuntu Server 16.04 LTS гипервизора, а на него будет установлена Ubuntu 16.04

В процессе установки Ubuntu Server 16.04 LTS

На протяжении установки виртуальной ОС при выборе типа разбиения виртуального диска выберите опцию «Guided — use the entire disk and setup LVM» (использовать весь виртуальный диск и установить на него LVM). Затем, когда Вам скажут, что «Amount of volume group to use for guided partitioning:» (все ли хранилище использовать для выбранной разметки) — введите объем достаточный для Xen Dom0, оставив все оставшееся пространство виртуального диска свободным. Необходимо ввести объем достаточный для Ubuntu Server вместе с Xen гипервизором. Для примера, можете взять 5 Гб, этого будет достаточно для минимальной конфигурации Xen Dom0. Выделения 25% от размера тоже приемлемый выбор.

Установка Xen-гипервизора

Установка 64-битной версии:

$ sudo apt-get install xen-hypervisor-amd64

Модификация GRUB для входа в Xen:

$ sudo dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
$ sudo update-grub

После перезагрузка:

$ sudo reboot

Проверка успеха установки:

$ sudo xm list

Конфигурация сети

Эта секция описывает как поставить «bridging to Xen», то есть настроить соединение для гипервизора. Предполагается, что eth0 ваш протокол для dom0 и для VMs. Это так же подразумевает, что вы используете DHCP.

$ sudo apt-get install bridge-utils

Измените /etc/network/interface:

auto lo eth0 xenbr0
iface lo inet loopback

iface xenbr0 inet dhcp
  bridge_ports eth0

iface eth0 inet manual

Перезагрузить сеть для настройки xenbr0 bridge:

$ sudo ifdown eth0 && sudo ifup xenbr0 && sudo ifup eth0

Создание PV Guest VM

Просмотрите ваши существующие volume groups (VG) и выберите тот, куда хотите установить VM:

$ sudo vgs

Создайте логический раздел (LV):

$ sudo lvcreate -L 10G -n lv_vm_ubuntu /dev/<VGNAME>

Проверьте, что LV создалось:

$ sudo lvs

Скачивание образа =

$ sudo mkdir -p /var/lib/xen/images/ubuntu-netboot/trusty14LTS
$ cd /var/lib/xen/images/ubuntu-netboot/trusty14LTS
$ wget http://<mirror>/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/xen/vmlinuz
$ wget http://<mirror>/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/xen/initrd.gz

Непосредственная установка VM

$ cd /etc/xen
$ cp xlexample.pvlinux ubud1.cfg
$ vi ubud1.cfg
name = "ubud1"

kernel = "/var/lib/xen/images/ubuntu-netboot/trusty14LTS/vmlinuz"
ramdisk = "/var/lib/xen/images/ubuntu-netboot/trusty14LTS/initrd.gz"
#bootloader = "/usr/lib/xen-4.4/bin/pygrub"

memory = 1024
vcpus = 1

# Custom option for Open vSwitch
vif =  'script=vif-openvswitch,bridge=ovsbr0' 

disk =  '/dev/<VGNAME>/lv_vm_ubuntu,raw,xvda,rw' 

# You may also consider some other options
# [[http://xenbits.xen.org/docs/4.4-testing/man/xl.cfg.5.html]]

Запуск контейнера для VM и установка образа:

$ sudo xl create -c /etc/xen/ubud1.cfg

После установки, настроим pygrup bootloader:

$ vi /etc/xen/ubud1.cfg
#kernel = "/var/lib/xen/images/ubuntu-netboot/trusty14LTS/vmlinuz"
#ramdisk = "/var/lib/xen/images/ubuntu-netboot/trusty14LTS/initrd.gz"
bootloader = "/usr/lib/xen-4.4/bin/pygrub"

Теперь перезагрузим VM с новым bootloader:

$ sudo xl shutdown ubud1
$ sudo xl create -c /etc/xen/ubud1.cfg

Создание HPV Guest VM

sudo pvs

Выбери VG, создай LV:

sudo lvcreate -L 4G -n ubuntu-hvm /dev/<VG>

Создай файл конфигурации для VM /etc/xen/ubuntu-hvm.cfg:

builder = "hvm"
name = "ubuntu-hvm"
memory = "512"
vcpus = 1
vif = ''
disk = 'phy:/dev/<VG>/ubuntu-hvm,hda,w','file:/root/ubuntu-12.04-desktop-amd64.iso,hdc:cdrom,r'
vnc = 1
boot="dc"
xl create /etc/xen/ubuntu-hvm.cfg
vncviewer localhost:0

После установки вы можете удалить CDROM из конфига и изменить порядок загрузки
Для примера/etc/xen/ubuntu-hvm.cfg:

builder = "hvm"
name = "ubuntu-hvm"
memory = "512"
vcpus = 1
vif = ''
#disk = ['phy:/dev/<VG>/ubuntu-hvm,hda,w','file:/root/ubuntu-12.04-server-amd64.iso,hdc:cdrom,r']
disk = 'phy:/dev/<VG>/ubuntu-hvm,hda,w'
vnc = 1
boot="c"
#boot="dc"

What is Citrix plan?

My first reaction when Citrix announced the change to XenServer was “WTF, why are they shooting themselves in the foot like this?”. With some hindsight, I still don’t know what the objective of this decision was, and I certainly don’t have all the clues to answer the question.

Andddd, that’s me (obviously)!

My two cents: The Citrix agenda is not aligned with the Open Source world — and for Citrix the future is in the Cloud, not in on-premise infrastructure. Consequently, XenServer is only one small rung of the big Citrix ladder. Only one step and not even a mandatory one — to bring more customers to their larger product, XenDesktop.

So I won’t assume Citrix’s plan regarding XenServer, but I’m almost sure that Open Source does not play a large role in it.

Citrix Cloud

Who are we?

Our main product is called and, what do you know, it’s a web-GUI using the XenServer API to offer a turnkey complete solution for people using any version of XenServer. You can use Xen Orchestra to manage pools, administer VMs, backup your entire infrastructure and so on. Xen Orchestra is designed to be the only tool you will ever need on top of XenServer to manage all of your infrastructure.

We’re proud of it — our web-UI is a completely open source solution. And, we mean, real open source. The documentation to build it is complete and updated often, our community forum is a living place and our Github repository is brimming with community commits and improvement suggestions. And more than 2 years after launching a viable product, we are still making a monthly release, constantly increasing the performance and the possibilities of Xen Orchestra based on the feedback provided by our users.

Our business model is crystal clear, we deliver turnkey updater and professional support for companies that want it. Our , which means that you can have as many VMs, hosts, sockets or whatever you want in your infrastructure, the price will always be the same!

If you can’t afford the Premium edition because you are too small, an NGO or you simply don’t have the budget for it — hey, remember when I said it’s open source? Follow the sources build guide and use it for free!

So, in the end of 2017, we were pissed off by the new commercial strategy of XenServer. Not only because it could hurt us as a company (less XenServer adoption means less potential customers for us), but also because it was a business decision so far from what we believe in.

XCP-ng —Open source virtualization

Now, we were worried, pissed, and more than ever determined to find a solution for us and the community. And so it was born: XCP-ng — a fork of XenServer, a true open source hypervisor solution!

After a very suscessful Kickstarter campaign that has reinforced us in our determination, we released the first version of XCP-ng on the 31st of March and we are now committed to improve the solution over time.

Initial KS target reach in less than 4 hours

Шаг 4: Весёлая часть

Есть три способа получить ускоренный виртуальный дисплей VM с Windows на экране вашей машины.

  • VNC или какой-то другой протокол удалённого доступа (обычно это весьма плохое решение). В этом варианте вам нужно только подключить vGPU и отключить все остальные дисплеи и видеокарты. Также выставьте настройку . Вам не нужна опция , показанная позже.
  • SPICE (у меня не получилось добиться 30 FPS или выше, но работает общий буфер обмена и передача файлов между VM и хостом).
  • Встроенный интерфейс QEMU на GTK+ (общий буфер обмена и передача файлов не работают, но можно добиться 60 FPS с помощью патча).

Что бы вы ни собирались использовать, вам всё равно придётся использовать второй вариант, чтобы установить драйвера для GPU. Встроенные драйвера от Microsoft не очень хорошо работают с GVT-g на момент написания поста, и часто ломаются. До того, как вы подсоедините vGPU к ВМ, желательно скачать последнюю версию драйвера от Intel(Судя по всему, Intel меняет подход к распространению драйверов, так что в будущем этот шаг, возможно, будет другим, либо станет вообще не нужным). Теперь убедитесь, что у вас создан vGPU. Откройте и замените хороший быстрый QXL на медленный Cirrus во избежание конфликтов. Чтобы подключить vGPU к ВМ, нужно открыть и где-нибудь добавить такой фрагмент:

Замечание: Когда я предоставляю XML-фрагмент вроде этого, вам по возможности следует добавить его к текущему, не заменяя ничего.

Проверьте, что вы создали уникальные UUID для всех vGPU, которые вы используете, и что номера слотов не конфликтуют ни с какими из остальных PCI-устройств. Если номер слота находится после Cirrus GPU, виртуальная машина упадёт. Теперь вы можете запустить виртуальную машину. Нужно установить , чтобы увидеть оба дисплея! Подключиться к ВМ можно с помощью команды

Один из дисплеев будет пустой или не инициализированный, второй — уже знакомый маленький не ускоренный дисплей. Раскройте его и, войдя, установите драйвер для GPU. Если вам повезёт, всё заработает сразу же. В противном случае, надо выключить и снова запустить ВМ (не перезагрузить) с помощью работающего экрана. Теперь самое время открыть терминал и запустить внутри . Эта команда выдаст вам некоторую полезную информацию о проблемах и общем ходе работы с использованием vGPU. Например, при загрузке KVM будет жаловаться на заблокированные MSR, затем вы должны получить несколько сообщений о неправильном доступе, когда vGPU инициализируется. Если их слишком много — что-то не так.

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

Утилита CRU весьма полезна. Можете поиграться с ней, и даже если вы наткнётесь на какие-то графические артефакты или даже почти целиком чёрный экран, как получилось у меня, вы можете запустить файл , идущий в комплекте с программой, чтобы перезагрузить графическую подсистему Windows. Лично я использую эту утилиту для использования более высокого разрешения на более скромном vGPU.

Чтобы добиться прекрасных 60 FPS, нужно переключиться на встроенный монитор QEMU на GTK+ без поддержки общего буфера обмена с хостом и подобных плюшек, а также изменить в нём одну строчку и пересобрать QEMU. Также понадобится добавить пачку противных аргументов командной строки в ваш XML. Удалите дисплей SPICE и видеокарту Cirrus и установите атрибут у вашего vGPU в (libvirt не поддерживает дисплей на GTK+ и не позволит загрузиться с без дисплея).

Масштабирование для HiDPI у монитора QEMU работает из рук вон плохо, поэтому мы его отключим. Также, вам понадобится установить переменную в тот номер дисплея, который вы используете. Чтобы дать пользователю, запускающему qemu, права доступа к X серверу, используйте команду:

Если это не сработало, попробуйте , но убедитесь, что вы используете файрвол. Иначе попробуйте более безопасный метод.

Если вы потерялись где-то по пути, можете посмотреть мой текущий XML для libvirt.

Download & Installation of XenCenter

To get us started you will need to go to https://www.citrix.com/welcome/create-account.html and create a customer account. Don’t worry it is free. I won’t cover the process of registering but once you are done you should see your “my account” page and it should look something like mine below. ***I will caveat this, by saying that you can download the XenCenter software other ways, but this is right way to do it. Plus you will need a Citrix account later in the series, so you might as well create one and get familiar with the customer portal now. ***

Citrix My Account

In the bottom right corner there is a link for Downloads. This will take you to all the software you have access to.

On the left hand side there are drop down menus. In the “Select Product” menu choose XenServer and then click find.

Citrix Downloads Home

The latest version of the software should be the first on the list. Just expand the Product Software section and choose XenServer 6.1.

This will bring you to a page with all of the downloads for XenServer 6.1. There are a lot of options, but we are only interested in the XenCenter 6.1 Windows Management Console. Just click on Download and a Java applet will open and allow you to save “XenServer-6.1-XenCenter.msi” to the location of your choosing.

Citrix XenCenter Download

I have chosen to save the download to my desktop. I will not show you how to install the application because there is nothing special to do here other than click next and accept a EULA.

Now that you have it installed, let’s open it! You will greet with an empty console that should look like this.

Типы гостевых систем

Гипервизор поддерживает запуск двух различных типов гостей: с Паравиртуализацией (PV) и Полное виртуализацией (HVM). Оба типа можно использовать одновременно на одном гипервизоре. Кроме того, можно использовать методы, используемые для Паравиртуализации в HVM гостя, и наоборот: по существу создавая сплошную среду между возможностями чистого PV и HVM. Здесь используются различные аббревиатуры для обозначения этих конфигураций, называемых HVM с драйверами PV, PVHVM и PVH.

Эволюция различных способов виртуализации в гипервизоре Xen Project

PV

Паравиртуализация (PV) является эффективным и легким методом виртуализации, изначально введеным Xen Project, а затем адаптированным для других платформ виртуализации. PV не требует расширений виртуализации от центрального процессора хоста. Тем не менее, паравиртуализированным гостям требуется поддержка PV ядром и драйверы PV, так что гости знают о наличии гипервизора и могут работать эффективно без эмуляции или виртуально эмулируемого оборудования. Ядра с поддержкой PV существуют для Linux, NetBSD, FreeBSD, OpenSolaris и др. В ядра Linux была включена поддержка PV начиная с 2.6.24. На практике это означает, что PV будет работать с большинством дистрибутивов Linux (за исключением очень старых версий дистрибутивов).

Реализация паравиртуализации в гипервизоре Xen Project

HVM

Полная виртуализация или виртуализация с аппаратной поддержкой (HVM) использует расширения виртуализации от центрального процессора для виртуализации гостей. HVM требует расширения оборудования Intel VT или AMD-V. Программное обеспечение Xen Project использует Qemu для эмуляции аппаратных средств PC, в том числе BIOS, IDE, VGA, контроллер USB, сетевой адаптер и т.д. Аппаратные расширения виртуализации используются для повышения производительности эмуляции. Полностью виртуализированные гостевые системы не требуют поддержки ядра. Это означает, что операционные системы Windows можно использовать в качестве гостя Xen Project HVM. Полностью виртуализированные гостевые системы обычно медленнее, чем паравиртуализированные из-за требуемой эмуляции.

Отличие между HVM с драйверами PV и без них.

PVHVM

Для повышения производительности, полностью виртуализированные гостевые HVM могут использовать специальные драйверы устройств (PVHVM или PV-on-HVM драйверы). Эти драйверы оптимизируют PV драйверы для среды HVM и обходят эмуляцию для диска и ввода/вывод в сети, таким образом давая Вам производительность как на PV (или лучше) для HVM систем

Это означает, что вы можете получить оптимальную производительность на гостевых операционных системах, таких как Windows.
Обратите внимание, что Xen Project PV гости автоматически используют драйверы PV: поэтому в этих драйверах нет необходимости — вы уже автоматически используете оптимизированные драйверы. Драйверы PVHVM требуются только для HVM (полностью виртуализированных) гостевых виртуальных машин.

Отличие между HVM с PV или PVHVM драйверов и без таковых.

PVH

В Xen Project 4.4 введен режим виртуализации под названием PVH для DomU. Xen 4.5 Project представил PVH для Dom0 (как для Linux, так и для некоторых BSD). По сути, это PV гость, использующий PV драйверы для загрузки и ввода/вывода. В противном случае он использует аппаратные расширения виртуализации без необходимости эмуляции. PVH считается экспериментальным и в 4,4 и в 4,5. Она работает довольно хорошо, но необходима дополнительная настройка (вероятно, в релизе 4.6), прежде чем она будет использована в производстве. PVH имеет потенциал для объединения всего наилучшего из всех режимов виртуализации при одновременном упрощении архитектуры Xen.
В двух словах, PVH имеет меньше кода и меньше интерфейсов в Linux / FreeBSD: следовательно, он имеет меньший TCB и атакуемую поверхность, и, таким образом, меньше возможных уязвимостей. После утверждения и оптимизации, она должна также иметь более высокую производительность и низкую задержку, в частности, на 64-битных хостах.

Различие между HVM (и его вариантами), PV и PVH

История

Xen Project возник как научно-исследовательский проект в университете Кембриджа во главе с Яном Пратт, старшим преподавателем в Кембридже, который основал XenSource, Inc. с Саймоном Кросби, также из Кембриджского университета. Первый публичный релиз Xen был сделан в 2003 году.

22 октября 2007 года, компания Citrix Systems завершила приобретение XenSource, и Xen Project переехал на домен Xen.org. Этот шаг начался некоторое время назад, и обнародовал существование Xen Project Advisory Board (AB Xen), который состоял из членов Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems и Oracle. Xen Project Advisory Board советует лидеру Xen Project и отвечает за товарный знак Xen, который Citrix добровольно лицензирует для всех поставщиков и проектов, которые реализуют гипервизор Xen.

Citrix также использовал сам бренд Xen для некоторых патентованных продуктов, не связанных с Xen, в том числе, по меньшей мере XenApp и XenDesktop.

15 апреля 2013 года, было объявлено, что Xen Project был перенесен под эгидой Linux Foundation в качестве Collaborative Project. Организация Linux Foundation запустила новую торговую марку для Xen Project для разграничения проекта от любого коммерческого использования старого товарного знака Xen. Новый веб-сайт сообщества был запущен в xenproject.org в рамках передачи. Участники проекта на момент анонса включены: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, Verizon. Сам проект Xen является самоуправляемым.

Общие сведения

Xen Project — гипервизор с открытым исходным кодом, который позволяет запускать множество экземпляров операционных систем или вообще разные операционные системы параллельно на одном компьютере (или хосте). Он используется в качестве основы для ряда различных коммерческих приложений с открытым исходным кодом, таких как: виртуализация серверов, IaaS, виртуализация настольных компьютеров, системы безопасности, встроенные и аппаратные устройства. На сегодняшний момент гипервизор Xen Project обслуживает самые большие облачные сервисы в производстве.

Некоторые ключевые особенности гипервизора Xen Project:

Компактность и интерфейс (около 1МБ). Поскольку он использует дизайн микроядра с небольшим объемом памяти и ограниченным интерфейсом к гостю, он более прочный и безопасный, чем другие гипервизоры.

Изоляция драйвера: гипервизор Xen Project имеет возможность позволить драйверу основного устройства для системы запуститься внутри виртуальной машины. Если драйвер падает, или находится под угрозой, виртуальная машина, содержащая драйвер, может быть перезагружен и драйвер будет перезапущен, не затрагивая остальную часть системы.

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

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

  • Типы гостевых систем: гипервизор Xen Project может запускать полностью виртуализированных (HVM) гостевые системы, или паравиртуализированные (PV) гостевые системы.
  • Домен 0: Архитектура использует специальный домен, называемый домен 0, который содержит драйверы для аппаратных средств, а также стек управления для работы с виртуальной машиной.
  • Cтеки управления: В этом разделе рассматриваются различные стеки управления фронт-эндов, доступные в рамках стека Xen Project и последствиях использования каждого из них.

Adding Shared Storage

The best way to use XCP or any virtualization platform is to use shared storage for VMs as well as shared storage of ISOs/ software. Next, we will show how to create a shared ISO Library as well as a Primary Storage Repository for our VMs.

Adding the ISO Library

First, let’s create our ISO Library. This will be where we store all of our ISOs and software that will be used to create VMs. In the navigation pane on the left, select the host where you want the storage to be created. Then click on the “New Storage” button on the top menu bar.

XenCenter Console – Create SR

You will be greeted with this screen where you can choose the type of Storage Repository (“SR”) you want. As mentioned before there are two types: Virtual Disk Storage and ISO Library. For my ISO library I will be creating a NFS based SR, but if you are using a windows share you can just choose CIFS.

XenCenter Console – Create ISO Library

The next screen is the same for both types of SRs. Here you can name your ISO Library whatever you choose. I have left mine as the default “NFS ISO Library”.

XenCenter Console – Name ISO Library

This next and final screen is where we tell XenCenter how to connect to our storage. Below I have shown both NFS and CIFS (for those using Windows Shares). Now just click “Finish” and your new ISO Library will be created and added to your XCP Host.

XenCenter Console – CIFS ISO Library

When you are completed your XenCenter should look similar to mine below.

Adding Virtual Disk Storage

Adding a shared storage repository follows the same process as the ISO library. In the navigation pane on the left, select the host where you want the storage to be created. Then click on the “New Storage” button on the top menu bar.

XenCenter Console – Create SR

You will be greeted with this screen where you can choose the type of Storage Repository you want. As mentioned before there are two types: Virtual Disk Storage and ISO Library. Only difference this time is we are going to choose NFS VHD. Now if you are using Windows Server 2008R2 for your shared VM storage you can create NFS file share.

XenCenter Console – Create VHD Library

The next screen is the same as we saw when creating our ISO Library, just name your VM SR something that will identify it as storage for your VMs. I have chosen to leave mine at the default name ( NFS virtual disk storage).

This next and final screen is where we tell XenCenter how to connect to our Storage. You only need to add the share information, no advanced options are required. One minor difference on this screen is that after you add the information, you need to click the Scan button. This will test the connection to your NFS share, as well as scan it for existing SRs. This is useful when there is already an SR present that you may want to attach to a new host(s) or re-attach after maintenance. However, since this is the first time there will nothing there and we can just click “Finish” and your new VM Storage Repository will be created and added to your XCP Host.

When you are completed your XenCenter should look similar to mine below.

XenCenter Console – VHD Library Added

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: