Виртуализация · 3 min read · Dec 07, 2025

Паравиртуализация с Xen на CentOS 5.6 (x86_64)

Паравиртуализация с Xen на CentOS 5.6 (x86_64)

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

Этот учебник предоставляет пошаговые инструкции по установке Xen (версия 3.0.3) на систему CentOS 5.6 (x86_64).

Xen позволяет создавать гостевые операционные системы (операционные системы *nix, такие как Linux и FreeBSD), так называемые “виртуальные машины” или domU, под хост-операционной системой (dom0). С помощью Xen вы можете разделить свои приложения на разные виртуальные машины, которые полностью независимы друг от друга (например, виртуальная машина для почтового сервера, виртуальная машина для веб-сайта с высокой посещаемостью, другая виртуальная машина, которая обслуживает веб-сайты ваших клиентов, виртуальная машина для DNS и т.д.), но при этом использовать одно и то же оборудование. Это экономит деньги, и что еще более важно, это более безопасно. Если виртуальная машина вашего DNS-сервера будет взломана, это не повлияет на ваши другие виртуальные машины. Кроме того, вы можете перемещать виртуальные машины с одного сервера Xen на другой.

Я буду использовать CentOS 5.6 (x86_64) как для хост-ОС (dom0), так и для гостевой ОС (domU).

Этот howto предназначен как практическое руководство; он не охватывает теоретические основы. Они рассматриваются во многих других документах в сети.

Этот документ предоставляется без каких-либо гарантий! Я хочу сказать, что это не единственный способ настройки такой системы. Существует множество способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Этот гид объяснит, как настроить виртуальные машины на основе образов, а также виртуальные машины на основе LVM.

Убедитесь, что SELinux отключен или работает в разрешительном режиме:

vi /etc/sysconfig/selinux

| # Этот файл управляет состоянием SELinux в системе. # SELINUX= может принимать одно из этих трех значений: # enforcing - Политика безопасности SELinux применяется. # permissive - SELinux выводит предупреждения вместо применения. # disabled - SELinux полностью отключен. SELINUX=disabled # SELINUXTYPE= тип используемой политики. Возможные значения: # targeted - Защищены только целевые сетевые демоны. # strict - Полная защита SELinux. SELINUXTYPE=targeted |

Если вам пришлось изменить /etc/sysconfig/selinux, пожалуйста, перезагрузите систему:

reboot

2 Установка Xen **

Чтобы установить Xen, просто выполните

yum install kernel-xen xen

Это установит Xen и ядро Xen на нашу систему CentOS.

Прежде чем мы сможем загрузить систему с ядром Xen, пожалуйста, проверьте конфигурацию загрузчика GRUB. Мы открываем /boot/grub/menu.lst:

vi /boot/grub/menu.lst

Первым в списке должно быть ядро Xen, которое вы только что установили:

| [...] title CentOS (2.6.18-238.9.1.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-238.9.1.el5 module /vmlinuz-2.6.18-238.9.1.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.18-238.9.1.el5xen.img [...] |

Измените значение default на 0 (чтобы первое ядро (ядро Xen) загружалось по умолчанию):

| [...] default=0 [...] |

Полный /boot/grub/menu.lst должен выглядеть примерно так:

| # grub.conf сгенерирован anaconda # # Обратите внимание, что вам не нужно повторно запускать grub после внесения изменений в этот файл # УВЕДОМЛЕНИЕ: У вас есть раздел /boot. Это означает, что # все пути к ядру и initrd относительны к /boot/, например. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-238.9.1.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-238.9.1.el5 module /vmlinuz-2.6.18-238.9.1.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.18-238.9.1.el5xen.img title CentOS (2.6.18-238.el5) root (hd0,0) kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-238.el5.img |

После этого мы перезагружаем систему:

reboot

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

uname -r
[root@server1 ~]# uname -r  
2.6.18-238.9.1.el5xen  
[root@server1 ~]#

Итак, она действительно использует новое ядро Xen!

Теперь мы можем выполнить

xm list

чтобы проверить, запустился ли Xen. Он должен отобразить Domain-0 (dom0):

[root@server1 ~]# xm list  
Name                             ID Mem(MiB) VCPUs State   Time(s)  
Domain-0                         0     3343     2 r-----     18.1  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.