Компания Google открыла под лицензией GPLv2 код с реализацией технологии изоляции уровня ОС Lmctfy (https://github.com/google/lmctfy) (Let Me Contain That For You), позволяющей запускать приложения в изолированных контейнерах с ограничением ресурсов. Проект пока находится в стадии активной разработки и не рекомендуется для промышленной эксплуатации.Концептуально Lmctfy очень похож на технологии виртуализации OpenVZ и LXC и даже использует те же механизмы для осуществления изоляции, включая пространства имен и cgrups, позволяющие отделить процессы контейнера от основной системы и ограничить их в ресурсах. Пока Lmctfy позволяет ограничивать только потребление памяти и процессора контейнером, но в будущем планируется реализация системы ограничений для ввода-вывода, сетевых ресурсов, а также возможность заморозки/разморозки контейнеров и их переноса на другую машину.
Lmctfy не требует наложения на ядро Linux специальных патчей и может работать поверх стандартного ядра дистрибутива (протестирована работа с ядрами Linux 3.3 и 3.8). Для сборки требуется компилятор с поддержкой стандарта C++11 (например, g++-4.7), библиотеки protobuf и re2.
URL: https://news.ycombinator.com/item?id=6486991
Новость: http://www.opennet.ru/opennews/art.shtml?num=38071
Теперь любая пачка скриптов для cgroups и врапперов LXC будет называться "принципиально новой системой изолированных контейнеров"?
По коду похоже на юзерспейсный планировщик задачи (одной) :)
Только нахрена, когда есть setrlimit()
> По коду похоже на юзерспейсный планировщик задачи (одной) :)Нафейхоа, если контейнер все равно запихивается cpu cgroup?
>> По коду похоже на юзерспейсный планировщик задачи (одной) :)
> Нафейхоа, если контейнер все равно запихивается cpu cgroup?Так типа все "под контролем". А в случае попытки превысить лимиты
они сообщат куда нужно, и не дадут запрашиваемые ресурсы, можно
обмануть - сказав "А у нас столько нету"..., На вопросы get_free_pages(),
get_max_cpus(), get_max_priority(),... , вернуть треть.Ядро-то молча и без вопросов прибьёт этот процесс.
(ну мож в dmesg чё-нить напишет: "OOM: killed, oops, следующий..." )
> Ядро-то молча и без вопросов прибьёт этот процесс.
> (ну мож в dmesg чё-нить напишет: "OOM: killed, oops, следующий..." )А я думал, при достижении posix-лимита на память аллокаторы будут возвращать ENOMEM, а OOM используется, когда этих лимитов не было изначально.
>> Ядро-то молча и без вопросов прибьёт этот процесс.
>> (ну мож в dmesg чё-нить напишет: "OOM: killed, oops, следующий..." )
> А я думал, при достижении posix-лимита на память аллокаторы будут возвращать ENOMEM,
> а OOM используется, когда этих лимитов не было изначально.Если программа по-феншую написана, но можно ведь нагадить, специально иль случайно.
> Если программа по-феншую написана, но можно ведь нагадить, специально иль случайно.Ну так если англичанка гадит - это уже проблемы англичанки, не?
> Если программа по-феншую написана, но можно ведь нагадить, специально иль случайно.Про феншуй больший, чем проверять значение от malloc, даже слышно мало где. А даже с проверкой можно ничего не понять, с дефолтным значением vm.overcommit_memory.
И вон Qt 4.8.3 (возможно и более ранние) уже не работает с vm.overcommit_memory=2, сегфолтится. Конкретно jit в qtwebkit вроде причина.
> И вон Qt 4.8.3 (возможно и более ранние) уже не работает с
> vm.overcommit_memory=2, сегфолтится. Конкретно jit в qtwebkit вроде причина.Глубоко в QT не лазил, накой ему Overcommit нужно?
> Глубоко в QT не лазил, накой ему Overcommit нужно?Кроме того, что написал, точнее не скажу. Вот:
https://bugzilla.redhat.com/show_bug.cgi?id=853587
https://bugs.kde.org/show_bug.cgi?id=309889
https://bugzilla.redhat.com/show_bug.cgi?id=877711Лично мне это кажется полным mess'ом. Но внутренностей не знаю.
> обмануть - сказав "А у нас столько нету"..., На вопросы get_free_pages(),
int open(const char *pathname, int flags, mode_t mode)
{
printf("Profram attempted to open the file w/mode: %s\n", pathname);
return -1;
}
...
LD_PRELOAD=/some/path/to/this/cool/lib.so
Как видишь, можно даже соврать что мы с файлами работать почти не умеем. После такого демарша софт довольно колоритно обламывается в массе своей :)
> Как видишь, можно даже ...Это и есть суть контейнеров-изоляторов
> Это и есть суть контейнеров-изоляторовНу там все поцивильнее сделано и без хаков. А это так, если сильно хочется кого-то на..ть, здесь и сейчас :).
Qubes взлета боятся, не иначе =)
а это все - полумеры и костыли :]
и по менеджменту и по секьюрности и по масштабируемости.
> Qubes взлета боятся, не иначе =)
> а это все - полумеры и костыли :]
> и по менеджменту и по секьюрности и по масштабируемости.Есть еще более "страшные" вещи!
www.opennet.ru/opennews/art.shtml?num=38074
> Есть еще более "страшные" вещи!
> www.opennet.ru/opennews/art.shtml?num=38074Ваша попытка напугать почтенную публику напомнила мне бородатый анекдот:
Грузинский театр. Спектакль "Приключения Буратино". На диване лежит сам Буратино - волосатая грудь, нос на полметра... Стук в дверь.
- Кто там?
- Эта я - Карабас Барабас!
- Вах, баюс баюс!
не читал, но осуждаю. Есть же lxc
> не читал, но осуждаю. Есть же lxcОни обнаружили в нем фатальный недостаток... :)
>> не читал, но осуждаю. Есть же lxc
> Они обнаружили в нем фатальный недостаток... :)Это который "так и не доделан юзерспейс"?
> Это который "так и не доделан юзерспейс"?Который "это написали не они". Ну то-есть подход нормальный: скооперироваться и доделать чего не хватало. Подход гугля: заявить что все это трэш и сделать свой трэш. Который ничем не лучше, кроме того что свое - не пахнет.
Похожая история вышла с snappy, получившей непропорционально дофига пиара, при том что зачем-то написана на кривом, высосанном из пальца C++ и никакими особыми свойствами не страдает. В результате более удачный LZ4 писаный на голом си таки свое все-равно взял как видим, чисто деловыми качествми. Но сначала все носились с более пропиаренным snappy. Тут какой-то такой же велосипедизм: а чем эти обрубки которые нишиша не умеют лучше остальных?
> Тут какой-то такой же велосипедизм: а чем эти обрубки которые нишиша не умеют лучше остальных?Истинно® свободной™ лицензией© же.
угу, видов "не контроллируется/приадлежит нами" и "лишен анального зонда АНБ/Гугля/Амазона/Акамаи/Netops.
> угу, видов "не контроллируется/приадлежит нами" и "лишен анального зонда АНБ/Гугля/Амазона/Акамаи/Netops.Не надо предполагать мировой заговор там, где все объясняется банальной любовью к велосипедостроению.
"Не надо предполагать мировой заговор там, где все объясняется банальной любовью к велосипедостроению."спецслужбы всегда использовали приемчик "под дурачка" в различных вариациях. Я уже в пятый раз в комментариях к различным постам вижу эти слова (причем в точности).
Суслик есть! И можете навесить на меня вялотекущую шизофрению.
Человеку дан дар предполагать (выводить логически) в отличие от животных и кто-то очень хочет лишить (осмеять) этот дар, превратив человека в животное.
"спецслужбы всегда использовали приемчик "под дурачка" в различных вариациях."В подтверждение http://www.xakep.ru/post/61360/
На любую шутку из некоторых уст найдутся дураки-исполнители.
> На любую шутку из некоторых уст найдутся дураки-исполнители.Тут давеча Крабэ назвал профессора из ВШЭ "придурком". Ждем, когда дураки-исполнители посадят профессора в психушку и начнут колоть галоперидол.
> Ждем, когда дураки-исполнители посадят профессора в психушку и начнут колоть галоперидол.Тем временем можете поклоняться таланту чубайсов с грефами, умники зрячие.
Как можно! Мы только Крабу поклоняемся!// Вообще-то, речь шла не о том, кто там на самом деле придурок, а об элементарном воспитании, которое отличает цивилизованного человека от колхозника.
> // Вообще-то, речь шла не о том, кто там на самом деле
> придурок, а об элементарном воспитании, которое отличает
> цивилизованного человека от колхозника.Судя по Вашим жалким попыткам умничать, воспитаны Вы хуже любого из колхозников, с которыми мне до сих пор доводилось иметь дело.
Кругом марш.
> Суслик есть! И можете навесить на меня вялотекущую шизофрению.Я не психиатр.
Но могу сказать, что с психикой у вас определенно проблемы. Вы утверждаете, что выкатывание кривой джуниорской поделки, простой, как две копейки, про которую через забудут пару месяцев даже сами авторы - это секретный ход тайного мирового правительства с целью слежки лично за вами.
Наверное, вы еще на кровать исключительно с разбега запрыгиваете, потому что ваш разум подсказывает, что под кроватью сидит взвод агентов АНБ и пытается схватить вас за ногу.
На самом деле причина эскалации параноидальной движухи довольно проста. Сноуден просто к случаю пришелся.На самом верху идет подготовка к законопроекту о полном запрете не сертифицированных средств защиты информации. Подаваться это будет под соусом того, что Tor/I2P/IPSec/OpenVPN/HTTPS - созданы исключительно в АНБ для слежки за гражданами России.
В результате, средства шифрования будут фактически приравнены к боевому оружию - стоят очень дорого, требуют кучу документов и выдаются только определенным организациям (банкам и военным).
Вот так параноиков поимеют с их же помощью.
В отношение открытых средств шифрования это извращенная логика, которую можно продавить только волевым путем. И Сноуден здесь не при чем. А сертификат уже сейчас нужен для гостайны.
> В отношение открытых средств шифрования это извращенная логика, которую можно продавить только волевым путем.С "детской порнографией" логика была не менее извращенная, тем не менее, пипл схавал.
Я вам по секрету скажу - почти 95% населения с логикой не дружит. Ими очень легко управлять, дергая за эмоции. Напугал педофилами или агентами АНБ - и делай с ними что хочешь.
>> Суслик есть! И можете навесить на меня вялотекущую шизофрению.
> Я не психиатр.О чем тогда речь?
> Но могу сказать, что с психикой у вас определенно проблемы.
Я не экстрасенс, но я вижу что вы определенно фантазируете
> Вы утверждаете,
> что выкатывание кривой джуниорской поделки, простой, как две копейки, про которую
> через забудут пару месяцев даже сами авторы - это секретный ход
> тайного мирового правительства с целью слежки лично за вами.Где я говорил что лично за мной?
> Наверное, вы еще на кровать исключительно с разбега запрыгиваете, потому что ваш
> разум подсказывает, что под кроватью сидит взвод агентов АНБ и пытается
> схватить вас за ногу.Да вы, батенька, знаток.
>> угу, видов "не контроллируется/приадлежит нами" и "лишен анального зонда АНБ/Гугля/Амазона/Акамаи/Netops.
> Не надо предполагать мировой заговор там, где все объясняется банальной любовью к
> велосипедостроению.Кто-то выложил это, анонсировал, не побоявшись насмешек насчет поделия. А вдруг!
т.е приложение само хочет поместит себя в контейнер, хочет не поместит? Может также само "открыть" свой контейнер? Это так похоже на империю добра... Мы подумаем за пользователя но не уступим своей власти над ним. При этом будет промоушен, что приложения гугла исполняются в контейнере и пользователю не надо беспокоятся.
На самом деле все гораздо проще.
Группа гуглевых разработчиков для своих нужд напилила костылесипед, и теперь они решили это выложить жастфофан.
> На самом деле все гораздо проще.
> Группа гуглевых разработчиков для своих нужд напилила костылесипед, и теперь они решили
> это выложить жастфофан.Если бы это никому не было нужно то и не выложили бы...
> Если бы это никому не было нужно то и не выложили бы...Никому, кроме "разработчиков". Да и это ненадолго.
> На самом деле все гораздо проще.
> Группа гуглевых разработчиков для своих нужд напилила костылесипед, и теперь они решили
> это выложить жастфофан.обсуждается не реализация, а идея.
> обсуждается не реализация, а идея.Вот это поворот!
> но в будущем планируется реализация системы ограничений для ввода-вывода, сетевых ресурсов, а также возможность заморозки/разморозки контейнеров и их переноса на другую машинуАга, как обычно.
Зачем нужен сабж, когда есть lxc?
Как я понял Google начал открытие механизмов App Engine. Тогда вся соль в обеспечении QoS. Т.е. не просто ограничить, а предоставить контейнеру гарантированные ресурсы.
> Как я понял Google начал открытие механизмов App Engine.Судя по той недоделанной поделке, которую нам сейчас выкатили - это отнюдь не App Engine.
Тут же больше половины фич не готово.
Docker лучше
Чем?
Чем Lmctfy
> Let Me Contain That For YouТонко, молодцы.
скорее "Let me Control That for You" :)
> скорее "Let me Control That for You" :)Let Me Upload That To Our Servers Instead Of You.
> скорее "Let me Control That for You" :)Let Me Paranoia For You.