Для запуска OpenVZ необходимо и достаточно сказать: # apt-get install kernel-image-ovz-smp vzctl
После перезагрузки с новым ядром можно создавать виртуальные машины (VE) следующим простым скриптом-оберткой:
#!/bin/sh
# проверяем параметры
if [ -z "$4" ]; then
echo "Usage : $0 \$VEID \$NAME \$BRANCH \$ARCH"
exit 1
fi
# определяем переменные
VE_NAMESERVER="192.168.1.1"
VE_DOMAIN="local"
VE_NET="192.168.0."
VE_REPO="/repo"
HN_REPO="/lvm/distrib/free/linux/alt"
# создаем VE
vzctl create $1 --ostemplate altlinux-$3-$4
# задаем дефолтные значения для VE
vzctl set $1 --name $2 --ipadd $VE_NET$1 --hostname $2.$VE_DOMAIN \
--nameserver $VE_NAMESERVER --searchdomain $VE_DOMAIN --onboot yes --save
# создаем каталог с репозитарием внутри VE
mkdir /var/lib/vz/private/$1/repo
# создаем скрипт, который будет монтировать репозитарий из HN
cat > /etc/vz/conf/$1.mount <<END
#!/bin/sh
. /etc/vz/vz.conf
mount -n -o bind $HN_REPO/$3 \$VE_ROOT/repo
END
# делаем скрипт исполняемым
chmod 700 /etc/vz/conf/$1.mount
# настроиваем apt
cat > /var/lib/vz/private/$1/etc/apt/sources.list <<END
rpm file:///repo/branch/ $4 classic
rpm file:///repo/branch/ noarch classic
END
Многое здесь прибито гвоздями: например, предполагается, что в /lvm/distrib/free/linux/alt
находятся копии branch/4.0 и branch/4.1, а в /var/lib/vz/template/cache/ -
собранные из бранчей с помощью Hasher шаблоны VE:
altlinux-4.0-i586.tar.gz
altlinux-4.0-x86_64.tar.gz
altlinux-4.1-i586.tar.gz
altlinux-4.1-x86_64.tar.gz
В шаблонах находятся basesystem, apt, sysklogd, etcnet, glibc-nss, glibc-locales,
netlist, passwd, su, openssh-server, vim-console, mc, less, man и все, что было вытянуто по зависимостям.
Предполагается, что свежесозданные VE будут запущены с помощью vzctl start и первоначально настроены
с помощью vzctl enter (т.е. будут созданы необходимые пользователи и пароли/ключи) -
далее с ними можно будет работать обычным образом по ssh, сверяясь по мере надобности с полезными советами.
URL: http://admdev.blogspot.com/2008/11/openvz-alt-linux-lite-40....
Обсуждается: http://www.opennet.dev/tips/info/1851.shtml