OpenVZ на Ubuntu: Легкая виртуализация для вашего сервера
Представьте, что на одном сервере у вас работает несколько полностью независимых систем. Каждая со своими пользователями, IP-адресами и приложениями, но без лишней нагрузки на ресурсы. Это не магия, а реальность с OpenVZ!
Эта технология контейнерной виртуализации кардинально отличается от громоздких решений вроде VirtualBox. Вместо эмуляции всего железа она использует одно общее ядро Linux, что делает работу невероятно эффективной. Ваши виртуальные машины будут потреблять минимум ресурсов, оставляя больше мощности для важных задач.
Хотите развернуть на Ubuntu свой собственный облачный хостинг, изолировать среды для разработки или просто научиться управлять контейнерами? Эта инструкция — ваш прямой путь к цели.
Мы не просто установим OpenVZ, а сразу настроим и запустим первую виртуальную машину. Вы узнаете, как добавить репозиторий разработчиков, установить специальное ядро и правильно настроить сеть. Мы разберемся с тонкостями настройки через утилиту `vzctl`: зададим имя хоста, IP-адрес, количество ядер, объем оперативной памяти и дискового пространства.
Вас ждет пошаговое руководство, которое превратит сложную задачу в серию простых команд в терминале. Готовы создать свой первый контейнер за считанные минуты? Тогда начинаем!
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
Или для i386:
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:
vi /etc/vz/vz.conf
Раскомментируйте строчку:
NEIGHBOUR_DEVS=detect
И измените ее на:
NEIGHBOUR_DEVS=all
Выводы
Вот и все. Теперь вы знаете как выполняется установка openvz на ubuntu 16.04. Для меня настройка OpenVZ показалась намного проще чем те же самые LXC контейнеры. Если у вас остались вопросы, спрашивайте в комментариях!