Jail limits under FREEBSD-CURRENT
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Jail limits under FREEBSD-CURRENT
Привет.
Написал патч для лимитов на jail-ы. Патч для FreeBSD-CURRENT.
Ограничиваем CPU, память, число процессов, число файловых дескрипторов.
Лимиты можно менять во время работы jail-а, без перезагрузки.
Скачать можно тут
http://kostjn.spb.ru/patch-jail-limit-8CURRENT.tar.gz
В README описано как пользоваться.
Буду благдарен, если найдете время для тестирования.
Написал патч для лимитов на jail-ы. Патч для FreeBSD-CURRENT.
Ограничиваем CPU, память, число процессов, число файловых дескрипторов.
Лимиты можно менять во время работы jail-а, без перезагрузки.
Скачать можно тут
http://kostjn.spb.ru/patch-jail-limit-8CURRENT.tar.gz
В README описано как пользоваться.
Буду благдарен, если найдете время для тестирования.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
Это Вы написали?
Почетно.

Почетно.
Z301171463546 - можно пожертвовать мне денег
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
а почему для CURRENT, а не для STABLE 7.1?
http://forum.lissyara.su/viewtopic.php?f=16&t=16617
как пропатчить?
как работает этот пачт не подскажешь?kostjn писал(а): Буду благдарен, если найдете время для тестирования.
http://forum.lissyara.su/viewtopic.php?f=16&t=16617
как пропатчить?
-
- проходил мимо
Re: Jail limits under FREEBSD-CURRENT
Да. Пока нет. Когда в основное дерево примут будет здоровоzingel писал(а):Это Вы написали?![]()
Почетно.

Нужно тестировать и еще раз тестировать.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
а ты его постаивл? нормально поставилось?
за какое время исхродники 8.0 CURRENT? когда ты обновлял?
куда рапорты ошибок отсылать? ну что типо все работает чтобы они его в продакшен поставили...
за какое время исхродники 8.0 CURRENT? когда ты обновлял?
куда рапорты ошибок отсылать? ну что типо все работает чтобы они его в продакшен поставили...
Последний раз редактировалось ProFTP 2009-05-20 19:40:45, всего редактировалось 2 раза.
-
- проходил мимо
Re: Jail limits under FREEBSD-CURRENT
Потому что комиты идут в CURRENT. Кроме этого разработчики в CURRENT серьезно перепилили системные вызовы связанные с jail-ами.ProFTP писал(а):а почему для CURRENT, а не для STABLE 7.1?
как работает этот пачт не подскажешь?kostjn писал(а): Буду благдарен, если найдете время для тестирования.
http://forum.lissyara.su/viewtopic.php?f=16&t=16617
как пропатчить?
Можно переделать под STABLE, но в этом смысла нет. 8 выйдет уже скоро.
Это старые патчи. Все они базируются на этом http://wiki.freebsd.org/JailResourceLimits.
Работают только с BSD планировщиком, память реально не ограничивают.
-
- проходил мимо
Re: Jail limits under FREEBSD-CURRENT
Да конечно. Могу ядро рабочее прислатьProFTP писал(а):а ты его постаивл? нормально поставилось?
за какое время исхродники 8.0 CURRENT? когда ты обновлял?
куда рапорты ошибок отсылать? ну что типо все работает чтобы они его в продакшен поставили...

Обновлялся 2 часа назад

Все ошибки и проблемы пока сюда. После тестирования сделаем pr.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
куда рапорты ошибок отсылать? ну что типо все работает чтобы они его в продакшен поставили...
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Если все ок, можно подписаться на freebsd-jail http://lists.freebsd.org/mailman/listinfo/freebsd-jail, и туда написатьProFTP писал(а):куда рапорты ошибок отсылать? ну что типо все работает чтобы они его в продакшен поставили...

- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Jail limits under FREEBSD-CURRENT
Фигасе! Интересно.
А в листы уже писали (описали архитектуру предлагаемого решения)?
---
А - увидил. Пока в листах ответа нет...
---
Надо будет потестить (есть у меня на работе CURRENT для таких вещей)

---
А - увидил. Пока в листах ответа нет...
---
Надо будет потестить (есть у меня на работе CURRENT для таких вещей)

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
Константин, вы зря в копию не поставили CURRENT рассылку.
по джайлам не многие читают, а вот куррент - куда больше народу читает. в т.ч. и разаработчики
по джайлам не многие читают, а вот куррент - куда больше народу читает. в т.ч. и разаработчики
Убей их всех! Бог потом рассортирует...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Jail limits under FREEBSD-CURRENT
На CURRENT от 05.05.2009 собрать не вышло. Счас накачусь до самого последнего и попробую еще раз. Ошибка такая:
Код: Выделить всё
===> usr.bin/ipcrm (all)
cc -O2 -pipe -I/usr/src/usr.bin/ipcrm/../ipcs -std=gnu99 -fstack-protector -c
/usr/src/usr.bin/ipcrm/ipcrm.c
/usr/src/usr.bin/ipcrm/ipcrm.c: In function 'msgrm':
/usr/src/usr.bin/ipcrm/ipcrm.c:93: warning: implicit declaration of function 'ms
gctl'
/usr/src/usr.bin/ipcrm/ipcrm.c:108: warning: implicit declaration of function 'm
sgget'
/usr/src/usr.bin/ipcrm/ipcrm.c: In function 'shmrm':
/usr/src/usr.bin/ipcrm/ipcrm.c:134: warning: implicit declaration of function 's
hmctl'
/usr/src/usr.bin/ipcrm/ipcrm.c:149: warning: implicit declaration of function 's
hmget'
/usr/src/usr.bin/ipcrm/ipcrm.c: In function 'semrm':
/usr/src/usr.bin/ipcrm/ipcrm.c:176: warning: implicit declaration of function 's
emctl'
/usr/src/usr.bin/ipcrm/ipcrm.c:191: warning: implicit declaration of function 's
emget'
cc -O2 -pipe -I/usr/src/usr.bin/ipcrm/../ipcs -std=gnu99 -fstack-protector -c
/usr/src/usr.bin/ipcrm/../ipcs/ipc.c
cc -O2 -pipe -I/usr/src/usr.bin/ipcrm/../ipcs -std=gnu99 -fstack-protector -o
ipcrm ipcrm.o ipc.o -lkvm
gzip -cn /usr/src/usr.bin/ipcrm/ipcrm.1 > ipcrm.1.gz
===> usr.bin/ipcs (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/ipcs/ipcs.c
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/ipcs/ipc.c
cc -O2 -pipe -std=gnu99 -fstack-protector -o ipcs ipcs.o ipc.o -lkvm
gzip -cn /usr/src/usr.bin/ipcs/ipcs.1 > ipcs.1.gz
===> usr.bin/join (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/join/join.c
cc -O2 -pipe -std=gnu99 -fstack-protector -o join join.o
gzip -cn /usr/src/usr.bin/join/join.1 > join.1.gz
===> usr.bin/jot (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/jot/jot.c
cc -O2 -pipe -std=gnu99 -fstack-protector -o jot jot.o
gzip -cn /usr/src/usr.bin/jot/jot.1 > jot.1.gz
===> usr.bin/kdump (all)
cc -O2 -pipe -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr
/src/usr.bin/kdump/../.. -std=gnu99 -fstack-protector -c /usr/src/usr.bin/kdump
/kdump.c
cc -O2 -pipe -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr
/src/usr.bin/kdump/../.. -std=gnu99 -fstack-protector -c ioctl.c
cc -O2 -pipe -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr
/src/usr.bin/kdump/../.. -std=gnu99 -fstack-protector -c kdump_subr.c
cc -O2 -pipe -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr
/src/usr.bin/kdump/../.. -std=gnu99 -fstack-protector -c /usr/src/usr.bin/kdump
/../ktrace/subr.c
cc -O2 -pipe -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr
/src/usr.bin/kdump/../.. -std=gnu99 -fstack-protector -o kdump kdump.o ioctl.o
kdump_subr.o subr.o
gzip -cn /usr/src/usr.bin/kdump/kdump.1 > kdump.1.gz
===> usr.bin/keylogin (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/keylogin/keylogi
n.c
/usr/src/usr.bin/keylogin/keylogin.c: In function 'main':
/usr/src/usr.bin/keylogin/keylogin.c:76: warning: implicit declaration of functi
on 'key_setnet'
cc -O2 -pipe -std=gnu99 -fstack-protector -o keylogin keylogin.o -lrpcsvc
gzip -cn /usr/src/usr.bin/keylogin/keylogin.1 > keylogin.1.gz
===> usr.bin/keylogout (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/keylogout/keylog
out.c
cc -O2 -pipe -std=gnu99 -fstack-protector -o keylogout keylogout.o
gzip -cn /usr/src/usr.bin/keylogout/keylogout.1 > keylogout.1.gz
===> usr.bin/killall (all)
cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/killall/killall.
c
In file included from /usr/src/usr.bin/killall/killall.c:32:
/usr/obj/usr/src/tmp/usr/include/sys/jail.h:47: error: 'RLIM_NLIMITS' undeclared
here (not in a function)
*** Error code 1
Stop in /usr/src/usr.bin/killall.
*** Error code 1
Stop in /usr/src/usr.bin.
*** Error code 1
Stop in /usr/src.
*** Error code 1
Stop in /usr/src.
*** Error code 1
Stop in /usr/src.
[root@hius /usr/src]#
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- Dorlas
- сержант
- Сообщения: 257
- Зарегистрирован: 2008-07-18 22:17:49
Re: Jail limits under FREEBSD-CURRENT
Отличная новость - сам Jail-ы использую уже где-то полгода на нескольких серверах - мысль о ограничении ресурсов давно лежит у меня в свободном поиске 
Постараюсь помощь в тестировании - сейчас сливаю src для CURRENT-а, потом запущу сборку.
Тестировать скорее всего буду в VmWare (т.к. под рукой нет свободной машинки) - но думаю никакой разницы не будет.

Постараюсь помощь в тестировании - сейчас сливаю src для CURRENT-а, потом запущу сборку.
Тестировать скорее всего буду в VmWare (т.к. под рукой нет свободной машинки) - но думаю никакой разницы не будет.
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Патч наложился нормально?terminus писал(а):На CURRENT от 05.05.2009 собрать не вышло. Счас накачусь до самого последнего и попробую еще раз. Ошибка такая:
Код: Выделить всё
===> usr.bin/ipcrm (all) ===> usr.bin/killall (all) cc -O2 -pipe -std=gnu99 -fstack-protector -c /usr/src/usr.bin/killall/killall. c In file included from /usr/src/usr.bin/killall/killall.c:32: /usr/obj/usr/src/tmp/usr/include/sys/jail.h:47: error: 'RLIM_NLIMITS' undeclared here (not in a function) *** Error code 1 Stop in /usr/src/usr.bin/killall. *** Error code 1
Проблема в разнице хедер файла jail.h в /usr/include/sys/ /usr/src/sys/sys/jail.h видимо.
Скопируйте файл из /usr/src/sys/sys/jail.h в /usr/include/sys/. Очистите /usr/obj и попробуйте собрать заново.
- Dorlas
- сержант
- Сообщения: 257
- Зарегистрирован: 2008-07-18 22:17:49
Re: Jail limits under FREEBSD-CURRENT
Я сейчас тоже запустил сборку на сервере - система FreeBSD 7.2-STABLE. У меня файлы jail.h тоже отличаются...
Получается, с 7.2 до CURRENT так просто не прыгнуть? Или это из-за патча?
Сейчас поставил на закачку последний снапшот с CURRENT:
ftp://ftp.freebsd.org/pub/FreeBSD/snaps ... -disc1.iso
думаю, пригодится
Получается, с 7.2 до CURRENT так просто не прыгнуть? Или это из-за патча?
Сейчас поставил на закачку последний снапшот с CURRENT:
ftp://ftp.freebsd.org/pub/FreeBSD/snaps ... -disc1.iso
думаю, пригодится

- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Jail limits under FREEBSD-CURRENT
На сегодняшнем CURRENT все скомпилилось как надо. Счас начну мучать.kostjn писал(а):Патч наложился нормально?
Проблема в разнице хедер файла jail.h в /usr/include/sys/ /usr/src/sys/sys/jail.h видимо.
Скопируйте файл из /usr/src/sys/sys/jail.h в /usr/include/sys/. Очистите /usr/obj и попробуйте собрать заново.
Спасибо.

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Не собирается из за патчаDorlas писал(а):Я сейчас тоже запустил сборку на сервере - система FreeBSD 7.2-STABLE. У меня файлы jail.h тоже отличаются...
Получается, с 7.2 до CURRENT так просто не прыгнуть? Или это из-за патча?
Сейчас поставил на закачку последний снапшот с CURRENT:
ftp://ftp.freebsd.org/pub/FreeBSD/snaps ... -disc1.iso
думаю, пригодится

Код: Выделить всё
cp /usr/src/sys/sys/filedesc.h /usr/include/sys/filedesc.h
cp /usr/src/sys/sys/jail.h /usr/include/sys/jail.h
cp /usr/src/sys/sys/kernel.h /usr/include/sys/kernel.h
cp /usr/src/sys/sys/ktr.h /usr/include/sys/ktr.h
cp /usr/src/sys/sys/proc.h /usr/include/sys/proc.h
- Dorlas
- сержант
- Сообщения: 257
- Зарегистрирован: 2008-07-18 22:17:49
Re: Jail limits under FREEBSD-CURRENT
Пока собирается мир и качается ISO-шка, хочется задать пару вопросов - уж больно любопытно:
1) Сколько времени ушло у Вас, чтобы написать эти патчи?
2) Ранее для FreeBSD уже что-то писали? Я в восторге - но совершенно не представляю, как люди до такого доходят
1) Сколько времени ушло у Вас, чтобы написать эти патчи?
2) Ранее для FreeBSD уже что-то писали? Я в восторге - но совершенно не представляю, как люди до такого доходят

-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Около месяцаDorlas писал(а):Пока собирается мир и качается ISO-шка, хочется задать пару вопросов - уж больно любопытно:
1) Сколько времени ушло у Вас, чтобы написать эти патчи?
2) Ранее для FreeBSD уже что-то писали? Я в восторге - но совершенно не представляю, как люди до такого доходят


Неа не писал.
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Jail limits under FREEBSD-CURRENT
рацпредложение - объядинить jget+jset не думали?
просто ключ добавить что происходит - get или set
==========
собираю на amd64
завтра узнаю, собралось или нет
просто ключ добавить что происходит - get или set

==========
собираю на amd64
завтра узнаю, собралось или нет

Убей их всех! Бог потом рассортирует...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Jail limits under FREEBSD-CURRENT
OFFTOPIC
Товарищи, есть вопрос немного не по теме.
Собрал я значит сегодняшний CURRENT с патчами товарища kostjn, поставил все как надо, и решил из того же /usr/obj поставить и джайлы. То есть после установки системы я /usr/obj не удалял и /usr/src не чистил. Значит делаю все по хендбуку:
А он кажется начал по новой пересобирать мир (уже час make world DESTDIR= выполняет). Вопрос - я что-то проаустил (в карренте теперь по-другому джайлы ставится), или это какой-то косячек карента? Или это у меня с памятью какая беда (вроде недавно ставил джайлы в 7.х используя готовый /usr/obj и кажется там быстрее было)
нипаняятна...
---
не - меня от жары глючит... все правильно - ведь make world выполняется же...

Товарищи, есть вопрос немного не по теме.
Собрал я значит сегодняшний CURRENT с патчами товарища kostjn, поставил все как надо, и решил из того же /usr/obj поставить и джайлы. То есть после установки системы я /usr/obj не удалял и /usr/src не чистил. Значит делаю все по хендбуку:
Код: Выделить всё
# setenv D /here/is/the/jail
# mkdir -p $D
# cd /usr/src
# make world DESTDIR=$D
# cd etc/ [1]
# make distribution DESTDIR=$D
# mount -t devfs devfs $D/dev
нипаняятна...

---
не - меня от жары глючит... все правильно - ведь make world выполняется же...


Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Эти программки были написаны только для теста, на коленке. Разумеется нужно придумать простой и логичный интерфейс для управления jail-ами.lissyara писал(а):рацпредложение - объядинить jget+jset не думали?
просто ключ добавить что происходит - get или set![]()
Как Вам видится схема управления jail-ами?
Насколько удачной(неудачной) кажется идея использовать классы регистрации пользователей в login.conf?
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-05-20 20:14:02
Re: Jail limits under FREEBSD-CURRENT
Если придется пересобирать ядро не удаляйте /usr/obj, и используйтеterminus писал(а): не - меня от жары глючит... все правильно - ведь make world выполняется же...![]()
Код: Выделить всё
make buildkernek KERNCONF=BOOK KERNFAST=1
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Jail limits under FREEBSD-CURRENT
Не собирается из за патча . Суть в том, что в /usr/include старые хедеры. Эти хедеры в /usr/src/sys/sys/ патчатся. Поэтому если не собирается мир, то нужно после команды patch сделать
бррcp /usr/src/sys/sys/filedesc.h /usr/include/sys/filedesc.h
cp /usr/src/sys/sys/jail.h /usr/include/sys/jail.h
cp /usr/src/sys/sys/kernel.h /usr/include/sys/kernel.h
cp /usr/src/sys/sys/ktr.h /usr/include/sys/ktr.h
cp /usr/src/sys/sys/proc.h /usr/include/sys/proc.h
чтото не то и не так
когда собираеться мир /usr/include/* вообще не затрагиваеться
мир собираеться и использует токо /usr/src/*
так что пересмотрите что то не то или не так делаете или сделали
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Jail limits under FREEBSD-CURRENT
С точки зрения админа - это не очень удобно. Для именения лимитов надо сначала добавить класс с соответвующими параметрами и тольео мотом прыгать на него... Наверняка должна быть возможность создавать классы динамически, но на этот вопрос, наверно, только в листах ответят...kostjn писал(а):Как Вам видится схема управления jail-ами?
Насколько удачной(неудачной) кажется идея использовать классы регистрации пользователей в login.conf?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.