The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка XCP XenAPI в Ubuntu 11.10 или Debian GNU/Linux
Благодаря портированию XCP XenAPI для Debian и Ubuntu Linux у пользователей
данных дистрибутивов появилась возможность создания сервера виртуализации,
функционально эквивалентного стандартному дистрибутиву XCP на базе CentOS.

В процессе развертывания Xen хоста следует не поддастся искушению установки
пакета с ядром Linux, оканчивающегося на "-virtual". Такие ядра в Ubuntu/Debian
оптимизированы для использования внутри гостевых систем и не сконфигурированы
для использования в роли Dom0.


После установки XAPI будут запущены сервисы, использующие сетевые порты 80 и
443. Поэтому важно проследить, чтобы на текущем сервере до этого не был запущен
http-сервер или настроить раздельный запуск XAPI на другом IP. При
использовании VPN и сетевого интерфейса tun0, наблюдается ряд проблем, которые
могут привести к невозможности запуска XAPI.

Установка XAPI

Устанавливаем компоненты XAPI из специального PPA-репозитория ubuntu-xen-org.
Добавляем в /etc/apt/sources.list

   deb http://ppa.launchpad.net/ubuntu-xen-org/xcp-unstable/ubuntu oneiric main
   deb-src http://ppa.launchpad.net/ubuntu-xen-org/xcp-unstable/ubuntu oneiric main

или подключаем репозиторий для Debian:

   apt-get install curl 
   echo "deb http://downloads.xen.org/XCP/debian/repo/debian unstable main" > /etc/apt/sources.list.d/kronos.list 
   echo "deb-src http://downloads.xen.org/XCP/debian/repo/debian unstable main" >> /etc/apt/sources.list.d/kronos.list 
   wget --quiet -O - http://downloads.xen.org/XCP/debian/xcp.gpg.key | apt-key add - 

Устанавливаем xapi:

   apt-get update
   apt-get install xcp-xapi


Вариант сборки свежей версии инструментария XCP из исходных текстов с
использованием xapi-autobuilder.

Устанавливаем необходимые для сборки компоненты:

   apt-get install pbuilder debhelper dh-ocaml dh-autoreconf cdebootstrap python-debian mercurial git

   wget http://downloads.xen.org/XCP/debian/blktap-dkms_0.1_all.deb
   dpkg -i blktap-dkms_0.1_all.deb


Клонируем Git-репозиторий xapi-autobuilder и выполняем сборку:

   git clone https://github.com/jonludlam/xapi-autobuilder.git
   cd xapi-autobuilder
   make clean ; make

в итоге будут подготовлены необходимые для установки в  Debian пакеты, свежие
версии которых также можно загрузить командой:

   wget -r -l1 --no-parent -nd http://downloads.xen.org/XCP/debian/latest/
   rm  index.html*



Настройка XAPI

Активируем по умолчанию опцию загрузки Xen в Grub:

   sed -i 's/GRUB_DEFAULT=""/GRUB_DEFAULT="Xen 4.1-amd64"/' /etc/default/grub
   update-grub

Настраиваем параметры сети

В /etc/network/interfaces добавляем запуск интерфейсе xenbr0:

   auto lo xenbr0

   iface xenbr0 inet dhcp
        bridge_ports eth0 

Вместо "dhcp" при необходимости можно прописать статический IP.


Настраиваем содержимое файла xensource-inventory (в скрипте ниже
подразумевается, что корневой раздел /dev/sda1, а управляющий сетевой интерфейс
xenbr0). Для генерации xensource-inventory  запускаем простой shell-скрипт:

   control_domain=`uuidgen`
   installation=`uuidgen`

   cat > /etc/xensource-inventory << EOF
   CURRENT_INTERFACES='xenbr0'
   BUILD_NUMBER='0'
   CONTROL_DOMAIN_UUID='${control_domain}' 
   INSTALLATION_UUID='${installation}'
   MANAGEMENT_INTERFACE='xenbr0'
   PRIMARY_DISK='/dev/sda1'
   EOF

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

   reboot



Использование XCP

Убедимся, что xapi запущен

   service xapi status

если нет, то запустим его командой

   service xapi start

Добавим к переменноё окружения PATH путь к исполняемым файлам xapi:

   export PATH=$PATH:/usr/lib/xen-common/xapi/bin

Создадим репозиторий хранения. Рекомендуется использовать NFS или EXT, если в
системе есть свободное блочное устройство.

Для NFS (в переменную SR будет записан идентификатор хранилища):

   SR=`xe sr-create type=nfs name-label=nfs device-config:server=<nfs server> device-config:serverpath=<path on server>`

Для незанятого блочного устройства /dev/sda3  (внимание, указанный раздел будет отформатирован !)


   SR=`xe sr-create type=ext device-config:device=/dev/sda3 name-label=ext` 

Свяжем созданное хранилище с пулом:


   POOL=`xe pool-list --minimal`
   xe pool-param-set uuid=$POOL default-SR=$SR



Решение проблемы с памятью для Dom0

В штатном ядре Ubuntu 11.10 наблюдается проблема с выделением недостаточного
объема памяти для Dom0. Данная проблема решена в ядре 3.2. В качестве обходного
пути решения, можно вручную увеличить размер выделенной для нужд Dom0 памяти
(посмотреть текущее значением можно через "cat /proc/meminfo" ).

Находим uuid идентификатор Dom0:

   xe vm-list

   uuid ( RO)           : f5d0039b-1138-4635-c153-6203bfdc330f
     name-label ( RW): Control domain on host: piggy
     power-state ( RO): running

Вручную назначаем нижний и верхний лимит памяти:

   xe vm-param-set uuid=f5d0039b-1138-4635-c153-6203bfdc330f memory-dynamic-max=2GiB
   xe vm-param-set uuid=f5d0039b-1138-4635-c153-6203bfdc330f memory-dynamic-min=2GiB


Установка гостевой системы с Linux

Находим шаблон для установки интересующего дистрибутива:

   xe template-list

Ниже представленный скрипт позволяет автоматизировать выполнение установки.
Скрипт следует запускать из локальной системы (Dom0), но его можно легко
модифицировать для организации удалённой установки с другого хоста. На
завершающем этапе работы скрипта будет произведён запуск виртуальной машины для
выполнения финального этапа установки.

В скрипте может понадобиться поменять следующие переменные:

   "vm-label" - метка для ссылки на VM из  Dom0;
   "hostname" - имя хоста;
   "domain" - локальный домен

В качестве шаблона для установки выбран Ubuntu Lucid Lynx 10.04 (64-bit)


   #!/bin/bash
   set -e
   set -x

   template=`xe template-list name-label="Ubuntu Lucid Lynx 10.04 (64-bit)" --minimal`
   vm=`xe vm-install template=$template new-name-label=vm-label`
   network=`xe network-list bridge=xenbr0 --minimal`
   vif=`xe vif-create vm-uuid=$vm network-uuid=$network device=0`

   xe vm-param-set uuid=$vm other-config:install- repository=http://archive.ubuntu.com/ubuntu
   xe vm-param-set uuid=$vm PV-args="auto-install/enable=true interface=auto netcfg/dhcp_timeout=600 hostname=vm-host-name domain=mydomain.is.best"

   xe vm-start uuid=$vm


Для завершения установки следует подключиться к виртуальной машине, например, через "xe console"
Перед этим следует запустить демон  xapissl:

   service start xapissl

Список активных консолей VM можно посмотреть командой:

   xe console-list

Выбрав нужный vm-uuid выполняем:

   xe console uuid=593c6788-1ddc-e7d7-c6b1-0de0778c78b7

Если что-то пошло не так удалить установленную виртуальную машину можно командой:

   xe vm-uninstall name-label=vm-label  --multiple



Установка гостевой системы с Windows

Для установки Windows необходимо наличие установочного iso-образа, который
может быть импортирован с другой машины по NFS:

   xe-mount-iso-sr nfs-server:/path/to/isos

Создаём виртуальную машину с Windows:

   xe vm-install template=Windows\ 7\ \(32-bit\) new-name-label=windows
   xe vm-cd-add vm=windows cd-name=win7.iso device=3
   xe vm-start vm=windows

Для обеспечения работы сети выполняем создание сетевого моста:
 
   brctl addbr xenbr0
   brctl addif xenbr0 eth0


Поднимаем IP на интерфейсе сетевого бриджа вместо физического интерфейса. После чего запускаем:

   xe pif-scan

Устанавливаем в Window паравиртуальные драйверы, которые можно загрузить следующим образом:

   wget http://downloads.xen.org/XCP/debian/xs-tools-5.9.960.iso
   mv xs-tools-5.9.960.iso /usr/lib/xen-common/xapi/packages/iso
 
07.12.2011 , Источник: http://wiki.xen.org/wiki/XAPI_on_Ub...
Ключи: xen, xcp, xapi, ubuntu, debian, virtual / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

Обсуждение [ RSS ]
  • 1, Jay (??), 13:28, 08/12/2011 [ответить]      [к модератору]
  • +/
    А я как раз сегодня ночью выложил статью про управление пулом XCP при помощи XenCenter:
    http://jay-tech.ru/using%20xencenter%20with%20xcp
     
     
  • 2, ананим (?), 16:28, 08/12/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    и вам, как и автору сабжа, тоже сэнкс.
    про версию (в п.1) не знал.

    от себя могу добавить - бывает такая проблема Linux Templates не грузится с CD/DVD.
    таблетка - http://ronnybull.com/2011/07/15/xen-cloud-platform-xcp-linux-templates-will-n

    # xe vm-list
    # xe vm-param-list uuid=<VM UUID из_предыдущей_команды> | grep HVM
    # xe vm-param-set uuid=<VM UUID> HVM-boot-policy=BIOS\ order HVM-boot-params:order="dc"

    где order может быть - "d" for the CD/DVD, "c" for the root disk, and "n" for network PXE boot. The default is "dc". http://docs.vmd.citrix.com/XenServer/4.0.1/reference/ch05s04.html

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру