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

Что такое OpenVZ?   Что такое CentOS?

Подготовка сервера

Заходим в систему под суперпользователем:

$ sudo su

Обновляем список пакетов:

# yum update -y

Устанавливаем ntp для возможности синхронизировать время и wget для скачивания файлов:

# yum install ntp wget -y

Устанавливаем часовой пояс (у меня московское время) и синхронизируем его с сервером времени:

# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate ru.pool.ntp.org

Создаем задание в cron для автоматической синхронизации времени каждый день в 00:00:

# mkdir -p /var/cron/tabs && echo '0 0 * * * /usr/sbin/ntpdate sats.local' >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab && crontab -l

Настройка системы для корректной работы OpenVZ

Редактируем системный файл sysctl для запуска CentOS с оптимальными для OpenVZ параметрами:

# nano /etc/sysctl.conf

net.ipv4.ip_forward = 1

net.ipv6.conf.default.forwarding = 1

net.ipv6.conf.all.forwarding = 1

net.ipv4.conf.default.proxy_arp = 0

 

net.ipv4.conf.all.rp_filter = 1

 

kernel.sysrq = 1

 

net.ipv4.conf.default.send_redirects = 1

net.ipv4.conf.all.send_redirects = 0

* Полужирным отмечены участки, которые нужно отредактировать. Если вся строка полужирная, ее нужно вставить целиком.

Отключаем SELINUX:

echo "SELINUX=disabled" > /etc/sysconfig/selinux

Чтобы в виртуальной машине работала сеть, чистим цепочку FORWARD в iptables и сохраняем настройки:

# iptables -F FORWARD && service iptables save

Установка OpenVZ

Так как в стандартных репозиториях нужных пакетов нет, подключим дополнительный. Для этого вводим две следующие команды:

# wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo

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

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

# yum install vzkernel -y

Также установим утилиты для управления нашей системой виртуализации:

# yum install vzctl vzquota ploop -y

Создание виртуальной машины (контейнера)

Создаем контейнер с номером 128:

# vzctl create 128 --config basic

Настраиваем сеть на автовключение при запуске:

# vzctl set 128 --onboot yes --save

Задаем имя машины:

# vzctl set 128 --hostname vps128.dmosk.local --save

Назначаем IP-адрес 192.168.166.156 создаваемому серверу:

# vzctl set 128 --ipdel all --ipadd 192.168.166.156 --save

Задаем сервер имен (DNS) для возможности контейнера выходить в интернет и взаимодействовать с корпоративной сетью:

# vzctl set 128 --nameserver 192.168.164.1 --save

Ставим пароль для учетной записи root в виртуальной машине:

# vzctl set 128 --userpasswd root:password --save

Ограничиваем использование процессора на 15 процентов:

# vzctl set 128 --cpulimit 15 --save

Задаем дисковую квоту:

# vzctl set 128 --diskspace 9000000:10000000 --save

Задаем отсрочку превышения лимита (grace period):

# vzctl set 128 --quotatime 600 --save

Определяем максимальный объем оперативной памяти для контейнера:

# vzctl set 128 --privvmpages 750M:768M --save

Задаем гарантированный объем памяти, который получит виртуальная машина:

# vzctl set 128 --vmguarpages 250M:256M --save

Данной командой запускаем созданный контейнер:

# vzctl start 128

Часто используемые команды для управления OpenVZ

* 128 — номер контейнера. Для каждой виртуальной машины он свой.

Запуск контейнера (с ней мы уже знакомы):

# vzctl start 128

Остановка контейнера:

# vzctl stop 128

Перезапуск машины:

# vzctl restart 128

Установка пакета samba в контейнер:

# vzyum 128 install samba

Удаление пакета samba с виртуальной машины:

# vzyum 128 remove samba

Выполнить команду в контейнере (в данном примере обновить список портов):

# vzctl exec 128 yum update -y

 

По традиции напишу, что если у вас возникли вопросы или что-то не получилось, пишите мне и я помогу разобраться.

#CentOS #Linux #UNIX #Виртуализация #Сервера
Фотография автора
Была ли полезна вам эта инструкция?

Да            Нет