Итак, попробуем развернуть гипервизор Xen в дистрибутиве CentOS 6. К сожалению, "из коробки" в CentOS 6 и CentOS 7 этот гипервизор отсутствует. Но для CentOS 7 ещё нет нужных сторонних репозитариев. Поэтому выбираем 6-ку.
Всё это дело для наглядности и простоты повтореия разворачиваю в виртуальной машине. Пытался всё проделать на VMware Player, но после установки Xen система больше не загружается. С Oracle VM VirtualBox всё работает хорошо, но есть один существенный минус - в установленной системе недоступна аппаратная виртуализация и, как следствие, в Xen доступна только паравиртуализация (Paravirtualization, PV), то есть можно устанавливать только операционные системы с одифицированным ядром (благо, мне это как раз и нужно было). Windows таким способом не установить. Это возможно только в продуктах VMware, когда профиксят баг с загрузкой.
Приступаем к установке. Запускаем Oracle VM VirtualBox и создаём новую виртуальную машину.
Я выделяю 1.2 Гб оперативной памяти, так как по умолчанию в CentOS гипервизору выделяется 1 Гб и если вдруг выделенной памяти окажется меньше, то виртуалка будет выдавать ошибку при загрузке и автоматически уходить в ребут.
Далее я создаю виртуальный диск объёмом 120 Гб (тоже с запасом).
Всё остальное можно не трогать. Далее, далее, далее и в итоге - создать виртуальную машину.
Далее, переходим в настройки VM:
Сеть на свой вкус настраиваем. Я обычно выбираю тип полключения "сетевой мост".
Монтируем нужный закгрузочный образ.
И запускаем виртуальную машину.
Процесс установки очень прост. Далее, далее, далее без каких-то особых настроек. Разве что, в настройках сети лучше поставить галочку на "Connect automatically" как на скриншоте:
И устанавливаем CentOS.
Перегружаем VM после установки.
Логинимся и с помощью 'ifconfig' узнаём наш ip-адрес, если он получался по DHCP, а не вводился вручную.
Для удобства лучше подулючиться по ssh по полученному ip. После чего устанавливаем нужный набор программного обеспечения:
yum install -y centos-release-xen
yum install -y xen
/usr/bin/grub-bootxen.sh
Для удобства рекомендую установить 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/ находим строку
расскомментируем её и адрес меняем на '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 ~]
host : centos65xen.localdomain
release : 3.10.43-11.el6.centos.alt.x86_64
version :
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 ~]
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 завершена.
Автор: vovans
http://zenway.ru/page/install-xen-in-centos-6
|