Установка и использование OpenVZ в Debian Etch
Метки: Debian | openVZ
Среда, 26 ноября 2008 г.
Просмотров: 16083
Подписаться на комментарии по RSS
В этой статье я опишу каким образом вы можете подготовить сервер под управлением Debian Etch для OpenVZ. С помощью OpenVZ вы можете создавать множество Virtual Private Servers (VPS) на одном физическом сервере, подобно проектам Xen или Linux Vserver. OpenVZ это свободное ответвление от Virtuozzo, коммерческого виртуализационного продукта используемого многими хостерами для предоставления услуги VPS. Ядро OpenVZ лицензировано под лицензией GPL.
1 Установка OpenVZ
Перед началом установки OpenVZ, вам необходимо добавить репозитарий OpenVZ в ваш /etc/apt/sources.list:
vi /etc/apt/sources.list
[...] deb http://download.openvz.org/debian-systs etch openvz [...]
|
Запустите команду:
wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add - && apt-get update
После этого будет скачен и установлен ключ репозитария и обновлена база пакетов.
Репозитарии содержат 6 ядер OpenVZ, из которых вам необходимо выбрать одно. В пакетах ovzkernel используются оригинальные конфигурации ядер OpenVZ, пакеты fzakernel используют конфигурацию ядра Debian плюс настройк OpenVZ:
- ovzkernel-2.6.18: uniprocessor | up to 4GB of RAM | i386 and amd64
- ovzkernel-2.6.18-smp: symmetric multiprocessor | up to 4 GB of RAM | i386 and amd64
- ovzkernel-2.6.18-enterprise: SMP + PAE support + 4/4GB split | up to 64 GB of RAM | i386 only
- fzakernel-2.6.18-686: uni- and multiprocessor | up to 4GB of RAM | i386
- fzakernel-2.6.18-686-bigmem: symmetric multiprocessor | up to 64 GB of RAM | i386
- fzakernel-2.6.18-amd64: uni- and multiprocessor | amd64
Выберите нужный вам пакет и установите его:
apt-get install fzakernel-2.6.18-686-bigmem
Обновите загрузчик GRUB:
update-grub
Теперь установите некоторые утилиты OpenVZ и минимальное шаблон Debian Etch OS, который пригодится вам при создании виртуальной машины:
apt-get install vzctl vzquota vzctl-ostmpl-debian vzprocps vzdump
Создайте симлинк с /var/lib/vz на директорию /vz для обеспечения обратной совместимости:
ln -s /var/lib/vz /vz
Откройте /etc/sysctl.conf и убедитесь что выставлены следующие настройки:
vi /etc/sysctl.conf
[...] net.ipv4.conf.all.rp_filter=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 [...]
|
Если вам необходимо изменять /etc/sysctl.conf, запустите после этого
sysctl -p
Следующий щаг важен, если IP адреса ваших виртуальных машин находятся в другой подсети чем IP адрес хост-машины. Если вы не сделаете этого, в виртуальных машинах не будет работаь сеть!
Откройте /etc/vz/vz.conf и установите значение NEIGHBOUR_DEVS в all:
vi /etc/vz/vz.conf
[...] NEIGHBOUR_DEVS=all [...]
|
Наконец, перезапустите систему:
reboot
Если ваша система загрузиться без проблема, вероятнее всего что все в порядке
Запустите
uname -r
и вы должны увидеть новое ядро OpenVZ:
server1:~# uname -r
2.6.18-fza-028stab053.5-686-bigmem
server1:~#
2 Использование OpenVZ
Я покажу вам в основном базовые команды OpenVZ.
Для запуска VPS с использованием минимального шаблона Debian Etch (вы можете найти его в /var/lib/vz/template/cache), запустите:
vzctl create 101 --ostemplate debian-4.0-i386-minimal --config vps.basic
В данном примере 101 должно быть уникальным идентификатором, ID - каждая виртуальная машина имеет свой собственный уникальный ID. К примеру вы можете использовать последний октет IP адреса виртуальной машины в качестве ID. Например, если IP адрес виртуальной машины 1.2.3.101, используйте 101 как ID.
Если вы хотите автоматически запускать виртуальную машину при запуске хост системы, выполните команду:
vzctl set 101 --onboot yes --save
Для установки имени хоста и IP адреса:
vzctl set 101 --hostname test.example.com --save
vzctl set 101 --ipadd 1.2.3.101 --save
Установим количество сокетов и назначим днс сервера:
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.99.99 --nameserver 213.133.100.100 --nameserver 145.253.2.75 --save
(Вместо использования команды vzctl вы можете непосредственно редактировать конфигурационный файл виртуальной машины в директории /etc/vz/conf. Если ID виртуальной машины 101, то конфигурационный файл для неё /etc/vz/conf/101.conf.)
Запускаем виртуальную машину:
vzctl start 101
Устанавливаем пароль root:
vzctl exec 101 passwd
Вы можете подключаться к виртуальной машине либо через SSH, либо к консоли:
vzctl enter 101
Для отключения от консоли, введите:
exit
Для остановки виртуальной машины:
vzctl stop 101
Перезагрузка виртуальной машины:
vzctl restart 101
Для удаления виртуальной машины с диска (сперва её необходимо остановить) запускайте
vzctl destroy 101
Для просмотра списка ваших виртуальных машин и их статуса:
vzlist -a
server1:~# vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
101 6 running 1.2.3.101 test.example.com
server1:~#
Для просмотра ресурсов назначенных виртуальной машине, запустите команду:
vzctl exec 101 cat /proc/user_beancounters
server1:~# vzctl exec 101 cat /proc/user_beancounters Version: 2.5 uid resource held maxheld barrier limit failcnt 101: kmemsize 500737 517142 11055923 11377049 0 lockedpages 0 0 256 256 0 privvmpages 2315 2337 65536 69632 0 shmpages 640 640 21504 21504 0 dummy 0 0 0 0 0 numproc 7 7 240 240 0 physpages 1258 1289 0 2147483647 0 vmguarpages 0 0 33792 2147483647 0 oomguarpages 1258 1289 26112 2147483647 0 numtcpsock 2 2 360 360 0 numflock 1 1 188 206 0 numpty 1 1 16 16 0 numsiginfo 0 1 256 256 0 tcpsndbuf 17856 17856 1720320 2703360 0 tcprcvbuf 32768 32768 1720320 2703360 0 othersockbuf 2232 2928 1126080 2097152 0 dgramrcvbuf 0 0 262144 262144 0 numothersock 1 3 120 120 0 dcachesize 0 0 3409920 3624960 0 numfile 189 189 9312 9312 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 numiptent 10 10 128 128 0 server1:~#
Колонка failcnt очень важна, в ней должны содержаться одни нули. Если это не так, это означает что виртуальной машине необходимо больше ресурсов чем ей назначено в даннй момент.
Откройте файл конфигурации в /etc/vz/conf и увеличьте значения необходимых ресурсов, потом перегрузите виртуальную машину.
Для того, чтобы узнать больше о команде vzctl, используйте:
man vzctl
Постовой
Хороший дизельгенератор без проблем обогреет зимой загородное жилище.
Отличный новый фотохостинг Pict - удобный интерфейс, великолепная скорость работы и отсутствие рекламы.
Еще записи по теме
- Как сконвертировать физическую систему или гостевой домен Xen в контейнер OpenVZ (Debian Etch)
- Таблица MAC адресов популярных платформ виртуализации
- Установка и конфигурирование VMware ESXi
- Управляем OpenVZ c помощью Vtonf в Centos 5.2
- Мониторинг серверов ESX/ESXi с помощью NMS, часть 2
- Как разрешить root доступ к ESXi через SSH
- Мониторинг серверов ESX/ESXi с помощью NMS, часть 1
Комментариев: 5
Оригинально однако.
Почему бы просто не использовать команду
vzctl set параметр значение [--save]
например vzctl set 1101 --ipadd "192.168.1.101" --privvmpages=256M --save
Ресурсы выделятся моментально без даунтайма внутри контейнера.
Параметр --save используем если хотим записать в конфиг. Если его не указать - после перезапуска контейнера, ресурсы будут выделены те, что записаны в конфиге.
Спасибо за отличную статью (или перевод).
вот только это все отлично работает для Debian Etch, а если у меня lenny и мне нужно ядро fzakernel-2.6.18-686-bigmem, его там нет.. а какое выбрать я не знаю
aptitude search openvz
Сам дальше разберёшься?
Да, имей ввиду, ядра выше 2.6.18 cpulimit не умеют. Если собираешься раздавать хостинг и жёстко ограничивать процессор - бери 2.6.18, если для себя - бери новые ядра.
Все было хорошо, пока не решил запустить постфикс. После его установки и попытки запуска имеем:
1. неработающий постфикс
2.
Есть идеи?
Если интересно, то я описал у себя в блоге установку openvz в debian lenny