Если все сделано верно, то вы должны загрузиться с новым ядром (приверяем:
uname -s)
После этого продолжаем установку
Устанавливаем vzctl
Добавляем vz в автозагрузку
Код:
rc-update add vz default
Запускаем vz
Код:
/etc/init.d/vz start
Приступаем к созданию виртуальных машин.
Фактически, все виртуальные сервера хранятся в директории
/vz/private
Создаем директорию для нашей машины
Код:
mkdir /vz/private/100
Распаковываем туда наш stage3
(берем здесь http://www.gentoo.org/main/en/mirrors.xml каталог /releases/amd64(или x86)/2008.0/stages/stage3-amd64-2008.0.tar.bz2 или тот, что остался от установки системы)
Код:
tar -xjf stage3-i686-2008.0_beta2.tar.bz2 -C /vz/private/100
Создаем файл конфигурации ...
Код:
vzctl set 100 --applyconfig vps.basic --save
..и правим его
nano /etc/vz/conf/100.conf, добавив в конце файла
PHP код:
OSTEMPLATE="gentoo"
IP_ADDRESS="192.168.0.101"
HOSTNAME="test.server"
Заменяем mtab символьной ссылкой на
/proc/mounts
Код:
rm -f /vz/private/100/etc/mtab
ln -s /proc/mounts /vz/private/100/etc/mtab
При загрузке нам нужен только
/proc
Код:
echo "proc /proc proc defaults 0 0" > /vz/private/100/etc/fstab
Правим
/vz/private/100/etc/inittab. Закоментируем строки наших консолей
PHP код:
#c1:12345:respawn:/sbin/agetty 38400 tty1 linux
#c2:2345:respawn:/sbin/agetty 38400 tty2 linux
#c3:2345:respawn:/sbin/agetty 38400 tty3 linux
#c4:2345:respawn:/sbin/agetty 38400 tty4 linux
#c5:2345:respawn:/sbin/agetty 38400 tty5 linux
#c6:2345:respawn:/sbin/agetty 38400 tty6 linux
Правим
/vz/private/100/etc/shadow. Заменяем пароль root на ! , что не позволит использовать учетную запись.
Позже его можно сменить командой
vzctl set 100 --userpasswd root
assword
Удаляем checkroot и consolefont
Код:
rm /vz/private/100/etc/runlevels/boot/checkroot
rm /vz/private/100/etc/runlevels/boot/consolefont
Правим
/vz/private/100/sbin/rc. Закоментируем строку
PHP код:
# try mount -n ${mntcmd:--t sysfs sysfs /sys -o noexec,nosuid,nodev}
Добавляем в
/vz/private/100/etc/make.conf строку
PHP код:
CONFIG_PROTECT = /sbin/rc
В файле
/vz/private/100/etc/conf.d/rc находим
RC_DEVICES= и указываем значение
Выходим из директории vz если вы там
Запускаем наш сервер
Смотрим его в списке
Все в порядке? Заходим на него
vzctl enter 100
Смотрим
vzctl --help для вариантов использования команды
Для того, что бы на нашей ВМ была возможность устанавливать пакеты из порежей выполним следующее:
Создадим директорию для портежей
Код:
mkdir -p /vz/root/100/usr/portage
И монтируем туда портажи с нашего сервера
Код:
mount -o bind /usr/portage /vz/root/100/usr/portage
и каталог с исходниками
Код:
mount -n -o bind /usr/portage/distfiles /vz/root/100/usr/portage/distfiles
Теперь установка пакетов возможно через
emerge <пакет>
Если все работает - переходим к реализации "вывода в мир"
Устанавливаем на основной сервер iptables
Разрешаем ip форвардинг
Код:
echo 1 > /proc/sys/net/ipv4/ip_forward
Задаем правило
Код:
iptables -t nat -A POSTROUTING -s 192.168.0.101 -o <внешняя карта сервера> -j SNAT --to <внешний адрес сервера>
Теперь виртуальная машина будет выходить в мир через наш НАТ
Сохраняем параметры и добавляем iptables в автозагрузку
Код:
/etc/init.d/iptables save
rc-update add iptables default
Если где-либо описался сильно не пинать )
Полезные ресурсы:
wiki.openvz.org
gentoo.org