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

  Опросы
  Статьи

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

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

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

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

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

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

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Виртуализация на уровне ОС. Теория и практика 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