Pull to refresh

LXC aka Linux Container: простота и надёжность

Reading time6 min
Views16K

Что такое LXC? image




Аббревиатура расшифровывается просто Linux Container. Это контейнерная система виртуализации, которая действует в пределах операционной системы Linux. Что это значит? С LXC можно запустить несколько полностью изолированных и независимых друг от друга экземпляров ОС Linux на одном компьютере. Помимо этого есть возможность создать надежный кластер из нескольких десятков серверов, когда один и тот же экземляпр контейнера выполняется сразу на нескольких физических машинах и в случае выхода из строя одного сервера работа контейнера не приостанавливается ни на минуту. Так же данные контейнера находятся сразу на нескольких хранилищах, реализуется это различными методами (ceph ). Что позволяет помимо живой миграции контейнера между нодами кластера так же еще больше повысить надежность хранения данных, гибко увеличивать дисковую подсистему контейнера в пределах … ну пределы практически неограничены –настолько насколько хватит хранилища, а хранилища могут быть очень большие, например, в нашем случае мы сейчас строим хранилище в несколько петабайт информации.


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




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


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




LXC KVM
Изменение размера диска – в случае контейнера LXC увеличение или уменьшение диска происходит очень быстро практически на «лету» Так как KVM это полноценно изолированный контейнер измение размера диска требует перезагрузки виртуальной машины, все как на физическом сервере
Расщирение RAM, ядер CPU, диска etc. Не требует перезагрузки, если требуется непрерывная работа виртуальной машины то выбор очевиден При любых изменениях в параметрах VPS требуется перезагрузка
Быстрая перезагрузка контейнера Как писали выше – KVM требует столько же времени на рестарт как и обычный сервер
Быстрая установка любого образа как операционной системы так и готовых шаблонов (OpenVPN, TorrenServer,OpenLDAP,MediaServer, OwnCloud у нас больше 100 различных шаблонов на все случаи жизни) Возможность установки различных версий Windows и FreeBSD как из шаблонов так и из собственного ISO
Создание собственной внутренней сети между контейнерами Создание собственной внутренней сети между контейнерами

По сути, LXC и не является полноценной системой виртуализации. Виртуального аппаратного окружения как такового нет, зато создаётся безопасное изолированное пространство. LXC отличается высокой функциональностью, компактностью и гибкостью в отношении ресурсов, необыкновенной результативностью, простотой использования. С этим механизмом вы сможете создать дата-центр состоящий из нескольких контейнеров для различных целей. Как пример один контейнер мы настраиваем как роутер и firewall за ним распологаем в сегменте DMZ –web, почтовый и file сервера.


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





Итак приступим к заказу (ссылка на корзину) – выбираем имя хоста, пароль для root, параметры CPU, RAM и диска, далее переходим к выбору шаблона для контейнера и жмем «Далее», для тестов мы сделали промо-код HelloHabr, который позволит месяц тестировать совершенно бесплатно. Далее регистрируемся в билинге и если что-то пошло не так создаем запрос в сапорт. Заходим в клиентский кабинет выбираем свежесозданный контейнер и приступаем к тестам. Какие же возможности по доступу нам предлагают в личном кабинете – самое простое это noVNC консоль которая позволяет управлять контейнером непосредственно из браузера:



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



Также мы можем настроить задания для Backup которые будут выполнятся по определенному расписанию с оповещением на емейл.



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



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




Я для тестов взял самую начальную конфигурацию и теперь хочу посмотреть насколько ее хватает для простых задач, тестировать производительность я буду с помощью пакета 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

Немного рекламы


Также хотел бы напомнить про наши выделенные сервера с защитой от ДДОС атак
Сейчас вы можете заказать 2x Intel Xeon E5540 с 32Gb ECC DDR3 RAM с полной защитой и SSD диском на 240Gb всего за 3127 руб. Также всегда в наличии Intel Core i7-7700 от 3769 руб
За дополнительными скидками велкам в личку

Tags:
Hubs:
-4
Comments11

Articles

Change theme settings

Information

Website
cloud4box.com
Registered
Founded
Employees
2–10 employees
Location
Россия