Lxc, Он Же Linux Container: Простота И Надежность



Что такое LXC?

LXC, он же Linux Container: простота и надежность

Аббревиатура просто означает Linux Container. Это система виртуализации контейнеров, работающая в операционной системе Linux. Что это значит? С LXC вы можете запустить несколько полностью изолированных и независимых экземпляров Linux на одном компьютере.

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

Также данные контейнера располагаются сразу на нескольких хранилищах, это реализуется с помощью различных методов (ceph).

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

ну и лимиты практически не ограничены - лишь бы хранилища хватило, и хранилище может быть очень большим, например, в нашем случае мы сейчас строим хранилище на несколько петабайт информации.



Немного о механизмах виртуализации




В чем разница между виртуальными машинами и контейнерами? традиционные виды виртуализации, например, KVM тратят ресурсы сервера на обслуживание самой виртуальной среды, но в случае с контейнером до 95% мощности отдается непосредственно контейнеру и он по сути работает на уровне хоста машина.

Измерения производительности контейнера мы предоставим позже в этой статье.



Сравнение LXC и KVM




ЛХС КВМ
Изменение размера диска — в случае с контейнером LXC увеличение или уменьшение диска происходит очень быстро, практически на лету.

Так как KVM — это полностью изолированный контейнер, то для изменения размера диска требуется перезагрузка виртуальной машины, все так же, как и на физическом сервере.

Расширение оперативной памяти, ядер процессора, диска и т.д. Не требует перезагрузки; если требуется непрерывная работа виртуальной машины, то выбор очевиден Любые изменения параметров VPS требуют перезагрузки.

Быстрая перезагрузка контейнера Как написано выше, KVM требует для перезапуска столько же времени, что и обычный сервер.

Быстрая установка любого образа как операционной системы, так и готовых шаблонов (OpenVPN, TorrenServer, OpenLDAP, MediaServer, OwnCloud, у нас более 100 различных шаблонов на все случаи жизни) Возможность установки разных версий Windows и FreeBSD как из шаблонов, так и из собственного ISO.
Создание собственной внутренней сети между контейнерами Создание собственной внутренней сети между контейнерами
На самом деле LXC не является полноценной системой виртуализации.

Виртуальной аппаратной среды как таковой нет, а создается безопасное изолированное пространство.

LXC отличается высокой функциональностью, компактностью и гибкостью в плане ресурсов, исключительной производительностью и простотой использования.

С помощью этого механизма можно создать дата-центр, состоящий из нескольких контейнеров различного назначения.

В качестве примера настроим один контейнер в качестве маршрутизатора и разместим за ним в сегменте DMZ межсетевой экран — веб-, почтовый и файловый серверы.



Создание контейнера на примере нашего хостинга






LXC, он же Linux Container: простота и надежность

Итак, приступим к заказу ссылка на корзину ) — выбираем имя хоста, пароль для root, параметры CPU, RAM и диска, затем переходим к выбору шаблона для контейнера и нажимаем «Далее», для тестов мы сделали промокод HelloHabr, который позволит вам протестировать в месяц совершенно бесплатно.

Далее регистрируемся в биллинге и если что-то пойдет не так, создаем заявку в поддержку.

Заходим в аккаунт клиента, выбираем свежесозданный контейнер и начинаем тестирование.

Какие варианты доступа предлагаются нам в личном кабинете? Самая простая — консоль noVNC, позволяющая управлять контейнером прямо из браузера:

LXC, он же Linux Container: простота и надежность

.

далее консоль SPICE — это система рендеринга удаленного дисплея, созданная для виртуальной среды, позволяющая просматривать виртуальный «рабочий стол» вычислительной среды не только на машине, на которой он запущен, но и из любого места через Интернет ( из вики), также в разделе Backup мы можем сделать как снимок контейнера, так и полный бэкап виртуальной машины; можно выбрать как тип архива, так и тип копии.



LXC, он же Linux Container: простота и надежность

Мы также можем настроить задачи резервного копирования, которые будут выполняться по определенному расписанию с уведомлением по электронной почте.



LXC, он же Linux Container: простота и надежность

Также хотелось бы отметить еще один удобный вариант – настройку файрвола прямо из браузера, что очень удобно для тех, кто не знает, как тонко настроить фаервол в Linux. Все очень удобно как для опытных администраторов, так и для полных новичков.



LXC, он же Linux Container: простота и надежность



Тестирование производительности




Я взял на тестирование самую начальную конфигурацию и теперь хочу посмотреть на сколько ее хватит для простых задач, буду тестировать производительность с помощью пакета unixbench, сначала добавим недостающие пакеты
  
  
  
   

apt-get install build-essential libx11-dev libgl1-mesa-dev libxext-dev

Далее скачиваем сам unixbench и приступаем к тестированию —

cd /tmp/ wget https://github.com/kdlucas/byte-unixbench/archive/master.zip unzip master.zip

и запустить

.

/Run

Ждем пока unixbench протестирует контейнер и любуемся результатом

BYTE UNIX Benchmarks (Version 5.1.3) System: test: GNU/Linux OS: GNU/Linux -- 4.4.59-1-pve -- #1 SMP PVE 4.4.59-87 (Tue, 25 Apr 2017 09:01:58 +0200) Machine: x86_64 (unknown) Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968") CPU 0: Intel(R) Xeon(R) CPU E5649 @ 2.53GHz (5076.7 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization 09:14:27 up 33 min, 2 users, load average: 0.23, 0.06, 0.06; runlevel Jun ------------------------------------------------------------------------ Benchmark Run: Tue Jun 13 2017 09:14:28 - 09:42:27 24 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 29175436.4 lps (10.0 s, 7 samples) Double-Precision Whetstone 3707.9 MWIPS (8.9 s, 7 samples) Execl Throughput 4656.0 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 874980.2 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 243115.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 1778945.2 KBps (30.0 s, 2 samples) Pipe Throughput 1587733.6 lps (10.0 s, 7 samples) Pipe-based Context Switching 273143.4 lps (10.0 s, 7 samples) Process Creation 11873.0 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 5665.4 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1061.0 lpm (60.0 s, 2 samples) System Call Overhead 1897076.6 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 29175436.4 2500.0 Double-Precision Whetstone 55.0 3707.9 674.2 Execl Throughput 43.0 4656.0 1082.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 874980.2 2209.5 File Copy 256 bufsize 500 maxblocks 1655.0 243115.0 1469.0 File Copy 4096 bufsize 8000 maxblocks 5800.0 1778945.2 3067.1 Pipe Throughput 12440.0 1587733.6 1276.3 Pipe-based Context Switching 4000.0 273143.4 682.9 Process Creation 126.0 11873.0 942.3 Shell Scripts (1 concurrent) 42.4 5665.4 1336.2 Shell Scripts (8 concurrent) 6.0 1061.0 1768.3 System Call Overhead 15000.0 1897076.6 1264.7 ======== System Benchmarks Index Score 1372.3 ------------------------------------------------------------------------ Benchmark Run: Tue Jun 13 2017 09:42:27 - 10:10:50 24 CPUs in system; running 24 parallel copies of tests Dhrystone 2 using register variables 28791897.2 lps (10.1 s, 7 samples) Double-Precision Whetstone 3650.7 MWIPS (9.0 s, 7 samples) Execl Throughput 4573.6 lps (29.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 899496.3 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 243438.3 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 1960457.7 KBps (30.0 s, 2 samples) Pipe Throughput 1588441.9 lps (10.1 s, 7 samples) Pipe-based Context Switching 221247.7 lps (10.0 s, 7 samples) Process Creation 10910.9 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 8683.0 lpm (60.1 s, 2 samples) Shell Scripts (8 concurrent) 1088.9 lpm (60.8 s, 2 samples) System Call Overhead 1899698.1 lps (10.1 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 28791897.2 2467.2 Double-Precision Whetstone 55.0 3650.7 663.8 Execl Throughput 43.0 4573.6 1063.6 File Copy 1024 bufsize 2000 maxblocks 3960.0 899496.3 2271.5 File Copy 256 bufsize 500 maxblocks 1655.0 243438.3 1470.9 File Copy 4096 bufsize 8000 maxblocks 5800.0 1960457.7 3380.1 Pipe Throughput 12440.0 1588441.9 1276.9 Pipe-based Context Switching 4000.0 221247.7 553.1 Process Creation 126.0 10910.9 865.9 Shell Scripts (1 concurrent) 42.4 8683.0 2047.9 Shell Scripts (8 concurrent) 6.0 1088.9 1814.9 System Call Overhead 15000.0 1899698.1 1266.5 ======== System Benchmarks Index Score 1399.9

Немного рекламы Также хочу напомнить о наших выделенных серверах с защитой от DDOS-атак.

Теперь вы можете заказать 2x Intel Xeon E5540 с 32 ГБ оперативной памяти ECC DDR3 с полной защитой и SSD-накопителем на 240 ГБ всего за 3127 рублей.

Также всегда в наличии Intel Core i7-7700 от 3769 руб.

По дополнительным скидкам обращайтесь в личку Теги: #*nix #Хостинг #DevOps

Вместе с данным постом часто просматривают: