Тематические статьи →

Контейнерная виртуализация в Linux — OpenVZ и LXC

Кон­тей­нер­ная вир­ту­а­ли­за­ция или вир­ту­а­ли­за­ция на уровне опе­ра­ци­он­ной системы — это метод вир­ту­а­ли­за­ции, при кото­ром ядро опе­ра­ци­он­ной системы под­дер­жи­вает несколько изо­ли­ро­ван­ных экзем­пля­ров про­стран­ства поль­зо­ва­те­ля, вме­сто одно­го. Это сни­жает наклад­ные рас­ходы и поз­во­ляет исполь­зо­вать вир­ту­а­ли­за­цию наи­бо­лее эффективно.

Кон­тей­нер­ная вир­ту­а­ли­за­ция не исполь­зует вир­ту­аль­ные машины, а создает вир­ту­аль­ное окру­же­ние с соб­ствен­ным про­стран­ством про­цес­сов и сете­вым стеком. Экземпляры про­странств поль­зо­ва­теля (часто назы­ва­е­мые кон­тей­не­рами или зонами) с точки зре­ния поль­зо­ва­теля пол­но­стью иден­тичны реаль­ному сер­ве­ру, но они в своей работе используют один экзем­пляр ядра опе­ра­ци­он­ной системы. Для linux-систем, эта тех­но­ло­гия может рас­смат­ри­ваться как улуч­шен­ная реа­ли­за­ция меха­низма chroot. Ядро обес­пе­чи­вает пол­ную изо­ли­ро­ван­ность кон­тей­не­ров, поэтому про­граммы из раз­ных кон­тей­не­ров не могут воз­дей­ство­вать друг на дру­га.

Вир­ту­а­ли­за­ция на уровне опе­ра­ци­он­ной системы даёт значительно лучшую про­из­во­ди­тель­но­сть, мас­шта­би­ру­е­мо­сть, плот­ность раз­ме­ще­ния, дина­ми­че­ское управ­ле­ние ресур­са­ми, а также лёг­кость в адми­ни­стри­ро­ва­нии, чем у аль­тер­на­тив­ных решений.

Наи­бо­лее рас­про­стра­нены сейчас OpenVZ, LXC, FreeBSD jail и Solaris Containers.

OpenVZ

OpenVZ — реа­ли­за­ция тех­но­ло­гии вир­ту­а­ли­за­ции на уровне ОС на ядре Linux. OpenVZ поз­во­ляет на одном физи­че­ском сер­вере запус­кать мно­же­ство изо­ли­ро­ван­ных копий опе­ра­ци­он­ной систе­мы, назы­ва­е­мых «вир­ту­аль­ные част­ные сер­веры» (Virtual Private Servers, VPS) или «вир­ту­аль­ные среды» (Virtual Environments, VE). Поскольку OpenVZ бази­ру­ется на ядре Linux, в отли­чие от вир­ту­аль­ных машин (напр. VMware, Parallels Desktop) или пара­вир­ту­а­ли­за­ци­он­ных тех­но­ло­гий (напр. Xen), в роли «госте­вых» систем могут высту­пать только дис­три­бу­тивы Linux. Наклад­ные рас­ходы на вир­ту­а­ли­за­цию очень малы, и паде­ние про­из­во­ди­тель­но­сти состав­ляет всего 1–3 %, по срав­не­нию с обыч­ными Linux-системами. OpenVZ рас­про­стра­ня­ется на усло­виях лицен­зии GNU GPL и состоит из моди­фи­ци­ро­ван­ного ядра Linux и поль­зо­ва­тель­ских утилит. OpenVZ явля­ется базо­вой плат­фор­мой для Virtuozzo — про­при­е­тар­ного про­дукта Parallels.

LXC

LXC (Linux Containers) — система вир­ту­а­ли­за­ции на уровне опе­ра­ци­он­ной системы для запуска несколь­ких изо­ли­ро­ван­ных экзем­пляров опе­ра­ци­он­ной системы Linux на одном узле. LXC осно­вана на тех­но­ло­гии cgroups, вхо­дя­щей в ядро Linux, начи­ная с вер­сии 2.6.29. Среди при­ме­ров исполь­зо­ва­ния — при­ме­не­ние в PaaS-хостинге Heroku для изо­ля­ции дина­ми­че­ских кон­тей­не­ров (dynos).

Docker — это программное обес­пе­че­ние для авто­ма­ти­за­ции развёр­ты­ва­ния и управ­ле­ния при­ло­же­ни­ями в среде вир­ту­а­ли­за­ции LXC. Docker поз­во­ляет «упа­ко­вать» при­ло­же­ние со всем его окру­же­нием и зави­си­мо­стями в кон­тей­нер, кото­рый может быть пере­несён на любой Linux-системе с под­держ­кой cgroups в ядре, а также предо­став­ляет среду по управ­ле­нию кон­тей­не­рами. Docker, например, исполь­зуется в облач­ной плат­форме Cocaine, раз­ра­бо­тан­ной компанией Яндекс.

Поделитесь с друзьями:


Информация о публикации:

Материал опубликован в 2014 году. Эта ста­тья о веб-разработке. При пере­пуб­ли­ка­ции обя­за­тельно ука­за­ние пер­во­ис­точ­ника в виде гипер­тек­сто­вой ссылки на сайт web-creator.ru

Воспользуйтесь нашими
знаниями и опытом

Отправьте нам сообщение при помощи формы. Или напишите на e-mail s@web-creator.ru

Мы максимально оперативно ответим Вам по электронной почте или перезвоним.

При отправке сообщения через форму, укажите пожалуйста предпочтительный способ связи с Вами: телефон или адрес электронной почты. Мы сможем ответить Вам подробнее, если Вы напишете что-то о запланированном проекте или предполагаемых задачах.

Либо просто позвоните нам по номеру: +7 495 215-1501

Мы работаем по будним дням с 10 до 19 часов.

Комплексные услуги

Реализация «под ключ» проектов по созданию различных видов сайтов, разработка веб-приложений для автоматизации бизнес-процессов, ведение контекстных и медийных рекламных кампаний, поисковое продвижение, комплексная поддержка веб-проектов, консалтинговые услуги.