Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Установка Xen в CentOS 5.0 (i386)

Рубрика: Виртуализация -> RHEL, CentOS
Метки: |
Вторник, 7 октября 2008 г.
Просмотров: 24472
Подписаться на комментарии по RSS


Эта статья является пошаговой инструкцией по установке Xen (версии 3.0.3) в ситеме CentOS 5.0(i386).

Xen позволяет вам создавать гостевые операционные системы, так называемые виртуальные машины или domU, под управлением хост системы (dom0).

Используя Xen вы можете разделять ваши приложения по различным виртуальным машинам, которые полностью изолированы друг от друга(к примеру на одном физическом сервере одна виртуальная машина это почтовый сервер, вторая веб сервер, третья машина DNS сервер и так далее). Это сохраняет деньги, и что ещё более важно, это увеличивает безопасность. Если виртуальная машина, где установлен ваш DNS сервер будет взломана, это не будет означать проблему для других виртуальных машин. К тому же вы можете переносить ваши виртуальные машины с одного Xen сервера на другой.

Я буду использовать CentOS 5.0 (i386) и для хост системы (dom0) и для гостевых ОС(domU). Это руководство стоит рассматривать как практическое, оно не содержит теоретических отступлений. Это не единственный способ установки, есть и ещё. Но именно этим способом я пользуюсь, и он работает. Я не могу дать гарантий что он сработает в вашем случае.

 

1 Предварительное замечание

Я использую следующее разбиение диска на основной хост системе CentOS 5.0 (dom0):

  • /boot 150 MB (ext3)
  • swap 1GB
  • / 3GB (ext3)
  • /vm the rest (ext3)

Я буду создавать виртуальные машины в директории /vm. Конечно, вы можете использовать любую другую директорию которая имеет достаточно свободного места, и нет необходимости создавать отдельную партицию. Если вы используете другую директорию, замените в данном статье все вхождения /vm на имя вашей директории.

(Обратите внимание: Вам не нужно обязательно создавать раздел /boot, но тогда вам нужно помнить, что в настройках Grub у вас будет небольшое отличие. Там где я добавляю строки

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

в /boot/grub/menu.lst вы должны использовать

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

 

2 Установка Xen

Для установки Xen, мы просто выполняем следующую команду

yum install kernel-xen xen

Эта команду установит Xen и его ядро в нашей CentOS. После этого мы можем найти новое ядро (vmlinuz-2.6.18-8.1.4.el5xen) и его ramdisk (initrd-2.6.18-8.1.4.el5xen.img) в директории /boot:

ls -l /boot/

[root@server1 ~]# ls -l /boot/

total 16327

-rw-r--r-- 1 root root   62154 Apr  9 16:30 config-2.6.18-8.1.1.el5

-rw-r--r-- 1 root root   61057 May 17 12:12 config-2.6.18-8.1.4.el5xen

-rw-r--r-- 1 root root   62150 Mar 16 01:19 config-2.6.18-8.el5

drwxr-xr-x 2 root root    1024 Jun  8 00:14 grub

-rw------- 1 root root 2318110 Apr 13 17:10 initrd-2.6.18-8.1.1.el5.img

-rw------- 1 root root 2320081 Jun  8 00:14 initrd-2.6.18-8.1.4.el5xen.img

-rw------- 1 root root 2318126 Apr 13 16:18 initrd-2.6.18-8.el5.img

drwx------ 2 root root   12288 Apr 13 16:05 lost+found

-rw-r--r-- 1 root root   80032 Apr  1 16:49 message

-rw-r--r-- 1 root root   83542 Apr  9 16:31 symvers-2.6.18-8.1.1.el5.gz

-rw-r--r-- 1 root root   84906 May 17 12:13 symvers-2.6.18-8.1.4.el5xen.gz

-rw-r--r-- 1 root root   83542 Mar 16 01:20 symvers-2.6.18-8.el5.gz

-rw-r--r-- 1 root root  884787 Apr  9 16:30 System.map-2.6.18-8.1.1.el5

-rw-r--r-- 1 root root  868062 May 17 12:12 System.map-2.6.18-8.1.4.el5xen

-rw-r--r-- 1 root root  884787 Mar 16 01:19 System.map-2.6.18-8.el5

-rw-r--r-- 1 root root 1765460 Apr  9 16:30 vmlinuz-2.6.18-8.1.1.el5

-rw-r--r-- 1 root root 2075341 May 17 12:12 vmlinuz-2.6.18-8.1.4.el5xen

-rw-r--r-- 1 root root 1765428 Mar 16 01:19 vmlinuz-2.6.18-8.el5

-rw-r--r-- 1 root root  274228 May 17 09:13 xen.gz-2.6.18-8.1.4.el5

-rwxr-xr-x 1 root root  608568 May 17 12:28 xen-syms-2.6.18-8.1.4.el5

[root@server1 ~]#

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

vi /boot/grub/menu.lst

и добавьте следующий раздел выше описания всех других ядер:

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

Затем изменить значение default на 0:

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

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

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          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-8.1.4.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-8.1.4.el5
        module /vmlinuz-2.6.18-8.1.4.el5xen ro root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.18-8.1.4.el5xen.img
title CentOS (2.6.18-8.1.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-8.1.1.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-8.1.1.el5.img
title CentOS (2.6.18-8.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-8.el5.img

Перегружаем систему:

shutdown -r now

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

uname -r

[root@server1 ~]# uname -r

2.6.18-8.1.4.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      350     1 r-----     94.4

[root@server1 ~]#

 

3 Создание виртуальной машины

CentOS имеет отличную утилиту virt-install с помощью которой мы можем создавать виртуальные машины для Xen. Для запускаем набираем:

virt-install

Утилита спросит у вас настройки для виртуальной машины. Я хочу назвать мою виртуальную машину vm01, с памятью 256MB и дисковым разделом 4GB. Храниться образ виртуальной машины будет в файле /vm/vm01.img:

What is the name of your virtual machine? <-- vm01

How much RAM should be allocated (in megabytes)? <-- 256

What would you like to use as the disk (path)? <-- /vm/vm01.img

How large would you like the disk (/vm/vm01.img) to be (in gigabytes)? <-- 4

Would you like to enable graphics support? (yes or no) <-- no

What is the install location? <-- http://wftp.tu-chemnitz.de/pub/linux/centos/5.0/os/i386

Полезно указать ближайшее к вам зеркало дистрибутива CentOS, откуда установщик будет брать файлы. Списко зеркал CentOS можно посмотреть здесь 58.

После того как вы ответили на все вопросы, virt-install запустит нормальную установку CentOS 5.0 в текстовом режиме в вашей виртуальной машине vm01.

После устновки, вы останетесь в консоли vm01. Для того чтобы покинуть её, нажмите CTRL+] если вы в консоли, или CTRL+5 если вы используете PuTTY. Вы должны вернуться в консоль dom0.

virt-install создаст конфигурационный файл для виртуальной машины vm01 /etc/xen/vm01 в dom0. Он выглядите так:

cat /etc/xen/vm01

# Automatically generated xen config file
name = "vm01"
memory = "256"
disk = [ 'tap:aio:/vm/vm01.img,xvda,w', ]
vif = [ 'mac=00:16:3e:13:e4:81, bridge=xenbr0', ]
uuid = "5aafecf1-dd66-401d-69cc-151c1cb8ac9e"
bootloader="/usr/bin/pygrub"
vcpus=1
on_reboot   = 'restart'
on_crash    = 'restart'

Запустите

xm console vm01

для того чтобы зайти в виртуальную машину опять.

Для получения списка запущенных виртуальных машин введите команду:

xm list

Вывод выглядит следующим образом:

[root@server1 xen]# xm list

Name                                      ID Mem(MiB) VCPUs State   Time(s)

Domain-0                                   0      259     1 r-----   1906.6

vm01                                       3      255     1 ------    137.9

[root@server1 xen]#

Для выключения vm01, наберите:

xm shutdown vm01

Для повторного запуска

xm create /etc/xen/vm01

Если вы хотите чтобы vm01 запускалась автоматически после следующей перезагрузки системы, сделайте следующее:

ln -s /etc/xen/vm01 /etc/xen/auto

Здесь описаны основные команды Xen:

xm create -c /path/to/config - запуск виртуальной машины.

xm shutdown <name> - выключение виртуальной машины.

xm destroy <name> - Немедленная остановка виртуальной машины. Аналог кнопки power.

xm list - список всех запущенных виртуальных машин.

xm console <name> - зайти в консоль виртуальной машины

xm help - список всех команд.

 

Постовой

Цифровая видеокамера в интернет магазине Plazma.tv. Отличный выбор и правильные цены.

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 9

  1. Андрей | 2008-12-19 в 23:39:28

    Мля....ты то что надо ядро вписывать то что установилось не мог написать....??что теперь подскажешь делать???платить за переустановку ОС с потерей всех данных с учетом 24$ за каждый полный или не полный час....Или тупо забить на сервак стоимость аренды которого мне почти в 700 баксов выходит....ппц :( ....Афтар маны писать нормально научись....

  2. Да вы батенька гений..

  3. Мля....ты то что надо ядро вписывать то что установилось не мог написать....??

    человек русскими буквами написал:

    Я не могу дать гарантий что он сработает в вашем случае.

    без бекапов ОС такие фертеля.... Это как головой об асфальт.

  4. Основы я понял, а с возникшими проблемами как то сам справился Кроме того не надо сразу на боевойсервер Я вот на домашней машинке попробывал.Спасибо автору

  5. Установил XEN, теперь хочу запустить virt-install, а получаю ошибку

    [root@centos-server ~]# virt-install
    ERROR    A name is required for the virtual machine. (use --prompt to run interactively)

    Как быть ?

  6. [root@centos-server ~]# virt-install
    ERROR A name is required for the virtual machine. (use --prompt to run interactively)

    virt-install --prompt

  7. А почему с сдирома не ставится???

    раз 10 пробывал smile указываю примотнированый сидиром вроде начинаеться установка но потом после выбора языка показывает менюшку сдиром нттр фтп нфс-сервер

    хе хе сдром жму а он еще минюшку с драйверами сдирома кажеться а дальше не идет smile

    щас попробую по мануалу данному , может через нет поидет установка smile

  8. У меня все пошло smile всем удачи надо тока мирор выбрать smile

  9. Kristie24Vang | 2011-09-16 в 11:20:14

    Houses are quite expensive and not every person can buy it. However, loan are created to help different people in such situations.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

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