VServer

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
deisler
Сообщения: 250

VServer

Сообщение deisler »

Для тех кто использует или использовал VServer хотелось бы попросить оставить комментарии относительно данного проекта, не ту информацию которую можно найти на официальном сайте, а что-то от себя, впечатления, нюансы, особенности использования, etc.

deisler добавил в 12.08.2005 04:00

Кстати, хотелось бы ещё узнать, умеет ли VServer работать с алиасами на сетевых интерфейсах?
Всех благ.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: VServer

Сообщение xorader »

Есть хитрость по поводу создания скелета:

Код: Выделить всё

@serv1 /home/vservers/template-gentoo # ls -al
итого 43
drwxr-xr-x    9 root root   440 Фев 25 14:38 .
d--x--x--x    8 root root   264 Май 24 12:27 ..
lrwxrwxrwx    1 root root    13 Июл 29  2004 bin -> read-only/bin
lrwxrwxrwx    1 root root    14 Июл 29  2004 boot -> read-only/boot
drwxr-xr-x    9 root root 35720 Май 19 16:34 dev
lrwxrwxrwx    1 root root    21 Июл 29  2004 etc -> read-only/example/etc
drwxr-xr-x    5 root root   144 Авг  6  2004 home
lrwxrwxrwx    1 root root    13 Июл 29  2004 lib -> read-only/lib
drwxr-xr-x    4 root root   120 Апр 13  2004 mnt
lrwxrwxrwx    1 root root    13 Июл 29  2004 opt -> read-only/opt
dr-xr-xr-x  242 root root     0 Май 19 20:33 proc
drwxr-xr-x   10 root root   240 Июл 29  2004 read-only
lrwxrwxrwx    1 root root    22 Июл 29  2004 root -> read-only/example/root
lrwxrwxrwx    1 root root    14 Июл 29  2004 sbin -> read-only/sbin
drwxr-xr-x    2 root root    72 Июл 21  2004 sys
drwxrwxrwt    7 root root   320 Июл 11 17:18 tmp
lrwxrwxrwx    1 root root    13 Июл 29  2004 usr -> read-only/usr
lrwxrwxrwx    1 root root    21 Июл 29  2004 var -> read-only/example/var

@serv1 /home/vservers/template-gentoo # ls -al read-only/
итого 15
drwxr-xr-x  10 root root  240 Июл 29  2004 .
drwxr-xr-x   9 root root  440 Фев 25 14:38 ..
drwxr-xr-x   2 root root 3864 Июл 11 15:42 bin
drwxr-xr-x   2 root root   96 Апр 13  2004 boot
drwxr-xr-x   5 root root  152 Июл 30  2004 example
drwxr-xr-x   7 root root 3944 Июл 11 15:44 lib
drwxr-xr-x   4 root root  216 Сен  9  2004 opt
drwxr-xr-x   2 root root 3376 Июл 11 15:42 sbin
drwxr-xr-x  11 root root  424 Апр  8 13:22 usr
drwxr-xr-x   3 root root   72 Июл 29  2004 var

@serv1 /home/vservers/template-gentoo # ls -al var/db/
итого 2
drwxr-xr-x   3 root root  96 Авг 16  2004 .
drwxr-xr-x  14 root root 392 Апр  8 13:46 ..
lrwxrwxrwx   1 root root  21 Июл 29  2004 pkg -> /read-only/var/db/pkg
drwxr-xr-x   5 root root 128 Мар 17 16:32 webapps


Потом пользуюсь для создания VS'ок таким скриптом:

Код: Выделить всё

#!/bin/sh
#
#

HOME_DIR="/home/vservers"
TEMPLATE_DIR="template-gentoo"
READONLY_DIR="read-only"

VBUILD_BIN="/usr/lib/util-vserver/vbuild"

#################

ProgramName=${0##*/}
argc=$#

if [ $argc -ne 1 ]
then
        echo "require argument (name of new VServer)"
        exit 1
fi
newvs_name="$1"

date

echo -e "\t\tCreate '$newvs_name'\n\n-----\n"

data_dir="${HOME_DIR}/${TEMPLATE_DIR}"
newvs_dir="${HOME_DIR}/$newvs_name"

cd $data_dir
copy_dir1=`ls -1 $data_dir/${READONLY_DIR}/example `
copy_dir2=`find . -type d -maxdepth 1 | egrep -v "^\.$" | sed -e "s/^\.\///" | egrep -v "^${READONLY_DIR}$"`
copy_dir="$copy_dir1 $copy_dir2"

mkdir --verbose --parents $newvs_dir/${READONLY_DIR}

for idir in `echo -e $copy_dir2 | tr ' ' '\n'`; do
        echo -e "\tRsync '$idir'..."
        rsync --archive --one-file-system --hard-links ${data_dir}/$idir ${newvs_dir}
        #$VBUILD_BIN --stats --debug ${data_dir}/$idir ${newvs_dir}/$idir
done

for idir in `echo -e $copy_dir1 | tr ' ' '\n'`; do
        echo -e "\tRsync '$idir'..."
        rsync --archive --one-file-system --hard-links ${data_dir}/${READONLY_DIR}/example/$idir ${newvs_dir}
        #$VBUILD_BIN --stats --debug ${data_dir}/$idir ${newvs_dir}/$idir
done

chmod -v 1777 ${newvs_dir}/tmp
rm -rf ${newvs_dir}/tmp/*
rm -v ${newvs_dir}/README.txt


for idir in `find . -type l -maxdepth 1 | sed -e "s/^\.\///"`; do
        if [ ! -e ${newvs_dir}/$idir ]; then
                echo "Copy symlink '$idir'..."
                cp -vd ${data_dir}/$idir ${newvs_dir}/$idir
        fi
done

echo "$newvs_name" > $newvs_dir/etc/hostname

echo "done"
date

echo -e "For find broken symbolic link use command:\n\t( find / -type l | xargs file ) | grep 'broken symbolic link'"
echo -e "Attention! Require reboot /etc/init.d/rebootmgr (for possible halt at VServer) !!!"


После этого read-only маунтиться на все VS'ки bind'ом и настаёт вселенское счастье при обновлении (обновляешь только template и всё... ну и etc ручками везде поправляешь как надо - главное /etc/ld.so.cache не забывать на все VS'ки копировать) --- для этого в в /etc/vservers/<имя всервера>/scripts/prepre-start пишешь:

Код: Выделить всё

#!/bin/sh

mount -o ro --bind /home/vservers/template-gentoo/read-only  /home/vservers/<имя всервера>/read-only
mount -o ro --bind /usr/portage /home/vservers/<имя всервера>/usr/portage


И в /etc/vservers/<имя всервера>/scripts/postpost-stop всё соотв-о отмаунтить.

При старте ещё делаю (можно в /etc/conf.d/local.start):

Код: Выделить всё

mount -o ro --bind /usr/portage /home/vservers/template-gentoo/usr/portage
mount -t proc proc /home/vservers/template-gentoo/proc
# удаляем состояние указывающее что что-то запущено
rm -f /home/vservers/<имя всервера>/var/lib/init.d/started/*


> Кстати, хотелось бы ещё узнать, умеет ли VServer работать с алиасами на сетевых интерфейсах?

он с ними и работает (сам создаёт и использует в момент старта)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
deisler
Сообщения: 250

Re: VServer

Сообщение deisler »

Спасибо за информацию :)
Всех благ.
Спасибо сказали:
Аватара пользователя
deisler
Сообщения: 250

Re: VServer

Сообщение deisler »

Для xorader: Ты случайно util-vserver на системе собранной с флагом hardened не собирал? А то не собирается падла, хоть стой, хоть падай, вижу что не только у меня такие проблемы.

Код: Выделить всё

diet -Os i686-pc-linux-gnu-gcc -O2 -mcpu=i686 -fomit-frame-pointer -fforce-addr -pipe -std=c99 -Wall -pedantic -W -o tests/getctx tests/getctx.o  lib/libvserver.a
diet -Os i686-pc-linux-gnu-gcc -O2 -mcpu=i686 -fomit-frame-pointer -fforce-addr -pipe -std=c99 -Wall -pedantic -W -o tests/getinitpid tests/getinitpid.o  lib/libvserver.a
lib/libvserver.a(lib_libvserver_a-syscall_gettaskxid.o)(.text+0xc0): In function `vc_get_task_xid':
: undefined reference to `syscall'
lib/libvserver.a(lib_libvserver_a-checkversion.o)(.text+0x30): In function `utilvserver_checkCompatVersion':
: undefined reference to `syscall'
collect2: ld returned 1 exit status
make[2]: *** [tests/getctx] Ошибка 1
make[2]: *** Ожидание завершения заданий...
lib/libvserver.a(lib_libvserver_a-syscall_gettaskxid.o)(.text+0xc0): In function `vc_get_task_xid':
: undefined reference to `syscall'
lib/libvserver.a(lib_libvserver_a-syscall_getvxinfo.o)(.text+0x6b): In function `vc_get_vx_info':
: undefined reference to `syscall'
lib/libvserver.a(lib_libvserver_a-checkversion.o)(.text+0x30): In function `utilvserver_checkCompatVersion':
: undefined reference to `syscall'
collect2: ld returned 1 exit status
make[2]: *** [tests/getinitpid] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/util-vserver-0.30.208-r1/work/util-vserver-0.30.208'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/util-vserver-0.30.208-r1/work/util-vserver-0.30.208'
make: *** [all] Ошибка 2

!!! ERROR: sys-cluster/util-vserver-0.30.208-r1 failed.
!!! Function src_compile, Line 37, Exitcode 2
!!! compile failed
!!! If you need support, post the topmost build error, NOT this status message.
Всех благ.
Спасибо сказали:
Аватара пользователя
deisler
Сообщения: 250

Re: VServer

Сообщение deisler »

Пересобрал систему без флага hardened, util-vserver собрался, что ж, жаль что с hardened не собирается, придётся без него юзать.
Всех благ.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: VServer

Сообщение xorader »

угумс... с hardened'ом не пробовал - спасибо за предупреждённые грабли :)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали: