Мануал в разработке
Ядро OpenVZ можно устанавливать как до инсталляции ISPConfig 3, так и после (в случае пост-установки ядра OpenVZ, может возникнуть необходимость некоторых манипуляций. Об этом будет подробно описано по ходу дела).
Для правильной работы Вашего сервера для виртуального хозяйства необходимо выделить отдельный диск или, на крайний случай, раздел.
Этот раздел/диск должен быть примонтирован как /vz
Вопрос, как монтировать новый диск/раздел к системе, не относится к данной теме. Если будет актуально, напишу отдельную инструкцию.
Так как ядро OpenVZ работает с дисками только через UUID, необходимо убедиться, что файл /etc/fstab настроен правильно.
Пример:
Код: Выделить всё
cat << EOF > /etc/apt/sources.list.d/openvz.list
deb http://download.openvz.org/debian wheezy main
EOF
Код: Выделить всё
wget -O- "http://ftp.openvz.org/debian/archive.key" | apt-key add -
Код: Выделить всё
apt-get update
Код: Выделить всё
apt-get install vzkernel vzctl vzquota vzdump -y
Код: Выделить всё
sed -i -e 's/GRUB_DEFAULT=0/GRUB_DEFAULT=2/' /etc/default/grub
Код: Выделить всё
sed -i -e 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/' /etc/default/grub
Код: Выделить всё
update-grub
Код: Выделить всё
reboot
Код: Выделить всё
apt-get -y remove linux-image-amd64 linux-image-3.2.0-4-amd64 && apt-get autoremove -y
Код: Выделить всё
uname -r
Возвращаем значения для загрузки.root@debian7:~# uname -r
2.6.32-openvz-042stab093.5-amd64
Код: Выделить всё
sed -i -e 's/GRUB_DEFAULT=2/GRUB_DEFAULT=0/' /etc/default/grub
Код: Выделить всё
update-grub
Код: Выделить всё
cd /
mv /var/lib/vz .
Код: Выделить всё
ln -s /vz /var/lib/vz
Код: Выделить всё
sed -i -e 's/\/var\/lib\/vz/\/vz/' /etc/vz/vz.conf
sed -i -e 's/#NEIGHBOUR_DEVS=detect/NEIGHBOUR_DEVS=all/' /etc/vz/vz.conf
Код: Выделить всё
service vz restart
Код: Выделить всё
cat << EOF >> /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
net.ipv4.conf.eth0.proxy_arp=1
EOF
Код: Выделить всё
sysctl -w net.ipv4.ip_forward=1
Код: Выделить всё
sysctl -p
Панель можно установить вручную (гайдов и мануалов интернете множество), а можно скриптом и заострять внимание на этом этапе не буду.
И так, считаем, что панель установлена, но настраивать её будем несколько позже. Нам нужны образы для VM, templates или, по-русски, шаблоны. Опять же, Для просмотра ссылок Вы должны быть авторизованы на форуме. в интернете найти не составит труда. Мы же пойдём другим путём и будем создавать свои собственные, со своими труЪ-настройками .
Поставим задачу. Нам нужна VM, например, с ОС Debian 7. И в качестве реальной задачи будем устанавливать на неё панель ISPConfig 3.
И так, начнём...
Устанавливаем пакет debootstrap:
Код: Выделить всё
apt-get install debootstrap -y
Код: Выделить всё
cd /usr/share/debootstrap/scripts
ls
Код: Выделить всё
root@debian7:/usr/share/debootstrap/scripts# ls
breezy gutsy jessie oldstable sarge testing woody.buildd
dapper hardy karmic oneiric sarge.buildd unstable
edgy hoary lenny potato sarge.fakechroot warty
etch hoary.buildd lucid precise sid warty.buildd
etch-m68k intrepid maverick quantal squeeze wheezy
feisty jaunty natty raring stable woody
Код: Выделить всё
# Разбор ключей debootstrap
# --arch amd64 - архитекрура нужной нам ОС
# trusty - собственно, имя дистрибутива
# /vz/private/777 - каталог, где хранятся... Да, да... развёрнутые ОС виртуальных машин (777 - любое незанятое число)
# http://mirror.yandex.ru/debian - зеркало репозитория
debootstrap --arch amd64 wheezy /vz/private/777 http://mirror.yandex.ru/debian
Если всё прошло ОК, в последней строке будет написано:Если есть Кэширующий прокси для локального зеркала Apt-Cacher-NG
команда будет выглядеть так:Код: Выделить всё
# 192.168.1.111:3142 - адрес прокси для локального зеркала Apt-Cacher-NG debootstrap --arch amd64 wheezy /vz/private/777 http://192.168.1.111:3142/mirror.yandex.ru/debian
Код: Выделить всё
I: Base system installed successfully.
Хотя нет, сначала нам нужно запустить VM под номером 777, а для этого нужно создать конфиг:
Код: Выделить всё
# debian-7.0-amd64-custom-start - имя нашего будущего шаблона
sh -c 'echo OSTEMPLATE=\"debian-7.0-amd64-custom-start\"' > /etc/vz/conf/777.conf
Код: Выделить всё
# базовая конфигурация
vzctl set 777 --applyconfig basic --save
# нам нужен IP, чтобы был интернет
vzctl set 777 --ipadd 192.168.1.112 --save
# Прописываем DNS, иначе в интернет путь заказан
vzctl set 777 --nameserver 192.168.1.1 --save
# временно прибиваем менеджер устройств
killall udevd
Код: Выделить всё
vzctl start 777
vzctl enter 777
Код: Выделить всё
cat /etc/os-release
Код: Выделить всё
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Код: Выделить всё
apt-get update && apt-get upgrade -y
quota — система ограничений (quota system) является частью ядра LINUX
htop — продвинутый монитор процессов, написанный для Linux.
klogd — демон klogd перехватывает и регистрирует все сообщения ядра.
nano — лёгкий и простой текстовый редактор.
openssh-server — нам ведь надо как-то удалённо админить сервер?
locales — поддержка разных языков
console-cyrillic — русский язык в консоли
Код: Выделить всё
apt-get install quota nano openssh-server locales console-cyrillic -y
- Configuring keyboard-configuration
- Keyboard layout: Other -> Russian -> Russian -> Ok
- Method for toggling between national and Latin mode: Alt+Shift -> Ok
- Configuring console-setup
- Encoding to use on the console: UTF-8 -> Ok
- Character set to support: . Combined - Latin; Slavic and non-Slavic Cyrillic -> Ok
- Cyrillic on Console
- Choose the keyboard layout -> Russian -> Ok
- Toggling between Cyrillic and Latin characters -> Alt+Shift
- Switching temporarily between Cyrillic and Latin characters -> No temporary switch -> Ok
- Ok
- What is your encoding? -> UNICODE -> Ok
Код: Выделить всё
dpkg-reconfigure locales
Код: Выделить всё
sed -i -e '/getty/d' /etc/inittab
Код: Выделить всё
sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/*syslog.conf
Код: Выделить всё
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
Код: Выделить всё
rm -f /etc/ssh/ssh_host_*
cat << EOF > /etc/init.d/ssh_gen_host_keys
#!/bin/sh
### BEGIN INIT INFO
# Provides: Generates new ssh host keys on first boot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Generates new ssh host keys on first boot
# Description: Generates new ssh host keys on first boot
### END INIT INFO
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ""
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ""
insserv -r /etc/init.d/ssh_gen_host_keys
rm -f \$0
EOF
chmod a+x /etc/init.d/ssh_gen_host_keys
insserv /etc/init.d/ssh_gen_host_keys
Код: Выделить всё
ln -sf /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
Код: Выделить всё
cp /etc/skel/.bashrc ~/
1. Удаляем загруженные архивные файлы пакетов
Код: Выделить всё
apt-get --purge clean
Код: Выделить всё
rm /var/log/bootstrap.log
cat /dev/null > auth.log
cat /dev/null > dpkg.log
cat /dev/null > syslog
cat /dev/null > daemon.log
cat /dev/null > messages
cat /dev/null > .bash_history
Код: Выделить всё
exit
Код: Выделить всё
vzctl set 777 --ipdel all --save
Код: Выделить всё
cat /dev/null > /vz/private/777/etc/resolv.conf
Код: Выделить всё
rm /vz/private/777/etc/hostname
1. Останавливаем VPS
Код: Выделить всё
vzctl stop 777
Код: Выделить всё
cd /vz/private/777
Код: Выделить всё
tar --numeric-owner -zcf /vz/template/cache/debian-7.0-amd64-custom-start.tar.gz .
Код: Выделить всё
ls -lh /vz/template/cache/
Код: Выделить всё
-rw-r--r-- 1 root root 120M Ноя 7 17:48 debian-7.0-amd64-custom-start.tar.gz
Код: Выделить всё
cd /
vzctl destroy 777
rm /etc/vz/conf/777.conf.destroyed
Я уже говорил, что ядро OpenVZ можно устанавливать поверх инсталлированной панели ISPConfig 3. Допустим, что у нас такой случай. Заходим админом в панель и сначала ставим галку: Сохраняем конфигурацию и включаем плагин поддержки OpenVZ (по-крайней мере, мне пришлось это делать вручную):
Код: Выделить всё
ln -s /usr/local/ispconfig/server/plugins-available/openvz_plugin.inc.php /usr/local/ispconfig/server/plugins-enabled/openvz_plugin.inc.php
Для начала запишем IP для VM, например, 192.168.1.112 Открываем пункт OpenVZ OS-Template и прописываем шаблон (можно отредактировать существующий). Напоминаю, что шаблоны у нас находятся в каталоге /vz/template/cache, а имя в поле Template filename должно совпадать с именем архива, но без расширения. Для примера я выбрал
debian-7.0-amd64-custom-start: Идём в пункт Virtual Servers и создаём (наконец-то!!! ) виртуальную машинку. Нам надо прописать имя машины в hostname и... всё (можно поменять пароль root, если не нравится предложенный): Сохраняем изменения и подождём 2-3 минуты, пока отработают скрипты панели. Затем в консоли наберём:
Код: Выделить всё
root@debian7:~# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
101 7 running 192.168.1.112 test
Пробуем зайти с дугой машины через ssh:
Код: Выделить всё
root@develop:~# ssh 192.168.1.112
The authenticity of host '192.168.1.112 (192.168.1.112)' can't be established.
ECDSA key fingerprint is 0c:1e:38:5a:62:8f:06:46:c9:24:49:5e:c4:ea:5d:d4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.112' (ECDSA) to the list of known hosts.
root@192.168.1.112's password:
Linux test 2.6.32-openvz-042stab093.5-amd64 #1 SMP Wed Sep 10 17:47:17 MSK 2014 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@test:~#
Инструкция по установке : Для просмотра ссылок Вы должны быть авторизованы на форуме.