XCP: делаем привязку ip адресов к mac адресам

Есть выделенный сервер с XCP (Xen Cloud Platform), есть диапазон ip выданный провайдером. Как сделать так, чтобы клиенты не могли поменять свой ip внутри xen машин? Привязка к mac адресу! Но как сделать, чтобы и mac адрес не сменили? Воспользуемся iptables на сервере XCP. Нам понадобится XCP версии минимум 1.1, в 1.0 ядро не поддерживает фильтрацию по mac адресам.

Делаем так:

Очищаем правила iptables:

iptables -F


Разрешаем клиенту с ip 46.4.180.227 и с mac адресом 11:11:11:11:11:11 и 2му клиенту с ip 46.4.180.228 и с mac адресом 22:22:22:22:22:22:

( Читать дальше )

Настройка XenWebManager в Ubuntu 10.04

XenWebManager — это web вариант GUI клиента OpenXenManager.

Скачиваем архив с исходным кодом и распаковываем, например, в /opt:

sourceforge.net/projects/xenwebmanager/files/

Или получаем из svn:

cd /opt
svn co https://xenwebmanager.svn.sourceforge.net/svnroot/xenwebmanager xenwebmanager


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

apt-get install python-cherrypy3 python-pybabel python-mako python-simplejson graphviz


Правим cherry.conf… Нам не помешает поддержка https:

Раскоментируем и редактируем пути к сертификату и ключу:

server.ssl_certificate = 'ssl/server.crt'
server.ssl_private_key = 'ssl/server.key'


Также нужна http авторизация:

tools.basic_auth.on = True


Создаем директорию для ключей в директории с XWM и создаем их:

mkdir ./ssl
cd ./ssl


openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


Для настройки http авторизации создаем md5 хэш желаемого пароля:

echo -n password | md5sum
5f4dcc3b5aa765d61d8327deb882cf99  -


Правим config.py, указав наш хеш:

users = {"admin": "5f4dcc3b5aa765d61d8327deb882cf99"}


Добавляем непривилегированного пользователя, например, user:

useradd -M -d /opt/xenwebmanager/ user -s /sbin/nologin -r


Создаем директории, выставляем права:

mkdir /var/log/xenwebmanager
mkdir /var/lib/xenwebmanager
chmod 770 /var/log/xenwebmanager
chmod 770 /var/lib/xenwebmanager
chown user:user -R /var/log/xenwebmanager/
chown user:user -R /var/lib/xenwebmanager/
chown user:user -R /opt/xenwebmanager/


Создаем в /opt/xenwebmanager/ скрипт start.sh:

#!/bin/sh
cd /opt/xenwebmanager
python ./frontend.py


Назначаем права:

chmod 755 ./start.sh


Запустить XWM от имени пользователя user можно так:

sudo -u user /opt/xenwebmanager/start.sh


Если видим ошибку 500 с текстом:

File "/usr/lib/pymodules/python2.6/cherrypy/__init__.py", line 301, in __getattr__
return getattr(child, name)
AttributeError: 'Response' object has no attribute 'i18n'

Редактируем i18n_tool.py, на 231 строке комментируя:

if 'Content-Language' not in cherrypy.response.headers:
        cherrypy.response.headers['Content-Language'] = str(
                cherrypy.response.i18n.locale)

XVP - веб менеджер для XCP и XenServer

xvp — web менеджер для серверов Citrix XenServer и Xen Cloud Platform, главной особенностью которого является возможность гибкой настройки прав доступа для нескольких пользователей к определенным виртуальным машинам, пулам и пр. VNC консоль также присутствует.



На сайте можно скачать виртуальную машину, после запуска которой xvp можно настроить в консоли с помощью несложной утилиты:

Bug: XenCenter и Xen Cloud Platform 1.0 - не создаются виртуальные машины

XenCenter выдает вот такую ощибку:

MEMORY_CONSTRAINT_VIOLATION - Memory limits must satisfy: static_min ≤ dynamic_min ≤ dynamic_max ≤ static_max


На сервере XCP в /etc/xensource/xapi_version_override добаляем:

5.6.199


Рестартуем сервисы:

/etc/init.d/xapi restart
/etc/init.d/xapissl restart


Почитать

OpenXenManager: управление серверами XenServer или Xen Cloud Platform в Linux

OpenXenManager — GUI клиент для XenServer (работает также с Xen Cloud Platform) для Linux. Эдакая замена XenCenter в Windows.



Проект требует Python, скачать можно из SVN с помощью команды:

svn co https://openxenmanager.svn.sourceforge.net/svnroot/openxenmanager openxenmanager


Запускается командой ./runme

Кроме того, есть и web интерфейс:

Хранилище iso образов для XenServer и Xen Cloud Platform

Для того, чтобы создать собственное хранилище iso образов и затем просто выбирать их из списка, например в XenCenter или OpenXenManager нужно для начала создать в LVM том нужного размера (назовем его host):

lvcreate --size 50G VG_XenStorage-xxxxxxx --name host


Создаем файловую систему:

mkfs.ext3 /dev/VG_XenStorage-xxxxxxx/host


Монтируем в /mnt/host:

mount /dev/VG_XenStorage-xxxxxxx/host /mnt/host


Создаем поддиректорию iso и скачиваем в нее образы

mkdir /mnt/host/iso


Настраиваем NFS:

echo "/mnt/host/iso/ *(rw,no_root_squash,sync)" > /etc/exports
service nfs start
service portmap start
chkconfig --level 345 nfs on
chkconfig --level 345 portmap on


Монтируем:

xe-mount-iso-sr 127.0.0.1:/mnt/host/iso/




Чтобы при загрузке монтировался lvm том, можно прописать в /etc/rc.local:

lvchange --available y /dev/VG_XenStorage-xxxxxxx/host
mount /dev/VG_XenStorage-xxxxxxx/host /mnt/host 
/etc/init.d/nfs restart