Re: lug-bg: resource testing
- Subject: Re: lug-bg: resource testing
- From: Skeleta <g_georgiev.sz@xxxxxx>
- Date: Mon, 06 Dec 2004 15:30:49 +0200
George Danchev wrote:
On Tuesday 30 November 2004 15:05, Skeleta wrote:
...
Вчера имах възможност да поблъскам малко resource testing програмки на една
тестова машина с rsbac (е и ограничения от pam има). Ами почувствах се като
петокласник пред строгая учительница ;-) (в крайна сметка реших да го отдам
на това, че testing програмите ми не са били сериозни)
...
ресурсите предоставяни от ядрото са известни и могат да бъдат контролирани ;-)
Да, така е, но този контрол в крайна сметка води до система, в която
заделяш на всеки потребител фиксиран ресурс, като сумата от заделените
ресурси трябва да е под 100% от общия ресурс на системата. Получава се
нещо като разделяне на реалния компютър на няколко VM (виртуални
машини), които са съществено по-слаби от реалния компютър. Това вече не
е UNIX в интуитивния смисъл на думата, а нещо по-ограничено.
UNIX-подобните системи (стандартните реализации) делят ресурсите на две
категории (root/user) и всичко дето е за юсерите, можеш да го изядеш
сам, като по този начин блокирваш всички останали и те заспиват.
Decretionary times ;-) Вече могат да се дефинират Roles (Role Based Access
Control), Types, Domains, и една камара други неща. (apt-get install
selinux-doc, чети policy.pdf, module.pdf (цитират се директно kernel
internals и по някое време започва да те притиска нещо като менгеме откъм
тила ;-) и ще ти се объркат представите за Unix ;-)
Има и промени по userspace - daemons, new utils.
И тази сложнотия може да предизвика още проблеми ...
...
Policy може да се променя on-the-fly.
Наистина можеш on-the-fly да пипаш лимитите, обаче трябва да има жив
администратор, който да седи и да наблюдава кво се случва, а това вече е
по-сложна и скъпа система, състояща се от човек+компютър. Моето мнение
е, че всяка по-сложна policy политика също ще може да се надхитри с
някаква бомба, само най-простата политика - на N усера да дадем по
1/N-та от ресурса (или подобна по простота) не може да се издъни.
...
това се оказа голям базик за rsbac ;-) просто този потребител си изчерпи
форковете, след което - форк resource temporary unavailable за него ;-),
другите потребители така и нищо не усетиха, че този се опитва да се
забавлява, освен админа с логовете.
Опитай да сложиш и някаква сметка в безкраен цикъл на простата програма
след fork-a. Ако нямаш лимит за cpu-ресурс, въпреки че броя процеси е
лимитиран, процесора ще работи на 90% натоварване за тъпата програма.
...
за тестване на мрежовите ресурси са толкова много нещата, че страх ме
набира ;-)
...
Дай пример за по-тънко. Директно говори в код, за който има свободни
компилатори и/или интерпретатори. Хич не се шегувам ;-)
Съжалявам, че не подкрепям приказките си с примери, но едната причина е,
че съм стар и мързелив, втората - нямам машина за експерименти в
момента. Все пак ви предлагам (на който му е интересно) да пробва
следните идеи: отваряне на максимално много listen sockets и генериране
на трафик към тях; препълване на syslog със съобщения; голям трафик на
TCP-порт към себе си, комбинирано с fork.
Една добре администрирана система ще се справи с горните идеи, но може
да се случи и пробив, ако не всичко е изпипано.
Извинете още веднъж, че давам много приказка без примери !
Не искам и като заяждане да ми тълкувате писмото, просто моят възглед е,
че е по-лесно по-прости неща да се правят и да се декомпозират задачите,
то затова е направен и Internet-а - на една машина да върви web-сървер,
на друга SQL и пр., като всеки хост да се администрира така, че да си
върши работата горе-долу добре. А който иска shell - да си го пуска на
собствената машина.
Поздрави !
--
Skelet
------ http://skelet.hit.bg/
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|