OpenVZ — контейнерная система виртуализации для Linux. Мы можем создать определенное количество виртуальных машин, в зависимости от конфигурации нашей реальной машины. Каждая виртуальная машина будет работать как отдельная автономная система и не будет конфликтовать с другими машинами.
Созданные с помощью OpenVZ машины могут быть перезагружены независимо одна от одной, могут иметь разных пользователей, IP адреса, память, процессы, файлы, приложения, библиотеки и настройки. Так как используется виртуализация на уровне ОС, в отличие от VirtualBox Vmware и KVM, гостевые системы будут использовать одно и то же ядро — основной системы.
Это позволяет каждой машине наиболее эффективно работать с системными ресурсами: памятью, процессором, дисковым пространством и сетью. В этой инструкции будет рассмотрена установка OpenVZ на Ubuntu.
- Intel совместимый или AMD процессор;
- Как минимум 128 Мб оперативной памяти;
- Минимум 4 ГБ свободного места на диске;
- Подключение к интернет;
Установка OpenVZ в Ubuntu
Установка OpenVZ Ubuntu выполняется очень просто. В официальных репозиториях нужных пакетов нет, поэтому нам придется подключить к системе репозиторий от разработчиков.
Сначала надо добавить репозиторий OpenVZ в систему. Для этого создайте новый файл в папке /etc/apt/sources.list.d/:
sudo vi /etc/apt/sources.list.d/openvz.list
deb [trusted=yes] http://download.openvz.org/debian wheezy main
Импортируем OpenVZ GPG ключ для репозитория:
wget -qO — http://ftp.openvz.org/debian/archive.key | sudo apt-key add —
Ключ с 2017 года недействительный и разработчики, похоже не собираются его обновлять, поэтому надо использовать опцию —allow-unauthenticated. Обновим списки пакетов:
sudo apt —allow-unauthenticated update
Дальше установим ядро с поддержкой OpenVZ:
sudo apt install —allow-unauthenticated linux-image-openvz-amd64
sudo apt install —allow-unauthenticated linux-image-openvz-686
Настроем параметры нового ядра:
sudo vi 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
Эти строки включают перенаправление пакетов, технологию SysRQ, разрешают использовать редиректы для сетевых интерфейсов. Затем установим утилиты для контроля и статистики OpenVZ:
sudo apt install vzctl vzquota ploop vzstats
Установка OpenVZ на Ubuntu 20.04 завершена. Теперь можно перезагрузить компьютер и загрузится с ядром OpenVZ Ubuntu, Пункт меню Ubuntu with OpenVZ можно найти в подменю Advanted options for Ubuntu:
Теперь вы готовы создавать и управлять виртуальными машинами в OpenVZ.
Создание виртуальных машин OpenVZ
Создадим нашу первую виртуальную машину. Для этого существует утилита vzctl. Выполните команду:
sudo vzctl create 1 —ostemplate debian-7.0-x86_64 —config vswap-2g
Здесь 1, это уникальный номер виртуальной машины, —ostemplate указывает шаблон дистрибутива, который будет загружен и распакован, в нашем случае это Debian 7. Опция —config задает конфигурационный файл, в котором указаны все настройки машины. Конфигурационные файлы лежат в каталоге /etc/vz/conf/.
Загрузка и распаковка машины может занять кое-какое время, но после того как она будет готова, можно перейти к ее настройке. Настраивать OpenVZ в Ubuntu будем с помощью утилиты vzctl. Сначала добавим старт при загрузке:
sudo vzctl set 1 —onboot yes —save
Зададим имя хоста:
sudo vzctl set 1 —hostname debian7.example.com — save
Установим IP адрес и DNS сервера:
sudo vzctl set 1 —save —ipadd 192.168.1.2
sudo vzctl set 1 —save —nameserver 8.8.8.8
Количество используемых ядер:
sudo vzctl set 1 —save —cpus 4
Доступное количество оперативной памяти:
sudo vzctl set 1 —save —ram 1G
Размер раздела подкачки:
sudo vzctl set 1 —save —swap 4G
Доступное дисковое пространство:
sudo vzctl set 1 —save —diskspace 100G
Готово. С настройкой OpenVZ Ubuntu завершили, теперь запускаем машину:
sudo vzctl start 1
И устанавливаем пароль:
sudo vzctl exec 1 passwd
Готово. Машина работает и вы уже можете ее использовать. При указании ip адреса для виртуальной машины убедитесь, что для физической и виртуальной машины используется одна и та же подсеть. Если хотите использовать другую подсеть нужно отредактировать файл /etc/vz/vz.conf:
И измените ее на:
Выводы
Вот и все. Теперь вы знаете как выполняется установка openvz на ubuntu 16.04. Для меня настройка OpenVZ показалась намного проще чем те же самые LXC контейнеры. Если у вас остались вопросы, спрашивайте в комментариях!