Использование OpenVZ на CentOS 5.x
Использование OpenVZ на CentOS 5.x
Для OpenVZ является понятие «шаблон» (template), который является образом жесткого диска используемого для создания VPS. Намерения этих образов OpenVZ должны храниться в папке «/vz/template/cache». Для OpenVZ является очень большое количество этих самых шаблонов, которые вы можете найти здесь. Установка: [-hide-] Скачиваем образы (и ключевые суммы к ним) Centos5 и Debian 5 под интересующую нас платформу: # 64 битные образы wget -P /vz/template/cache http://download.openvz.org/template/precreated/debian-5.0-x86_64.tar.gz wget -P /vz/template/cache http://download.openvz.org/template/precreated/debian-5.0-x86_64.tar.gz.asc wget -P /vz/template/cache http://download.openvz.org/template/precreated/centos-5-x86_64.tar.gz wget -P /vz/template/cache http://download.openvz.org/template/precreated/centos-5-x86_64.tar.gz.asc # 32 битные образы wget -P /vz/template/cache http://download.openvz.org/template/precreated/centos-5-x86.tar.gz wget -P /vz/template/cache http://download.openvz.org/template/precreated/centos-5-x86.tar.gz.asc wget -P /vz/template/cache http://download.openvz.org/template/precreated/debian-5.0-x86.tar.gz wget -P /vz/template/cache http://download.openvz.org/template/precreated/debian-5.0-x86.tar.gz.asc Теперь надо верифицировать asc суммы для скаченных образов: yum install gpg -y Ставим ключи: wget http://download.openvz.org/RPM-GPG-Key-OpenVZ -O /tmp/RPM-GPG-Key-OpenVZ gpg --import /tmp/RPM-GPG-Key-OpenVZ Проверяем: # 64 битные gpg --verify /vz/template/cache/debian-5.0-x86_64.tar.gz.asc gpg --verify /vz/template/cache/centos-5-x86_64.tar.gz.asc # 32 битные gpg --verify /vz/template/cache/debian-5.0-x86.tar.gz.asc gpg --verify /vz/template/cache/centos-5-x86.tar.gz.asc В ответ должно быть выдано примерно следующее: gpg –verify /vz/template/cache/centos-5-x86_64.tar.gz.asc gpg: Signature made Tue 24 Nov 2009 02:19:30 PM CET using DSA key ID A7A1D4B6 gpg: Good signature from «OpenVZ Project » gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: DEAB A031 F0A1 8848 9D71 01D2 92A6 0DA6 A7A1 D4B6 Теперь краткий обзор папочек, используемых OpenVZ. /etc/vz/conf/ – тут хранятся конфиги клиентских VPS и конфиги тарифных планов (т.е. сколько процессора/памяти/других ресурсов выдавать на каждом тарифу). /vz/private/ – здесь хранятся файликовые системы VPS ов /vz/template/cache/ – тут хранятся шаблоны операционных систем /etc/vz/dists/ – конфиги с указанием на скрипты настройки под различные ОС /etc/vz/cron/vz – служебные крон задачи OpenVZ /etc/vz/vz.conf – глобальный конфиг файлик OpenVZ Итак, создаем контейнер (centos-5-x86_64 – это имя архива в папке /vz/template/cache, но без расширения; 101 – это идентификатор контейнера, CTID): vzctl create 101 --ostemplate centos-5-x86_64 --config basic --hostname vpsserver.com В ответ должно быть выдано примерно следующее: Creating container private area (centos-5-x86_64) Performing postcreate actions Container private area was created В итоге будет сгенерирован конфиг: cat /etc/vz/conf/101.conf # Copyright (C) 2000-2008, Parallels, Inc. All rights reserved. # # Баннер GPL поскипан # ONBOOT="yes" # UBC parameters (in form of barrier:limit) KMEMSIZE="14372700:14790164" LOCKEDPAGES="256:256" PRIVVMPAGES="65536:69632" SHMPAGES="21504:21504" NUMPROC="240:240" PHYSPAGES="0:9223372036854775807" VMGUARPAGES="33792:9223372036854775807" OOMGUARPAGES="26112:9223372036854775807" NUMTCPSOCK="360:360" NUMFLOCK="188:206" NUMPTY="16:16" NUMSIGINFO="256:256" TCPSNDBUF="1720320:2703360" TCPRCVBUF="1720320:2703360" OTHERSOCKBUF="1126080:2097152" DGRAMRCVBUF="262144:262144" NUMOTHERSOCK="360:360" DCACHESIZE="3409920:3624960" NUMFILE="9312:9312" AVNUMPROC="180:180" NUMIPTENT="128:128" # Disk quota parameters (in form of softlimit:hardlimit) DISKSPACE="1048576:1153024" DISKINODES="200000:220000" QUOTATIME="0" # CPU fair sheduler parameter CPUUNITS="1000" VE_ROOT="/vz/root/$VEID" VE_PRIVATE="/vz/private/$VEID" OSTEMPLATE="centos-5-x86_64" ORIGIN_SAMPLE="basic" В итоге наш контейнер появляется в списке доступных: vzlist -a CTID NPROC STATUS IP_ADDR HOSTNAME 101 – stopped – vpsserver.com Добавляем реальный IP адрес для VPS: vzctl set 101 --ipadd xx.xx.xx.xx --save Задаем DNS (взяв его с файлика /etc/resolv.conf хост системы; а вообще лучше попробовать обойтись без этой операции, ,чтобы DNS автоматом были взяты с хост системы): vzctl set 101 --nameserver xx.xx.xx.xx --save Либо можете задать несколько DNS серверов: vzctl set 101 --nameserver xx.xx.xx.xx --nameserver xx.xx.xx.xx --nameserver xx.xx.xx.xx --save Запускаем контейнер: vzctl start 101 Входим в контейнер через локальную консоль: vzctl enter 101 Сразу рекомендую удалить совершенно не нужны репозиторий: rm -f /etc/yum.repos.d/vz.repo Ну вот и все, пробуем пинговать сервер снаружи. А если на самом контейнере нету сети, то виноват фаерволл CentOS, выключаем его: /etc/init.d/iptables stop chkconfig iptables off[-hide-] |