А теперь по порядку. Для начала необходимо установить операционную систему на сервер. Мой выбор пал на Ubuntu 9.04 Server, так как это самая свежая стабильная версия. Далее необходимо установить на нее виртуальную машину - OpenVZ. Особенностью OpenVZ является то, что виртуализация происходит на очень низком уровне, за счет чего достигается высокая производительность гостевых систем. Однако для достижения высокой производительности придется использовать специальную версию ядра, так что не бойтесь если при установке OpenVZ предложит скачать новую версию ядра. Далее необходимо скачать образ гостевой системы, которая и будет разворачиваться на виртуальной(гостевой) машине. И еще, для полноценной работы VPS как сервиса, который будет приносить деньги, необходимо каждому виртуальному серверу выдать по IP адресу.
Итак, преимущества виртуальных серверов в том, что они предоставляют изолированное окружение, и клиенты получают рутовый пароль на систему. Так-же следует отметить что в таком случае безопасность внутри виртуальных машин будут отвечать сами клиенты, а злоумышленник с рутовым доступом на виртуальной машине не сможет навредить физическому серверу или соседним виртуальным машинам.
Важно постараться поставить как можно меньше программного обеспечения на физический сервер, в идеале это только OpenVZ и OpenSSH.
Ну а теперь непосредственно процедура установки и настройки OpenVZ (в моих примерах предполагается что у вас установлена свежая Ubuntu 9.04 Server, без дополнительного ПО):
1. Подготовка места на диске для хранения виртуальных машин
Для удобства работы и масштабируемости сервера рекомендуется иметь отдельный жесткий диск ( а лучше два, в рейде, для зеркалирования данных пользователя). Предлагаю в корне создать директорию /vz. В эту директорию монтировать жесткий диск. Для этого в /etc/fstab необходимо добавить строчку:
/dev/sdb1 /vz ext3 defaults 0 0
где /dev/sdb1 - ваш жесткий диск для хранения виртуальных машин.
2. Установка ядра системы с поддержкой виртуализации
Для этого стоит выполнить команду:
# apt-get install vzctl
пакетный менеджер автоматически подтянет ядро с поддержкой openvz нужной версии. В моем случае был установлен linux-image-2.6.26-2-openvz.
После перезагрузки необходимо произвести настройку ядра, редактируем файл /etc/sysctl.conf и меняем следующие строки: net.ipv4.ip_forward=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 kernel.sysrq = 1
После сохранения файла необходимо применить новые параметры ядра:
# sysctl -p
3. Установка виртуальной машины (гостевой системы)
Для начала необходимо скачать образ операционной системы, которая будет использоваться в гостевой системе. Для этого выбираем на образ на сайте http://openvz.org/download/template/cache/ и скачиваем его в директорию /vz/template/cache:
# make -p /vz/template/cache # cd /vz/template/cache # wget http://download.openvz.org/template/precreated/ubuntu-9.04-x86_64.tar.gz
В моем случае для гостевой операционной системы была выбрана Ubuntu 9.04.
Далее необходимо создать непосредственно виртуальную машину, на основе нашего образа. Так как на VPS хостинге эту задачу надо будет повторять неоднократно, удобно использовать скрипт:
root_pw="root_password" # пароль пользователя root в гостевой системе os_template="ubuntu-9.04-x86_64" # имя образа ОС для гостевой системы vm_id="1" # идентификатор гостевой системы /usr/sbin/vzctl create ${vm_id} --ostemplate ${os_template} --config vps.basic #создание гостевой системы на основе образа /usr/sbin/vzctl set ${vm_id} --onboot yes --save # запускать гостевую при старте системы /usr/sbin/vzctl set ${vm_id} --hostname vps${vm_id}.domain.com --save #установить hostname гостевой /usr/sbin/vzctl set ${vm_id} --ipadd 192.168.1.190 --save #установить IP адрес /usr/sbin/vzctl set ${vm_id} --nameserver 192.168.1.12 --save #установить адрес ДНС сервера /usr/sbin/vzctl set ${vm_id} --userpasswd root:${root_pw} --save #установить пароль пользователя root /usr/sbin/vzctl set ${vm_id} --cpulimit 15 --save #установка процессорной квоты 15% #установка дисковой квоты 9 GB (10 GB в течении промежутка 600 секунд) /usr/sbin/vzctl set ${vm_id} --diskspace 9000000:10000000 --save /usr/sbin/vzctl set ${vm_id} --quotatime 600 --save #установка квоты на виртуальную память 160M (168M в течение quotatime - см.выше) #с гарантией выделения до 120M (128M) /usr/sbin/vzctl set ${vm_id} --privvmpages 160M:168M --save /usr/sbin/vzctl set ${vm_id} --vmguarpages 120M:128M --save /usr/sbin/vzctl start ${vm_id} #запуск новой гостевой системы
Все, теперь в гостевую систему можно логинится по ssh
|