[devel] небольшой анонс , или снова про vserver

Peter V. Saveliev =?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Вт Авг 16 08:02:25 MSD 2005


...

Закончил очередную сборку RAD, которую можно показать кому-либо ещё,
кроме меня. Фишки:

- перетряхнул поиск зависимостей в конфиге (ахтунг: не до конца)
- бала-бала, долго рассказывать
- главное-то! Прикрутил, наконец, vserver для работы с хостингом.

Краткое содержание предыдущих серий: небольшое описание системы можно
найти на http://radlinux.org/ . До сих пор vserver исользовал для управления
штатными сервисами. Теперь он условно-нормально работает с виртуальным
хостингом.

Пример конфига:

! 8<----------------------------------
! общие ограничения для всех серверов
!
resource-list hosting
	limit nproc 128
	sheduler hard 10%
!
! частные ограничения для каждого сервера
!
resource-list apache1
	address 192.168.1.2/24
	address 192.168.1.3/24
	address 192.168.1.4/24
!
resource-list apache2
	address 192.168.1.5/24
!
! сами сервера
!
virtual apache1
	resource-list hosting
	resource-list apache1
	size 1G
!
virtual apache2
	resource-list hosting
	resource-list apache2
	size 4G
!
! 8<----------------------------------

Итого, с такого конфига мы будем иметь два сервера, забинденные каждый к
своему ip и имеющие ограничения по 128 процессов и <= ~10% cpu на сервер.
Под первый сервер с диска(ов) отрежут 1Гб, под второй -- 4Гб.

...

Дисковая подсистема окончательно перешла на lvm over raid1. Минимально
нужен один диск, максимально -- сколько влезет. При втыкновении нового
диска, скрипт подыщет подходящий по размеру degraded raid1 и приаттачит
туда, иначе создаст новый degraded array и расширит volume group. Это делает
скрипт disk register и он же при вызове install system. Ахтунг! Скрипт disk
unregister ещё не закончен :))) Остальное: не фтыкать вперемежку scsi и ide.
Также не фтыкать два ide с одной шины. Работать будет, но неэффективно.
Своп по умолчанию создаётся на 1G, раздел для бэкапов -- 128М. Под
виртуальники нарезается по мере необходимости.

...

Инсталляция теперь лежит отдельной веткой в шелле. А именно, вот примеры:

! установить систему на хд, взяв за образец рамдиск
install system

! то же, но имидж скачать
install system from ftp://radlinux.org/public/install.tar.gz

! инсталлировать виртуальный сервер
! Ахтунг раз! он должен быть _уже_ прописан в конфиге
! Ахтунг два! директории в тарболе должны лежать не абы как, а от корня, как
! если бы сделали команду cd / && tar -zcvf vserver.tar.gz *
install virtual name apache1 from ftp://radlinux.org/public/vimages/vserver.tar.gz

...

Смотреть на запущенные контексты можно с помощью show xid *:

# show xid running 
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
0       54  95.7M   4.4K  10m16s32   0m39s40   1h10m43 root server
49152    1   1.8M   475    0m00s00   0m00s10   1h09m06 ntp-default
49153    1   1.9M   127    0m00s00   0m00s00   1h09m06 httpd-default
49156    5  43.9M   1.4K   0m00s30   0m00s70  52m14s56 netflow-default
49161   10  31.3M   3.1K   0m00s32   0m00s43   0m04s19 apache2.hst.ru

# show xid processes 49161

        xid=49161       apache2.hst.ru
 7192 root        364 S   /usr/local/sbin/init -i /dev/initctl -t /etc/inittab 
 7266 root        660 S   /usr/sbin/crond -l 2.5 
 7282 root       1404 S   /usr/sbin/sshd 
 7300 root       1656 S   /usr/sbin/httpd 
 7301 apache     1660 S   /usr/sbin/httpd 
 7302 apache     1660 S   /usr/sbin/httpd 
 7303 apache     1660 S   /usr/sbin/httpd 
 7304 apache     1660 S   /usr/sbin/httpd 
 7305 apache     1660 S   /usr/sbin/httpd 
 7310 root        336 S   /sbin/minilogd 

попадать в контекст нужно командой virtual:
# virtual apache2.hst.ru
sh-2.05b#

...

Собственно, чего я тут соловьём разливаюсь. Было бы здорово, если бы кто-н.ть
помог с тестированием и/или документированием наработанного. Коего с весны
скопилось немало.

Образы виртуальников можно брать у Майка Шигорина в

ftp://ftp.altlinux.ru/pub/people/mike/

или на ftp://radlinux.org/public/vimages/ . За образ Майку отдельное спасибо. Как
всегда, ахтунг: нужно, чтобы в /etc/inittab архива для vserver в записи si не стоял
rc.sysinit (как по умолчанию). Разумно там писать /etc/rc.d/scripts/cleanup,
возможно, Майк это уже прописал. Поскольку система суёт виртуальникам
свой собственный init.

ЗЫ: образ или архив для install можно взять с ftp://radlinux.org/public/
ЗЗЫ: по поводу любой помощи в настройке или т.п. -- можно стучаться. Нужно
тестировать это всё, а у меня уже руки кончаются, по колени о клавиатуру
сточены.

-- 
Peter V. Saveliev


Подробная информация о списке рассылки Devel