понедельник, 24 ноября 2008 г.

OpenVZ в ALT Linux Lite 4.0

Так сложилось, что даже для инсталляций с OpenVZ мне удобнее использовать ALT Linux 4.0 Server Lite (как раз сегодня пересобрал все iso на свежей пакетной базе branch/4.0) вместо официального ALT Linux 4.0 Server.

Для запуска 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, сверяясь по мере надобности с полезными советами.

Впрочем, все это локальные хаки. Планов по опакечиванию нет, т.к. Anton Protopopov потихоньку делает mkve - гораздо более продвинутый инструмент аналогичного назначения, которым также будет пользоваться Alterator.

Комментариев нет: