Установка и настройка OpenVZ на Centos 6

1.Установка OpenVZ

 

Проверяем,что по умолчанию подключается репозитарий для Centos 6 (а не Centos 5)

Просмотр списка доступных ядер

Установка ядра согласно битности операционки

# для 32 битных систем

# для 64 битных систем

Проверка загрузчика на предмет загрузки по умолчанию ядра OpenVZ вместо штатного

Установка утилит для  управления  OpenVZ

Установка рекомендуемых параметров ядра:
Если установлена версия vzctl версии 4.4 и выше, то нет необходимости в ручной правке переменных ядра

Иначе нужно настроить переменные ядра вручную

Если вылазит ошибка типа

Значит необходимо подгрузить модуль bridge

Либо закомментировать эти строки в /etc/sysctl.conf

Отключаем SELinux

Проверка наличия OpenVZ в автозагрузке

Перегружаем систему и проверяем загрузившееся ядро

Проверяем работу VZ

 

2.Создание виртуальной машины OpenVZ
Установка контейнера(виртуальной машины) будет происходить из шаблона
Со списком шаблонов ознакомиться можно здесь
http://wiki.openvz.org/Download/template/precreated
Либо здесь
https://download.openvz.org/template/precreated/

Загружаем образы разных операционных систем

Centos7

Debian8

Ubuntu14

 

Создание контейнера

Centos7

Настройка параметров созданного контейнера

Настройка ресурсов для созданного контейнера

Аналогично создаем контейнеры для

Debian8

Ubuntu14.04

Запуск контейнеров

Проверка состояния всех контейнеров

Просмотр смонтированных контейнеров

 

Конфигурационный файл контейнера 101

Выполнение команды внутри контейнера находясь на хостовой ноде
(например, установка пароля для пользователя root в контейнере)

Вход в контейнер

Настройка сети на OpenVZ

OpenVZ имеет возможность настройки VETH (Virtual ETHernet) или VENET (Virtual NETwork) сетевого девайса внутри контейнера. VETH позволяет broadcasts-сообщения внутри контейнера и имеет MAC — адрес на интерфейсе, поэтому можно настроить автоматическое получение адреса с помощью DHCP или настроить Samba — сервер, который также требует broadcasts-сообщений. VETH-интерфейс только задается с помощью vzctl, все дальнейшее настройки интерфейса ( задания IP, gateway и др.) необходимо проводить в самом контейнере. Однако, скорее всего, VENET-соединения будет более чем достаточно. К преимуществам последнего можно отнести высокую скорость работы по сравнению с VETH и быструю его настройку ресурсами хост-машины.

difference-veth-venet

Больше о разнице между этими типами можно получить на официальном сайте
https://wiki.openvz.org/Differences_between_venet_and_veth

 

Использование типа интерфейса VENET
Сетевые настройки на ноде имеют вид

Настройка доступа в Интернет для виртуальной машины
Устанавливаем и настраиваем iptables на ноде

При обновлении версии vzctl с 4.6 на 4.7 conntrack для VE0 был отключен по умолчанию
https://openvz.org/Download/vzctl/4.7/changes
по причине потери производительнотсти (до 10%)
IP conntrack functionality has some negative impact on venet performance (uo to about 10%), so they better be disabled by default.

Решение

Отключаем эту опцию(меняя значение с 1 на 0) и перезагружаем ноду

Перезагружаем ноду

1.Включаем SNAT/MASQUERADE на хостовой ноды для сети виртуальных машин

192.168.10.0/24 – частная/внутренняя сеть для вирт.машин
Eth0-внешний интерфейс,смотрящий наружу(подключен к провайдеру)
10.10.1.41– IP-адрес на внешнем интерфейсе

Если адрес на внешнем интерфейсе получается от провайдера не статический, а динамический,то используем т.н. «маскарадинг»

2.Проверяем, включена ли маршрутизация пакетов

шлюзом по умолчанию для вирт.машины выступает интерфейс venet0, через который она перенаправляет все пакеты, как в Интернет, так и для других вирт.машин в этой сети

Сетевые настройки на виртуальной машине имеют вид

virtual-route virtual-network

virtual-route

Проверка наличия доступа в Интернет с вирт.машины

 

Установка Web-панели для управления виртуальными машинами OVZ Web Panel

http://wiki.openvz.org/Control_panels

После установки панель доступна на порту 3000

Если вручную выполняем команды,тогда через панель нужно синхронизироваться

 

Полезные команды для работы с OpenVZ

110 – номер контейнера

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

Запуск контейнера

Перезапуск контейнера

Удаление контейнера

Запуск команды в контейнере

Подсоединение к консоли контейнера

Установка различных параметров для контейнера

Проверка синтаксиса конфигурационного файла контейнера

Проверка синтаксиса всех конфигурационных файлов

Проверяется именно файл (с указанием полного пути), а не текущие параметры, которые могут быть другими, если «vzctl set» запускался без ключа «—save». С другой стороны, vzcfgvalidate удобен тем, что может проверять параметры, когда контейнер не запущен

Для исправления конфигурационного файла vzcfgvalidate следует запустить с ключом «-r» («repair mode», автоматическое исправление) или «-i» («interactive repair», ручное исправление).
Управление ограничениями в системе с OpenVZ является двухуровневым: для контейнера в целом – средствами OpenVZ, внутри контейнера – стандартными средствами Linux, через ulimit и дисковые квоты.
Для проверки внешних ограничений служит файл /proc/user_beancounters. Внутри контейнера этот файл заполнен информацией по данному контейнеру, во внешней системе содержит сведения обо всех запущенных окружениях. Основной интерес в нём представляет последний столбец, «failcnt» («failure counter», т. е. «количество сбоев»):
Проверка лимитов/ошибок контейнера

Установка лимитов для контейнера

Изменение дисковой квоты дискового пространства
(синтаксис задания такой software_limit:hardware_limit ):

Изменение дисковых inod

Изменение приоритета ввода/выводы дисковой подсистемы
Самый высокий уровень — 7, самый низкий- 0. По умолчанию disk I/O устанавливается в 4

Изменение процеcсорного времени для контейнера

Изменение размера оперативной памяти и файла подкачки

Подробное описание выделяемых контейнеру ресурсов
https://openvz.org/User_Guide/Managing_Resources

Проверка синтаксиса конфигурационного файла контейнера

Проверим наличе всех изменений в конфигарационном файле контейнера

 

Бекап/восстановление контейнеров
Скачиваем утилиту vzdump с одного из зеркал нас сайте OpenVZ
https://ftp.openvz.org/
Например,

Для установки vzdump требуется установить пару пакетов зависимостей
perl-LockFile-Simple и cstream
Оба этих пакетв есть в RPMForge репозитарии.Если этот репозитарий не подключен,то достаточно подключить EPEL-репозитарий
У меня подключен EPEL-репозитарий,в котором есть пакет perl-LockFile-Simple
Установим этот пакет

Пакет cstream скачаем с репозитария RPMForge и установим с помощью пакетного менеджера rpm

Установим vzdump

Сделаем бекап контейнера 101

Восстановим с бекапа с помощью утилиты vzrestore
Если необходимо восстановить с ID,которым уже существует контейнер, то этот контейнер необходимо предварительно удалить,чтобы освободить ID

Также с бекапа можно создать новый контейнер с новым уникальным идентификатором контейнера.

 

Мониторинг загрузки на процессор и диск от контейнеров OpenVZ

http://openvz.org/Resource_shortage

 

Источники:

http://www.howtoforge.com/installing-and-using-openvz-on-centos-6.4-p2
http://bezha.od.ua/centos-openvz/
http://wiki.centos.org/HowTos/Virtualization/OpenVZ
http://openvz.org/Quick_installation
http://www.ibm.com/developerworks/ru/library/l-openvz_2/index.html?S_TACT=105AGX99&S_CMP=GR01#author1

 

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика