Linux -- это интересно

Установка Xen в CentOS 6


Рубрика: Дополнительные материалы
Метки: | | |
Просмотров: 10252
Установка Xen в CentOS 6

Итак, попробуем развернуть гипервизор Xen в дистрибутиве CentOS 6. К сожалению, "из коробки" в CentOS 6 и CentOS 7 этот гипервизор отсутствует. Но для CentOS 7 ещё нет нужных сторонних репозитариев. Поэтому выбираем 6-ку.


Всё это дело для наглядности и простоты повтореия разворачиваю в виртуальной машине. Пытался всё проделать на VMware Player, но после установки Xen система больше не загружается. С Oracle VM VirtualBox всё работает хорошо, но есть один существенный минус - в установленной системе недоступна аппаратная виртуализация и, как следствие, в Xen доступна только паравиртуализация (Paravirtualization, PV), то есть можно устанавливать только операционные системы с одифицированным ядром (благо, мне это как раз и нужно было). Windows таким способом не установить. Это возможно только в продуктах VMware, когда профиксят баг с загрузкой.

Приступаем к установке. Запускаем Oracle VM VirtualBox и создаём новую виртуальную машину.

Установка Xen в CentOS 6 - создание виртуальной машины

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

Установка Xen в CentOS 6 - задание объёма оперативной памяти для новой виртуальной машины

Далее я создаю виртуальный диск объёмом 120 Гб (тоже с запасом).

Установка Xen в CentOS 6 - задание объёма виртуального диска

Всё остальное можно не трогать. Далее, далее, далее и в итоге - создать виртуальную машину.

Далее, переходим в настройки VM:

Установка Xen в CentOS 6 - указываем количество доступных ядер процессора для виртуальной машины

Установка Xen в CentOS 6 - включение аппаратной виртуализации

Сеть на свой вкус настраиваем. Я обычно выбираю тип полключения "сетевой мост".

Установка Xen в CentOS 6 - настройка сети в VirtualBox, указание типа соединения сетевой мост

Монтируем нужный закгрузочный образ.

Установка Xen в CentOS 6 - монтируем образ CentOS 6 в виртуальный привод

И запускаем виртуальную машину.

Установка Xen в CentOS 6 - первый запуск виртуальнйо машины, меню grub

Процесс установки очень прост. Далее, далее, далее без каких-то особых настроек. Разве что, в настройках сети лучше поставить галочку на "Connect automatically" как на скриншоте:

Установка Xen в CentOS 6 - настройка сети, выбор Connect automatically

И устанавливаем CentOS.

Установка Xen в CentOS 6 - установка CentOS

Перегружаем VM после установки.

Установка Xen в CentOS 6 - первая загрузка виртуальной машины CentOS

Установка Xen в CentOS 6 - окно логина

Логинимся и с помощью 'ifconfig' узнаём наш ip-адрес, если он получался по DHCP, а не вводился вручную.

Установка Xen в CentOS 6 - вывод ifconfig

Для удобства лучше подулючиться по ssh по полученному ip. После чего устанавливаем нужный набор программного обеспечения:

yum install -y centos-release-xen
yum install -y xen
/usr/bin/grub-bootxen.sh

Установка Xen в CentOS 6 - yum xen

Для удобства рекомендую установить mc:

yum install -y mc

Потом правим /boot/grub/grub.conf, а именно в сроке:

kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all

я меняю 1024 на 530:

kernel /xen.gz dom0_mem=530M,max:530M loglvl=all guest_loglvl=all

ибо, считаю, 1024 - это слишком много для гипервизора (Dom0).

Далее, в файле /etc/xen/ находим строку

#(vnc-listen '127.0.0.1')

расскомментируем её и адрес меняем на '0.0.0.0', то есть приводим к виду:

(vnc-listen '0.0.0.0')

Отключаем SElinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

Переходим к растройки сети.

Устанавливаем Bridge Utilities:

yum -y install bridge-utils

Копируем конфиг бриджа:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

И правим оба файла. /etc/sysconfig/network-scripts/ifcfg-eth0 должен выглядеть примерно так:

DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
NAME="Ethernet Network eth0"
BRIDGE="br0"

А /etc/sysconfig/network-scripts/ifcfg-br0 так:

DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="192.168.0.100"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
DEFROUTE="yes"
NAME="Bridge Network br0"

Достаточно лишь IPADDR и GATEWAY указать свои.

Всё, перегружаемся:

reboot

Проверяем, работает ли гипервизор:

xl info

Должно выглядеть примерно так:

[root@centos65xen ~]# xl info
host                   : centos65xen.localdomain
release                : 3.10.43-11.el6.centos.alt.x86_64
version                : #1 SMP Mon Jun 16 14:22:02 UTC 2014
machine                : x86_64
nr_cpus                : 2
max_cpu_id             : 1
nr_nodes               : 1
cores_per_socket       : 2
threads_per_core       : 1
cpu_mhz                : 2984
hw_caps                : 178bfbff:28100800:00000000:00000140:00000201:00000000:00000001:00000000
virt_caps              :
total_memory           : 1199
free_memory            : 651
sharing_freed_memory   : 0
sharing_used_memory    : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .4-33.el6
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=530M,max:530M loglvl=all guest_loglvl=all
cc_compiler            : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Mon Jun 16 17:22:14 UTC 2014
xend_config_format     : 4

Также проверяем настройки сети:

ifconfig

У br0 должен быть наш ip, который мы прописывали (в примере это 172.23.12.3), а у eth0 всё должно быть пусто. Пример:

[root@centos65xen ~]# ifconfig
br0       Link encap:Ethernet  HWaddr 08:00:27:17:4F:6A 
          inet addr:172.23.12.3  Bcast:172.23.12.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe17:4f6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:219 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:19380 (18.9 KiB)  TX bytes:20656 (20.1 KiB)
eth0      Link encap:Ethernet  HWaddr 08:00:27:17:4F:6A 
          inet6 addr: fe80::a00:27ff:fe17:4f6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:259 errors:0 dropped:3 overruns:0 frame:0
          TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:27086 (26.4 KiB)  TX bytes:24472 (23.8 KiB)
...

Если всё в порядке, то установка и базовая настройка гипервизора xen в CentOS 6 завершена.

Комментариев: 3 RSS
Печорин1 2014-07-17 в 21:01:10

proxmox наше всё, простота развертывания и эксплуатации.

Выше я показал, как просто развернуть гипервизор Xen на базе CentOS 6. По сути, там всего несколько команд. Зато это надёжно куда уж проще?

Завтра я постараюсь подготовить квик-старт мануал по подключению ко всему этому добру Virtual Machine Manager (Virt-manager) и установку нескольких ОС с его помощью. Очень даже ничего так оно выглядит. Тоже просто и удобно. И даже наглядно :) Мне вполне понравилось, когда щупал и разварачивал Ubuntu Server 14.04.

К тому же, Proxmox VE использует KVM и OpenVZ, а не Xen. Что не совсем одно и тоже. Но я обязательно постараюсь попробовать и эту систему виртуализации. Тем более что оно базируется на Debian. Может даже обзор по ниму напишу, если приглянётся. И да, для KVM поддержка аппаратной виртуалзации обязательна, то есть погонять можно это дело только в продуктах от VMware. Если там не заведётся, то ёк ((

Было бы неплохо если бы ты описал как дальше к этому добру подключить например XenCentr

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)