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 для клиентской стороны.

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