FastNetMon

Sunday, 6 December 2009

Установка OpenVZ на CentOS 5.8

Отличный англоязычный мануал находится здесь: http://wiki.openvz.org/Quick_installation

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

Подключаем репозиторий OpenVZ

Ставим ключи для OpenVZ репозитория:

rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ


Для ряда задач OpenVZ требуется CRON и если он у Вас не стоит стандартно, его нужно поставить:
yum install -y vixie-cron


И запустить:
/etc/init.d/crond restart


Ставим wget:
yum install -y wget


Добавляем OpenVZ репозиторий и обновляем список все пакеты на сервере:

wget http://download.openvz.org/openvz.repo -O/etc/yum.repos.d/openvz.repo
yum update

Открываем файл репозитория:
vi /etc/yum.repos.d/openvz.repo

Там в блоке OpenVZ RHEL6-based kernel ставим enabled=0, а в блоке OpenVZ RHEL5-based kernel ставим enabled=1.

Ставим OpenVZ ядро (обязательно с указанием архитектуры!!!!! иначе все слетит):

yum -y install ovzkernel.i686 # для 32 битных систем
yum -y install ovzkernel.x86_64 # для 64 битных систем


Устанавливаем OpenVZ ядро стандартным (точнее убеждаемся, что прописано default=0 и самое первое ядро является OpenVZ шным)
vi /etc/grub.conf


Также стоит указать ядро OpenVZ основным в системе, чтобы его не выключало при каждом апдейте mainline RHEL ядер. Вот так (подробности):
sed -i 's/kernel/ovzkernel/' /etc/sysconfig/kernel

Т.к. OpenVZ не работает с SeLinux, его необходимо отключить, делаем это по мануалу: Отключение SeLinux CentOS 5

Также обнуляем фаерволл:
echo -e "*filter\nCOMMIT" > /etc/sysconfig/iptables

После этого применяем настройки:
/etc/init.d/iptables restart

Производим настройки sysctl

vi /etc/sysctl.conf


И заменяем все, что там есть на следующие настройки (честно скажу - не знаю, зачем большая часть из них, но потом обязательно изучу. Кстати, к слову, VDSManager абсолютно также настраивает sysctl.conf, как указано ниже):

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

# From CentOS standard configration
net.ipv4.icmp_echo_ignore_broadcasts=1

Ставим утилиты управления для OpenVZ ( vzctl - для управления VE, vzquota - для управление ресурсами, vzpkg - для управления шаблонами вирт машин)

Для 32 битной версии набор пакетов такой:
yum -y install vzctl vzquota vzpkg


А для 64 битной версии набор пакетов иной:
yum -y install vzctl.x86_64 vzquota.x86_64 vzpkg.x86_64


Убеждаемся, что сервис vz добавлен в автозапуск
chkconfig --list | grep vz


Отключаем Selinux:
vi /etc/selinux/config

Там строку SELINUX= приводим к виду:
SELINUX=disabled

Устанавливаем ntp (если время будет сбито - проблемы гарантированы. Например, с DLE/Dovecot):
yum install -y ntp


Синхронизируем время:
/usr/sbin/ntpdate 0.rhel.pool.ntp.org europe.pool.ntp.org


Отключаем автоматический подвод часов (чревато багами с dovecot, но на OpenVZ других вариантов нету):
/sbin/chkconfig ntpd off


Демон ntp на openvz в CentOS упорно не работает, поэтому делаем в лоб:
crontab -e


1 */4 * * * /usr/sbin/ntpdate pool.ntp.org 0.rhel.pool.ntp.org europe.pool.ntp.org > /dev/null


Перезагружаемся:
shutdown -r now


Убеждаемся, что работаем под OpenVZ ядром:

uname -r
2.6.18-164.11.1.el5.028stab068.3


Ну вот и все, теперь на нашем сервере стоит полностью настроенный OpenVZ :) В следующей статье, я расскажу, как создавать виртуальные машины.

No comments :

Post a Comment

Note: only a member of this blog may post a comment.