Для OpenVZ есть понятие "шаблон" (template), которое представляет собой образ жесткого диска, используемый для создания VPS. По замыслу разработчиков OpenVZ эти образы должны храниться в папке "/vz/template/cache". Для OpenVZ есть очень большое число этих самых шаблонов, которые вы можете найти здесь.
Скачиваем образы (и ключевые суммы к ним) Centos5 и Debian 5 под интересующую нас платформу (в моем случае это x86_64):
    # 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 vps.basic --hostname myvps.ru
В ответ должно быть выдано примерно следующее:
    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="vps.basic"
В итоге наш контейнер появляется в списке доступных:
    vzlist -a
    CTID NPROC STATUS IP_ADDR HOSTNAME
    101 - stopped - myvps.ru
Добавляем реальный IP адрес для VPS:
    vzctl set 101 --ipadd x.xx.xx.xx --save
Задаем DNS (взяв его с файла /etc/resolv.conf хост системы; а вообще лучше попробовать обойтись без этой операции, чтобы DNS автоматом были взяты с хост системы):
    vzctl set 101 --nameserver 213.133.98.98 --save
Либо можете задать несколько DNS серверов (использован пример для выделенных серверов от fastvps.ru):
    vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.100.100 --nameserver 213.133.99.99 --save
Запускаем контейнер:
    vzctl start 101
ЗАДАДИМ ПОЛЬЗОВАТЕЛЮ root ПАРОЛЬ!!!!
vzctl exec 101 passwd
Входим в контейнер через локальную консоль:
    vzctl enter 101
Сразу рекомендую удалить совершенно не нужны репозиторий:
    rm -f /etc/yum.repos.d/vz.repo
Ну вот и все, пробуем пинговать сервер снаружи :) А если на самом контейнере нету сети, то виноват фаерволл CentOS, выключаем его:
    /etc/init.d/iptables stop
    chkconfig iptables off
 
Комментариев нет:
Отправить комментарий