29 трав. 2012 р.

Установка и настройка Elastix 2.3 в режиме паравиртуализации под управлением Citrix XenServer 5.6 SP2


Процесс установки очень похож на процесс установки Trixbox под управлением CitrixXenServer. Но есть пару "Но"...

1. Скачиваем установочный образ с сайта elastix.org;

2. В Citrix XenCenter создаем новую виртуальную машину типа "Other install Media" и проводим установку стандартным способом. При проведении установки рекомендую сразу правильно прописать FQDN сервера. (Наблюдалась ошибка при старте Web сервера);

3. После успешного окончания процесса развертывания, с помощью Citrix XenCenter делаем загрузку по умолчанию с виртуального жесткого диска и делаем Snapshot, на всякий случай, чтобы не терять время на быстрое восстановление. Входим в систему под пользователем root, настраиваем сеть командой system-config-network, если не настроили в процессе установки и перезагружаем сервер командой reboot;

4. Устанавливаем необходимое ПО командой
yum install kernel-xen.i686 kernel-module-dahdi-xen.i686 kernel-module-rhino-xen.i686 htop.i386 iftop.i386 fail2ban.noarch;

5.  Локализуем систему. Для этого комментируем содержимое файла /etc/sysconfig/i18n и приводим его к виду:

LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"

Разлогиниваемся и залогиниваемся по новой чтобы ощутить эффект. Если все делается в консоли XenCenter, то вместо русских букв будут кракозябры. В случае подключения по SSH - все будет нормально. Далее будут производится правки связанные с загрузкой виртуальной машины. Рекомендую на этом этапе сделать снепшот.

6. Удаляем старое ядро командой yum remove kernel.i686  и приводим конфигурационный файл загрузчика /etc/grub.conf следующему виду:

# 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/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-308.4.1.el5xen)
root (hd0,0)
kernel /vmlinuz-2.6.18-308.4.1.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc0
initrd /initrd-2.6.18-308.4.1.el5xen.img
                                                       
7. Пересобираем initrd для ядра Xen:

rm -f /boot/initrd-2.6.18-308.4.1.el5xen.img
mkinitrd --with=xenblk --with=xennet /boot/initrd-2.6.18-308.4.1.el5xen.img 2.6.18-308.4.1.el5xen

8. Конфигурируем доступ к консолям, для этого приводим секцию файла /etc/inittab с вида:

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

к виду:

# Run gettys in standard runlevels
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

9. Разрешаем пользователю root подключаться к консоли xvc0 для этого выполняем команду:

echo xvc0 >> /etc/securetty

10. Переводим виртуальную машину из режима полной виртуализации в режим паравиртуализации. Для этого сначала выключите виртуальную машину, а затем в консоли XenServer хоста, на котором она была запущена выполняем следующие команды (в качестве примера виртуальная машина называется elastix):


vm=$(xe vm-list name-label=elastix --minimal)
xe vm-param-set uuid=$vm PV-bootloader=pygrub HVM-boot-policy=
xe vm-param-set uuid=$vm PV-args=utf8
vbd=$(xe vm-disk-list uuid=$vm vdi-params=none --minimal)
xe vbd-param-set uuid=$vbd bootable=true

Закройте и снова откройте XenCenter. Это необходимо для того чтобы мышь начала корректно работать.

11. Извлекаем установочный образ из виртуального привода. В свойствах виртуальной машины, в разделе Boot, выставляем загрузку с Hard Disk. Запускаем виртуальную машину и обновляем XenTools, предварительно установив образ в виртуальный привод, после чего выполняем команды:

mount /dev/xvdd /mnt
/mnt/Linux/install.sh -k
reboot

12. Отключаем лишнее, чтобы не ругалось при старте и запускаем нужное:

chkconfig kudzu off
chkconfig wanrouter off
chkconfig iscsid off
chkconfig iscsi off
chkconfig fail2ban on

13. Обновляем Elastix командой  yum update (Рекомендую предварительно сделать Snapshot, мало ли что...) Перезагружаемся.

14. Подключаем русскую озвучку или по другому "тетю робота" по следующей инструкции.

15. Настраиваем fail2ban согласно следующей инструкции:

Все. Теперь можно полноценно и безопасно использовать, а также управлять этой виртуальной машиной. У кого есть дополнительные идеи - пишите.

П.С. У тех кто активирует встроенный Firewall в Elastix, перестанет работать Flash Operator Panel. Нужно создать правило iptables, TCP/5038 для серверной стороны и TCP/4445 для клиентской стороны.

9 коментарів:

Анонім сказав...

>Нужно создать правило iptables, TCP/5038 для серверной стороны и TCP/4445 для клиентской стороны.

А это как?

plastilin сказав...

Разрешить локально ходить на порт 5038 и удаленно на 4445

Анонім сказав...

Спасибо за ответ. Я просто не знаю, как это делать в *nix системах, поэтому буду очень признателен, если вы напишите команды для iptables для локального разрешения порта 5038 и удаленного 4445.

Анонім сказав...

Я нашел решение, как сделать рабочим Flash Operator Panel при активированном Firewall без добавления правил в iptables.

Все действия проводятся в Elastix, раздел Firewall.
Сначала добавьте порт (Define port)
Name: "FOP"
Protocol: "TCP"
Port: 4444 - 4445

Затем создайте правило:
Traffic "INPUT"
Interface "ANY"
Source and Destination address 0.0.0.0/0
Protocol: TCP
Source Port: "ANY"
Destination Port: "FOP"
Target: "ACCEPT"

plastilin сказав...

В Elastix управление правилами Firewall это графическая надстройка над iptables

Анонім сказав...

В xenserver 6.2 elastix 2.3 устанавливается штатными средствами. При создании ВМ необходимо выбрать centos 5 32bit, установка с URL, в URL указать http://ip/ПутьКРаспакованомуISO. После проапдейтить и установить DAHDI xen. Получиться elastix 2.4 xen и centos 5.9.

plastilin сказав...

Скажу даже, что можно установить любой Linux включая Elastix с ядром 3 версии, при выборе Other Install Media, а после установки доустановить стандартно XenTools и все будет работать из коробки.

Анонім сказав...

Вот только при Other Install Media используется режим HVM и толку от xentools - НОЛЬ

plastilin сказав...

Очень зря Вы так рассуждаете. Наверное еще не пробовали. XenTools работают полноценно, позволяют включать, выключать, мигрировать ВМ. Попробуйте установить Ubuntu 13.04 в режиме Other Install Media. Суть шаблона ВМ заключается в подгрузке модифицированного для Xen ядра перед установкой. А с 3 версии поддержка уже встроена в ядро.