Компания Google открыла под лицензией GPLv2 код с реализацией технологии изоляции уровня ОС Lmctfy (Let Me Contain That For You), позволяющей запускать приложения в изолированных контейнерах с ограничением ресурсов. Несмотря на то, что проект является открытым вариантом используемого в Google стека изолированных контейнеров, Lmctfy пока находится в стадии активной разработки и не рекомендуется для промышленной эксплуатации.

Концептуально Lmctfy очень похож на технологии виртуализации OpenVZ и LXC и даже использует те же механизмы для осуществления изоляции, включая пространства имен и cgroups, позволяющие отделить процессы контейнера от основной системы и ограничить их в ресурсах. Контейнеры могут создаваться по инициативе запускаемого приложения и управляться приложением через специальный API, который предоставляется библиотекой liblmctfy. Для создания контейнеров и запуска в них приложений также можно использовать CLI-интерфейс. Внутри контейнера поддерживается создание дочерних субконтейнеров, что в конечном итоге позволяет сформировать иерархию контейнеров с наследованием доступных ресурсов.

Lmctfy не требует наложения на ядро Linux специальных патчей и может работать поверх стандартного ядра дистрибутива (протестирована работа с ядрами Linux 3.3 и 3.8). Для сборки требуется компилятор с поддержкой стандарта C++11 (например, g++-4.7), библиотеки protobuf и re2. Пока Lmctfy позволяет ограничивать только потребление памяти и процессора контейнером, но в будущем планируется реализация системы ограничений для ввода-вывода, сетевых ресурсов, а также возможность заморозки/разморозки контейнеров и их переноса на другую машину. Также планируется реализовать специальный фоновый процесс для обеспечения гарантированного качества сервиса (QoS), слежения за соблюдением выделенной квоты и адаптивного перераспределения ресурсов.



Источник: http://www.opennet.ru/opennews/art.shtml?num=38071