lest, just lest

Заметки о web-разработке, администрировании Linux и настройке Mac OS X

Установка и настройка OpenVZ на Debian Lenny

без комментариев

Одной из технологий виртуализации является OpenVZ, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых Виртуальные Частные Серверы (Virtual Private Servers, VPS) или Виртуальные Среды (Virtual Environments, VE).

Виртуализация на уровне операционной системы в OpenVZ ограничивает использование гостевых систем Linux'ом, но даёт лучшую производительность, масштабируемость, плотность размещения, динамическое управление ресурсами, а также лёгкость в администрировании. Согласно сайту OpenVZ, накладные расходы на виртуализацию очень малы, и падение производительности составляет 1-3 %, по сравнению с обычными Linux-системами.

OpenVZ состоит из модифицированного ядра Linux и пользовательских утилит.

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

apt-get install linux-image-openvz-686

Перезагружаем сервер с новым ядром.

После перезагрузки в файле /etc/sysctl.conf задаем необходимые опции ядра:

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1

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

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

# TCP Explict Congestion Notification
#net.ipv4.tcp_ecn = 0

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

Чтобы применить изменение опций запускаем:

sysctl -p

На странице готовых шаблонов находим и скачиваем debian-5.0-i386-minimal.tar.gz в директорию /var/lib/vz/template/cache:

cd /var/lib/vz/template/cache
wget http://download.openvz.org/contrib/template/precreated/debian-5.0-i386-minimal.tar.gz

Создаем контейнер OpenVZ из скаченного шаблона (в команде указываетсе идентификатор виртуального сервера VEID, например 11):

vzctl create 11 --ostemplate debian-5.0-i386-minimal --ipadd 192.168.0.11 --hostname vz11

Используемые опции:

  • --ostemplate - используемый шаблон контейнера
  • --ipadd - добавление ip адреса
  • --hostname - установка имени хоста внутри контейнера

Указываем DNS для виртуального сервера (например, 192.168.0.1):

vzctl set 11 --nameserver 192.168.0.1 --save

Определяем объем памяти, который будет выделен контейнеру (например, 360Mb гарантированно и 540Mb максимально):

vzctl set 11 --vmguarpages $((256 * 360)) --privvmpages $((256 * 540)) --save
  • --vmguarpages - гарантированный объем памяти * 256
  • --privvmpages - максимальный объем памяти * 256

Для задания объема дискового пространства (softlimit:hardlimit) используется следующая команда:

vzctl set 11 --diskspace 6G:7G --save

Чтобы контейнер стартовал при загрузке системы нужно задать опцию --onboot:

vzctl set 11 --onboot yes --save

Файловые системы OpenVZ контейнеров лежат внутри файловой системы хоста в директории /var/lib/vz/private. Поэтому можно напрямую из хоста положить туда необходимые файлы, например, sources.list:

cp /etc/apt/sources.list /var/lib/vz/private/11/etc/apt/sources.list

Теперь можно запустить виртуальный сервер и обновить информацию о пакетах в репозиториях:

vzctl start 11
vzctl exec 11 apt-get update
vzctl exec 11 apt-get install debian-archive-keyring
vzctl exec 11 apt-get update

Для входа в контейнер под root используется команда vzctl enter 11.

Related posts:

  1. Установка и настройка Nginx на CentOS 5 с Cpanel
  2. Установка Sphinx на Debian Lenny
  3. Установка nginx на Ubuntu
  4. Настройка ssh клиента
  5. Интеграция KWallet и ssh-agent в среде KDE

Автор: lest

Февраль 19, 2010 в 10:32

Опубликовано в linux

Метки: , , , ,

Leave a Reply