Виртуализация на уровне ОС. Теория и практика LXC::Журнал СА 4.2014
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
1001 и 1 книга  
19.03.2018г.
Просмотров: 6828
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7359
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4609
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3159
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3964
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3966
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6468
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3311
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3591
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7449
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10814
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12524
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14231
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9263
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7210
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5518
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4749
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3567
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3275
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3506
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3160
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Виртуализация на уровне ОС. Теория и практика LXC

Архив номеров / 2014 / Выпуск №4 (137) / Виртуализация на уровне ОС. Теория и практика LXC

Рубрика: Администрирование /  Виртуализация

Александр Руденко АЛЕКСАНДР РУДЕНКО, администратор информационной безопасности, ЗАО «Молдавская ГРЭС», a.rudikk@gmail.com

Виртуализация на уровне ОС
Теория и практика LXC

Рассмотрим технические особенности широко обсуждаемой платформы Linux Containers. Выполним ее установку и настройку и обсудим проблемы и сильные стороны платформы

В этой и в следующей статьях хочется провести детальный технический разбор существующих сегодня технологий и продуктов для виртуализации на уровне ОС. Сегодня речь пойдет о наборе компонентов и функций ядра Linux под названием LXC (Linux Containers). Следующая работа будет посвящена более продвинутому и функциональному продукту под названием OpenVZ. В этих материалах постараемся, насколько это возможно, раскрыть их технические особенности, дать примеры установки и настройки. Но вначале, пожалуй, общие для всех теоретические основы.

Виртуализация на уровне ОС

Это наименее требовательная к ресурсам технология виртуализации из существующих сегодня. В отличие от уже привычного варианта, когда виртуализируется оборудование, а не только среда, тут нет гипервизора и не производится эмуляция аппаратного обеспечения. Все экземпляры ОС – контейнеры, используют единое ядро хост-системы и напрямую обращаются к одному и тому же физическому оборудованию. За счет отсутствия слоя виртуализации достигаются максимальная производительность и наивысшая плотность виртуальных серверов на одном физическом. Данная техника предоставляется только в открытых ОС – таких, как Linux (LXC, OpenVZ), FreeBSD (Jail), Solaris (Zones), т.е. этим может воспользоваться каждый, но нет поддержки закрытых ОС (Windows, MacOS). Также существует ряд проблем безопасности, которым будет посвящен отдельный раздел.

Что такое LXC

В первую очередь хочется сказать, что LXC нельзя рассматривать как законченный продукт. Фактически это набор из нескольких совершенно самостоятельных функций ядра Linux и пользовательских утилит, которые позволяют удобно создавать и управлять изолированными контейнерами. Практически вся функциональность LXC представлена такими известными механизмами ядра:

cgroups (Control Groups) – позволяет ограничить аппаратные ресурсы некоторого набора процессов. Под аппаратными ресурсами подразумеваются: процессорное время, память, дисковая и сетевая подсистемы. Набор, или, другими словами, группа процессов, может быть определен по различным критериям. Например, это может быть целая иерархия процессов, получающая все лимиты родительского процесса. Кроме этого, возможен подсчет расходуемых группой ресурсов, заморозка (freezing) групп, создание контрольных точек (checkpointing) и их перезагрузка. Для управления этим полезным механизмом существует специальная библиотека libcgroup, в состав которой входят такие утилиты, как cgcreate, cgexec и некоторые другие.

Namespaces – пространства имен [1]. Это механизм ядра, который позволяет изолировать процессы друг от друга. Изоляция может быть выполнена в шести контекстах (пространствах имен):

  • mnt – предоставляет процессам собственную иерархию файловой системы и изолирует ее от других таких же иерархий. По аналогии с chroot;
  • pid – изолирует идентификаторы (ID) процессов одного пространства имен от процессов с такими же идентификаторами другого пространства;
  • net – предоставляет отдельным процессам логически изолированный от других стек сетевых протоколов, сетевой интерфейс, IP-адрес, таблицу маршрутизации, ARP и прочие реквизиты;
  • ipc – обеспечивает разделяемую память и взаимодействие между процессами;
  • uts – изоляция идентификаторов узла, такого как имя хоста (hostname) и домена (domainname);
  • user – позволяет иметь один и тот же набор пользователей и групп в рамках разных пространств имен. В каждом контейнере могут быть свой root и любые другие пользователи и группы.

Каждое из этих пространств имен имеет свою отдельную историю развития. Часть их функционала появилась еще в ядре 2.6.19, а некоторые возможности добавились лишь в последних версиях (3.8 и выше). Впрочем, и сама LXC еще в активной разработке. Первый (1.0) стабильный релиз планируется выпустить в составе Ubuntu 14.04. И хотя LXC уже давно обсуждается технической общественностью и активно используется, его функционал еще доступен неполностью, а API не стабилен. Именно по этой причине возможности LXC могут сильно меняться от версии к версии.

Статью целиком читайте в журнале «Системный администратор», №4 за 2014 г. на страницах 04-09.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru