Вы находитесь на странице: 1из 7

ǛǜǚǏǜnjǘǘǙǧǑǔnjǛǛnjǜnjǞǙǧǑǝǜǑǐǝǞǎnj

ǟǐǖ
GRLLVVQ

ǝǜnjǎǙǔǞǑǗǨǙǚǑǞǑǝǞǔǜǚǎnjǙǔǑǖǚǙǞǑǕǙǑǜǙǚǕ
ǔǏǔǛǑǜǎǔǓǚǜǙǚǕǎǔǜǞǟnjǗǔǓnjǢǔǔ
njǎǏǺǼǰDZDZǮǬ,ǰǺǶǾǺǼǾDZȁǹǹǬǿǶǻǼǺȀDZǽǽǺǼIIDYJ#PDLOUX
ǐǎǏǺǼDZǷǴǶǬ,ǸǬǯǴǽǾǼǬǹǾGH#PDLOUX
ǬǝǬǹǶǾǛDZǾDZǼǭǿǼǯǽǶǴǵǯǺǽǿǰǬǼǽǾǮDZǹǹȇǵǿǹǴǮDZǼǽǴǾDZǾǬȉǼǺǶǺǽǸǴȃDZǽǶǺǯǺǻǼǴǭǺǼǺǽǾǼǺDZǹǴȋ
ǍǘǺǼǽǶǬȋǿǷǝǬǹǶǾǛDZǾDZǼǭǿǼǯǜǠ
ǎǮDZǰDZǹǴDZǻǼǴǻǺǽǾǼǺDZǹǴǴǽǴǽǾDZǸȇǰǷȋǿǰǬǷDZǹǹǺǵǼǬǭǺǾȇǽǾǿǰDZǹǾǺǮǽǺǽǮǺǴǸǴǮǴǼǾǿǬǷȈǹȇǸǴǸǬȄǴǹǬǸǴǮǬDzǹǺ
ǻǼǬǮǴǷȈǹǺǮȇǭǼǬǾȈǯǷǬǮǹȇǵǻǼǴǹȂǴǻǮǴǼǾǿǬǷǴdzǬȂǴǴȃǾǺǻǺdzǮǺǷǴǾǹǬǰDZDzǹǺǴǷDZǯǶǺǼǬdzǰDZǷȋǾȈǸǹǺDzDZǽǾǮǬǮǴǼǾǿǬǷȈǹȇȁ
ǸǬȄǴǹǼǬdzǹȇȁǻǺǷȈdzǺǮǬǾDZǷDZǵǴǻǼǴȉǾǺǸǹǬǴǭǺǷDZDZȉȀȀDZǶǾǴǮǹǺǼǬǽȁǺǰǺǮǬǾȈǮȇȃǴǽǷǴǾDZǷȈǹȇDZǼDZǽǿǼǽȇǽDZǼǮDZǼǬǢDZǷȈ
ǺǻǼDZǰDZǷǴǾȈǹǬǽǶǺǷȈǶǺǸDZǰǷDZǹǹDZDZǭǿǰǿǾǼǬǭǺǾǬǾȈǮǴǼǾǿǬǷȈǹȇDZǸǬȄǴǹȇǮǮȇȃǴǽǷǴǾDZǷȈǹǺǸǶǷǬǽǾDZǼDZǻǼǴǴǽǻǺǷȈdzǺǮǬǹǴǴ
ǾDZȁǹǺǷǺǯǴǴ ǶǺǹǾDZǵǹDZǼǺǮ ǻǺ ǽǼǬǮǹDZǹǴȊ ǽ ǾǼǬǰǴȂǴǺǹǹǺǵ ǾDZȁǹǺǷǺǯǴDZǵ ǴǽǻǺǷȈdzǺǮǬǹǴȋ ǯǴǻDZǼǮǴdzǺǼǬ ǹǬǽǶǺǷȈǶǺ ǸDZǹȈȄDZ
ǻǼǴȉǾǺǸǻǺǾǼDZǭǿDZǾǽȋǺǻDZǼǬǾǴǮǹǺǵǻǬǸȋǾǴǴǽǾǺǴǾǷǴǴǽǻǺǷȈdzǺǮǬǾȈǶǺǹǾDZǵǹDZǼȇǼǬǰǴǿǻǼǺȅDZǹǴȋǮǼDZȄDZǹǴǴǮǬDzǹDZǵ-
ȄDZǵdzǬǰǬȃǴǼǬdzǰDZǷDZǹǴȋǸǹǺDzDZǽǾǮǮǴǼǾǿǬǷȈǹȇȁǸǬȄǴǹǼǬdzǹȇȁǻǺǷȈdzǺǮǬǾDZǷDZǵǜDZdzǿǷȈǾǬǾȇ ǻǺǷǿȃDZǹȇdzǬǮǴǽǴǸǺǽǾǴǻǺ-
ǾǼDZǭǷDZǹǴȋ ǺǽǹǺǮǹȇȁ ǮȇȃǴǽǷǴǾDZǷȈǹȇȁ ǼDZǽǿǼǽǺǮ ǺǾ ǶǺǷǴȃDZǽǾǮǬ dzǬǻǿǽǶǬDZǸȇȁ ǮǴǼǾǿǬǷȈǹȇȁ ǸǬȄǴǹ njǹǬǷǴdz ǻǺǷǿȃDZǹǹȇȁ
ǼDZdzǿǷȈǾǬǾǺǮǻǺǶǬdzǬǷȃǾǺǮǽǷǿȃǬDZǻǺǽǾǼǺDZǹǴȋǶǷǬǽǾDZǼǬǽDZǼǮDZǼǺǮǽǺǭȅǴǸǮǹDZȄǹǴǸǿǽǾǼǺǵǽǾǮǺǸȁǼǬǹDZǹǴȋǰǬǹǹȇȁǰǷȋ
dzǬǻǿǽǶǬǭǺǷȈȄǺǯǺǶǺǷǴȃDZǽǾǮǬǮǴǼǾǿǬǷȈǹȇȁǸǬȄǴǹǼǬǭǺǾǬȊȅǴȁǮǻǬǶDZǾDZǻǼǺǯǼǬǸǸ9LUWXDO%R[ǮȇǯǺǰǹDZDZǴǽǻǺǷȈdzǺǮǬǾȈ
ǶǺǹǾDZǵǹDZǼȇ ǽ ǰǺǭǬǮǷDZǹǴDZǸ ǻǼǺǯǼǬǸǸǹǺǯǺ ǺǭDZǽǻDZȃDZǹǴȋ 'RFNHU ǛǼǬǶǾǴȃDZǽǶǬȋ dzǹǬȃǴǸǺǽǾȈ ǻǼǴ ǽǺdzǰǬǹǴǴ ǮȇȃǴǽǷǴ-
ǾDZǷȈǹǺǯǺǶǷǬǽǾDZǼǬǶǺǹǾDZǵǹDZǼǹǬȋǾDZȁǹǺǷǺǯǴȋǮǴǼǾǿǬǷǴdzǬȂǴǴǽǴǽǻǺǷȈdzǺǮǬǹǴDZǸ'RFNHUǴ9LUWXDO%R[ǻǺdzǮǺǷȋDZǾǹDZǾǺǷȈǶǺ
ǽǿȅDZǽǾǮDZǹǹǺȉǶǺǹǺǸǴǾȈǺǻDZǼǬǾǴǮǹǿȊǻǬǸȋǾȈǻǼǴdzǬǻǿǽǶDZǭǺǷȈȄǺǯǺǶǺǷǴȃDZǽǾǮǬǮǴǼǾǿǬǷȈǹȇȁǸǬȄǴǹǹǺǴǿǮDZǷǴȃǴǮǬDZǾ
ǽǶǺǼǺǽǾȈǮȇȃǴǽǷDZǹǴǵ
ǖǷȊȃDZǮȇDZǽǷǺǮǬ ³ǮǴǼǾǿǬǷȈǹȇDZǸǬȄǴǹȇǶǷǬǽǾDZǼǯǴǻDZǼǮǴdzǺǼǶǺǹǾDZǵǹDZǼ9LUWXDO%R['RFNHU

Цитирование: Гордеев А. В., Горелик Д. В. Сравнительное тестирование контейнерной и гипервизорной виртуализации //


Информационно-управляющие системы. 2018. № 2. С. 60–66. doi:10.15217/issn1684-8853.2018.2.60
Citation: Gordeev A. V., Gorelik D. V. Comparative Testing of Container and Hypervisor Virtualizations. Informatsionno-
upravliaiushchie sistemy [Information and Control Systems], 2018, no. 2, pp. 60–66 (In Russian). doi:10.15217/issn1684-8853.2018.2.60

Введение изолированной среде (в контейнере) [3]. Поэтому


возникла идея провести исследования, которые
При построении системы для удаленной рабо- ответили бы на вопросы: насколько можно сэко-
ты студентов со своими виртуальными машина- номить оперативной памяти (ОП) в хост-системе
ми [1] возник вопрос о выборе главного принципа в случае использования контейнерной вирту-
виртуализации. Обычно программное обеспече- ализации по сравнению с гипервизорной и на-
ние Oracle VirtualBox [2], которое было выбра- сколько мы при этом потеряем в быстродействии.
но в качестве основы для построения названной Проведенные эксперименты неожиданно пока-
системы, используют на хост-системе, и получа- зали, что при использовании контейнеров и про-
ется гипервизорная виртуализация, где в роли граммного обеспечения Docker при организации
гипервизора выступает хост-система с Ubuntu кластерных вычислений мы не только легко ре-
Server 16.04. Достоинства и недостатки этого шаем проблему изоляции виртуальных машин и
подхода в целом известны. Обоснование выбора сетей одного удаленного пользователя от другого,
программного обеспечения Oracle VirtualBox и но и получаем даже выигрыш в скорости вычис-
проблема, которую приходится решать для изо- лений и затратах ОП.
ляции подмножества виртуальных машин и се- Напомним, что контейнерная виртуализа-
тей одного пользователя от виртуальных машин ция — это такой метод виртуализации, при ко-
и сетей другого пользователя (при необходимости тором ядро операционной системы поддерживает
предоставить возможность работать со своими вместо одного сразу несколько изолированных
виртуальными машинами большому количеству экземпляров пространства пользователя [4].
пользователей), была описана и решена в работе Скорее всего, эта идея была заимствована от ре-
[1]. Однако проблемы изоляции виртуальных ма- ентерабельных программ, которые позволяют
шин и сетей одного пользователя от виртуальных иметь один экземпляр кода, но несколько процес-
машин и сетей другого пользователя относитель- сов могут его исполнять параллельно, каждый —
но легко решаются при использовании контей- со своими наборами переменных, что снижает
неров и платформы Docker. Docker — открытая расходы ОП. Как известно, обращение к перемен-
платформа для запуска приложений в свободно ным реентерабельной программы осуществляет-

60 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 2, 2018
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

ся с помощью косвенной адресации, причем те- VirtualBox. Контейнеры изолируют виртуаль-


кущие переменные, как правило, располагаются ные машины VirtualBox, запускаемые разными
на вершине стека, из которого под новый процесс пользователями. Важно, что внутри одного кон-
выделяется новый блок ячеек памяти. Запрос тейнера могут работать сразу несколько вирту-
(и освобождение) такого блока памяти осущест- альных машин одного пользователя, а каждому
вляется посредством обращения к системной под- пользователю предоставляется свой контейнер.
программе, которая выполняет затребованные
действия при отключенной системе прерываний
для того, чтобы обеспечить целостность этой опе- Описание эксперимента
рации. Таким образом, контейнерная виртуали-
зация является более эффективной в плане рас- Для построения кластерной системы это очень
ходования памяти, но теряет в быстродействии важно, так как виртуальные машины одного поль-
из-за дополнительных расходов на вычисление зователя смогут легко и быстро взаимодействовать
адресов. Сам гипервизор работает следующим друг с другом через виртуальные сети. При этом
образом: в операционной системе хоста эмули- виртуальные машины и сети разных пользовате-
руется аппаратное обеспечение, поверх которого лей могут быть запущены на разных узлах класте-
запускаются гостевые операционные системы. ра. Поскольку это кластер серверов, то в качестве
Это дает нам понять, что связь между гостевой и общего внешнего устройства выступает сетевая
хостовой операционными системами следует чет- система хранения данных NetGear 3200, которая
кому правилу: все, что делает используемая ап- предоставляет по i-SCSI-протоколу единый том
паратная часть, должно быть доступно и гостевой X-RAID-6-уровня. На этом томе располагаются
операционной системе со стороны хостовой [5]. файлы виртуальных машин, благодаря чему они
Контейнеры, в свою очередь, напротив, явля- могут быть доступны для любого узла кластера.
ются виртуализацией на уровне операционной Пользователь работает со своими виртуальными
системы. А это уже подразумевает, что есть го- машинами через тот сервер, который будет иметь
стевая операционная система, которая использу- наименьшую нагрузку в кластере.
ет то же самое ядро, что и хостовая. Такой подход Соответственно, для сравнительного анализа
дает контейнерам большое преимущество: они рассматриваемых методов виртуализации по-
могут быть меньше и компактнее гипервизорных средством тестирования в целях выбора наиболее
гостевых сред, поскольку у них с хостом намно- эффективного метода нужно было разработать
го больше общего, чем у виртуальных машин. То методику получения интересующих нас параме-
есть контейнерная виртуализация не использует тров — потребляемых вычислительных ресур-
полноценные виртуальные машины, как это де- сов.
лается в случае гипервизоров, а создает вирту- Было предложено в качестве нагрузки на сер-
альное окружение с собственным пространством вер, на котором будут работать виртуальные ма-
процессов и сетевым стеком. Экземпляры про- шины, взять процедуру инсталляции операци-
странств пользователя (часто называемые кон- онной системы. Эта процедура задействует сразу
тейнерами или зонами) с точки зрения пользова- все виды ресурсов и сопровождается высокой
теля полностью идентичны реальному серверу, процессорной нагрузкой, большим потреблени-
но они в своей работе используют один экземпляр ем ОП, интенсивной работой с внешними устрой-
ядра операционной системы. Ядро обеспечивает ствами и, что очень важно, активной работой
полную изолированность контейнеров, поэтому с накопителем на магнитных дисках (как пра-
программы из разных контейнеров не могут воз- вило, это виртуальные накопители, в качестве
действовать друг на друга. Очевидно, что глав- которых используются файлы хост-системы).
ным недостатком этой технологии является то, Часть процедуры инсталляции, которая обычно
что виртуальная среда задается хост-системой, и требует интерактивного взаимодействия с поль-
она будет одна и та же для всех пространств, ко- зователем (системный администратор во время
торые мы можем создать. Для преодоления дан- инсталляции отвечает на некоторые вопросы),
ного недостатка было предложено модернизиро- была автоматизирована. Автоматизация ответов
вать эту технологию до понятия докера (Docker). была выполнена созданием нового файла ответов,
Докеры могут быть с разным виртуальным окру- в котором заранее подготовлены все ответы на все
жением, хоть и работать на одной и той же хост- вопросы. Это позволило проводить эксперименты
системе [6]. без воздействия интерактивной составляющей,
Для возможности запускать на GNU/Linux- которая могла бы повлиять на результаты экс-
системе виртуальные машины с ОС Microsoft перимента. Для снятия показаний был написан
Windows можно создать соответствующие Linux- специальный скрипт на языке Bash, который
контейнеры и с помощью программного обе- с момента его запуска записывает в отдельный
спечения Docker установить пакет программ файл время в секундах, нагрузку CPU (Central

№ 2, 2018 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 61
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

Processing Unit) в процентах и расходование опе- систем. Вышеупомянутый скрипт протоколиру-


ративной памяти в процентах. ет потребление вычислительных ресурсов этими
Следующим шагом подготовки к проведению виртуальными машинами.
исследования был выбор алгоритма, по которому Для имитации нагрузки на второй сервер бы-
непосредственно проводились бы эксперимен- ли созданы пять контейнеров со специальным на-
ты. В ходе подготовки был разработан следую- бором программного обеспечения, необходимого
щий метод: так как в нашем кластере [1] имеют- для организации работы с графическими прило-
ся два идентичных сервера на базе платформы жениями в контейнерах. Затем в каждом контей-
Supermicro E210C-M3, то было принято решение нере было создано по две виртуальные машины,
на одном из них проводить эксперимент с обыч- и уже непосредственно после окончания проце-
ными виртуальными машинами, а на втором дуры их создания запускался скрипт документи-
проводить эксперименты с докерами (контейне- рования нагрузки, а следом запускались все вир-
рами). А так как мы строим кластер серверов, то туальные машины и шла автоматизированная
оба этих вычислительных сервера имеют доступ установка операционных систем.
к общему хранилищу. Далее необходимо было В обработку результатов входил ряд последо-
подготовить серверы, установив VirtualBox для вательных этапов, которые включают в себя при-
сервера, на котором используется гипервизор- ведение данных к табличному виду и постройку
ная виртуализация, а для сервера с контейнер- представленных ниже графиков.
ной — программное обеспечение Docker. Это от- Рассмотрим графики, на которых показан тес-
крытая платформа для разработки, доставки и товый эксперимент с одной виртуальной маши-
эксплуатации приложений [7]. В своем ядре это ной и одним контейнером с одной виртуальной
программное обеспечение позволяет запускать машиной (рис. 1, а и б). Наглядно видно, что
практически любое приложение, безопасно изо- обычная виртуальная машина работает быстрее,
лированное внутри контейнера, что дает возмож- чем аналогичная, но в контейнере, потребляя
ность обезопасить работу хост-системы. То есть при этом больше вычислительных ресурсов. Как
события, происходящие в контейнере, никак не и ожидалось, контейнер показал меньшее по-
влияют. Благодаря безопасной изоляции мож- требление ресурсов, но более продолжительную
но запускать на одном хосте много контейнеров работу. Если посмотреть на форму и поведение
одновременно. За счет легковесной природы кон- графиков, то они идентичны: основным пиком
тейнера, который запускается без дополнитель- нагрузки на ОП является период непосредствен-
ной нагрузки гипервизора на аппаратную часть ной установки операционной системы, это вторая
сервера, используется меньше ресурсов. часть графика. По сравнению с первой частью
Также в связи с возможностью использовать графика, который отображает фазу распаковки
разные методы хранения данных необходимо файлов из образа, нагрузка возросла приблизи-
провести сравнительный анализ быстродействия тельно в 2 раза. Это говорит о том, что собственно
сетевого хранилища и обычного (локального) на- построение (сборка) системы из двоичных файлов
копителя на жестких магнитных дисках, уста- требует существенно больше ресурсов, чем подго-
новленного непосредственно в сервер хранилища товка этих двоичных файлов.
данных. Нужно проанализировать, как эти сред- По нагрузке на CPU виртуальная машина бо-
ства и технологии хранения данных повлияют лее требовательна, ей необходимо больше вычис-
на быстродействие и производительность вирту- лительной мощности. Конечно, в масштабах сер-
альных машин и контейнеров, и выбрать наилуч- вера это не столь значительно, если мы говорим
ший из имеющихся вариантов. об одной виртуальной машине.
С целью имитировать работу студентов на Посмотрим на графики тестирования вирту-
кластере был определен необходимый минимум альных машин, расположенные на рис. 2, а и б.
виртуальных машин и контейнеров, который Здесь мы запускаем уже по 10 виртуальных ма-
соответствовал бы одновременной работе, на- шин на одном сервере. Обратим внимание на то,
пример, пяти пользователей (студентов). Так, что тут представлены результаты двух экспери-
на первом сервере требовалось создать 10 вирту- ментов: кривые зеленого и синего цветов иллю-
альных машин — по две машины на студента. стрируют поведение серверов с использованием
После создания, т. е. определения конфигурации внешнего сетевого хранилища, а красного и голу-
виртуального компьютера, а это процесс доста- бого — работу серверов с использованием локаль-
точно быстрый и не требующий больших ресур- ного накопителя. Различия в том, что были ис-
сов, запускается скрипт документирования по- пользованы разные технологии доступа к нако-
требляемых вычислительных ресурсов. Далее пителям данных. На рис. 2, а представлена зави-
запускаются собственно виртуальные машины, симость нагрузки на ОП от времени. Эксперимент
и уже непосредственно в них сразу начинается номер один был проведен с использованием се-
автоматизированная установка операционных тевой системы хранения данных NetGear 3200,

62 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 2, 2018
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

а) 4,5
ОП, 1 VB
4
ОП, 1 контейнер
3,5
Нагрузка на ОП, %

2,5

1,5

0,5

0
0 100 200 300 400 500 600 700 800
Время, с

б) 10
CPU, 1 VB
9 CPU, 1 контейнер
8
Нагрузка на CPU, %

7
6
5
4
3
2
1
0
0 100 200 300 400 500 600 700 800
Время, с

„ Рис. 1. Нагрузка на оперативную память (а) и CPU (б) в эксперименте с одним контейнером и одной виртуальной
машиной
„ Fig. 1. RAM load (а) and CPU load (б) in experiment with one container and one virtual machine

которая предоставляет единый том X-RAID-6- Это вспомогательная файловая система, произ-
уровня по i-SCSI-протоколу. Из графика видно, водящая каскадно-объединенное монтирование
что контейнерное решение отрабатывает быстрее других файловых систем. Она позволяет файлам
на 600–800 с. То есть при конфигурации с исполь- и каталогам изолированных файловых систем,
зованием протокола i-SCSI контейнерная виртуа- известных как ветви, прозрачно перекрываться,
лизация оказывается быстрее. Если посмотреть формируя единую связанную файловую систему.
на график рис. 2, б, то можно обнаружить, что Каталоги, которые имеют тот же путь в объеди-
контейнерная виртуализация с применением ненных ветвях, будут совместно отображать со-
Docker не только быстрее, но она еще и меньше держимое в объединенном каталоге новой вирту-
нагружает процессор. То есть по графику рис. 2, а альной файловой системы. Когда ветви монтиру-
уровень потребления ОП одинаковый, а потре- ются, то указывается приоритет одной ветви над
бление ресурсов процессора меньше. Возникает другой. Следовательно, когда обе ветви содержат
вопрос: почему контейнеры работают быстрее, файл с идентичным именем, одна ветвь будет
когда их становится больше? иметь больший приоритет. Различные ветви мо-
Возможно, что этот эффект достигается за счет гут одновременно находиться в режиме «только
использования UnionFS (Union File System) [8]. чтение» и «чтение-запись». Таким образом, за-

№ 2, 2018 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 63
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

а) 40
35

30
Нагрузка на ОП, %

25

20

15 ОП, 10 контейнеров
ОП, 10 VB
10 ОП, 10 VB HDD
ОП, 10 контейнеров
5 HDD
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Время, с

б) 70
CPU, 10 контейнеров
60 CPU, 10 VB
CPU, 10 VB HDD
50 CPU, 10 контейнеров HDD
Нагрузка на CPU, %

40

30

20

10

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Время, с

„ Рис. 2. Нагрузка на оперативную память (а) и CPU (б) в эксперименте с десятью контейнерами и десятью вирту-
альными машинами
„ Fig. 2. RAM load (а) and CPU load (б) in an experiment with 10 containers and 10 virtual machines

пись в объединенную виртуальную файловую си- «предков» их образов; скорее всего, что за счет
стему будет направлена на определенную реаль- этого он и выигрывает по скорости работы.
ную файловую систему. То есть получается, что виртуальные маши-
Union File System состоит из слоев (layers). ны, использующие технологию гипервизорной
Слои как бы накладываются друг на друга. Все виртуализации, создают много идентичных ко-
используемые нами контейнеры используют пий операционных систем, которые никак не свя-
общие защищенные от записи слои, в которых заны между собой и потребляют больше аппарат-
находятся неизменяемые файлы операционной ных ресурсов сервера, чем контейнеры, работаю-
системы контейнера, это приводит к ускорению щие на технологии контейнерной виртуализации
доступа к данным. А для изменяемых файлов — с использованием UnionFS.
файлов виртуальных машин, работающих в до- Рассмотрим последний эксперимент, который
керах, — каждый из контейнеров будет иметь проводился с использованием установленных
собственный слой. Естественно, Docker исполь- в сервер жестких дисков, т. е. без использования
зует это решение не только для операционной i-SCSI-протокола. Рассмотрев графики на рис. 2,
системы, но и для любых общих частей контей- можно заметить, что скорость работы контейне-
неров, которые были созданы на основе общих ров, в принципе, упала незначительно, при том

64 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 2, 2018
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

что общая картина потребления вычислитель- счет использования сетевого протокола (в отли-
ных ресурсов никак не изменилась. А если обра- чие от непосредственного доступа к локальным
тить внимание на работу виртуальных машин, жестким дискам).
то можно заметить, что в этом случае производи- Рассмотрев зависимости потребления аппа-
тельность возросла. То есть за счет исключения ратных ресурсов, можно сказать, что с увеличе-
сетевых операций на обращение к хранилищу нием количества единиц виртуальных машин и
данных и работу с внутренним хранилищем сер- контейнеров потребность в ресурсах растет оди-
вера виртуальные машины получают ускорение. наково, т. е. зависимость расхода ресурсов отно-
Итак, в результате проведенного исследования сительно друг друга сохраняется. Время выпол-
был определен круг параметров, от которых за- нения всех операций также растет, но с разной
висит производительность двух технологий вир- зависимостью.
туализации — гипервизорной и контейнерной.
Как показал первый (тестовый) эксперимент,
если проводить сравнение одной виртуальной Заключение
машины с одним контейнером, то виртуальная
машина работает гораздо быстрее (см. рис. 1), по- Исследование показало, что хотя потребление
требляя больше вычислительных ресурсов серве- вычислительных ресурсов увеличивается прак-
ра. Но при увеличении количества виртуальных тически одинаково с увеличением количества
машин до 10 экземпляров обстановка кардиналь- используемых контейнеров и виртуальных ма-
но меняется в обратную сторону, и контейнеры шин, контейнеры потребляют ресурсов меньше.
начинают выигрывать не только по быстродей- Продолжительность выполнения вычислений
ствию, но и по потреблению аппаратных ресур- растет приблизительно одинаково, и тут выигры-
сов, которое у них снижено, благодаря использо- вают контейнеры, так как отрабатывают быстрее
ванию UnionFS. обычных виртуальных машин. Для проектиру-
Существует зависимость и от технологии, при- емой кластерной системы этот критерий являет-
меняемой для доступа к хранилищу данных. Мы ся очень важным. Так как используемые внутри
рассматривали две технологии общего, внешнего контейнеров виртуальные машины безопасно
серверного хранилища данных. Прежде всего, изолированы, то это дает возможность студентам
это по протоколу i-SCSI к единому для обоих сер- работать отдельно и никак не пересекаться в про-
веров тому X-RAID-6-уровня. Кроме этого, прове- цессе выполнения лабораторных работ.
ли тестирование при использовании локальных Принимая во внимание все полученные ре-
накопителей, организованных в RAID-массив. зультаты, а также все очевидные плюсы контей-
Исследование показало, что использование обще- нерного решения, можно сделать вывод о целесо-
го сетевого хранилища дает еще больший вы- образности проектировать систему на базе уже
игрыш контейнерам за счет того, что контейнеры развернутой системы дистанционного обучения,
используют UnionFS. А обычные виртуальные но с применением технологии контейнерной вир-
машины получают дополнительную задержку за туализации.

Литература технологии контейнеров: руководство. — ДМК-


Пресс, 2017. — 300 с.
1. Гордеев А. В. Организация удаленной работы сту- 5. Маркелов А. OpenStack. Знакомство с облачной
дентов со своими виртуальными машинами // Ин- операционной системой. 2-е изд. — М.: ДМК-Пресс,
формационно-управляющие системы. 2017. № 2. 2016. — 248 с.
С. 96–100. doi:10.15217/issn1684-8853.2017.2.96 6. Matthias K., Kane S. Docker: Up & Running.
2. Горелик Д. В. Использование контейнеров для по- Shipping Reliable Containers in Production. —
строения системы работы с удаленными виртуаль- O’Reilly, 2015. — 198 p.
ными машинами // Семидесятая Международная 7. Jessie Frazelle. Docker Containers on the Desktop.
студенческая научная конференция ГУАП: сб. докл. https://blog.jessfraz.com/post/docker-containers-on-
Ч. 2. Технические науки. СПб.: ГУАП, 2017. С. 66–69. the-desktop/ (дата обращения: 07.04.2017).
3. Понимая Docker. https://habrahabr.ru/post/253877 8. Попов С. Образы и контейнеры Docker в картин-
(дата обращения: 15.11.2017). ках. https://habrahabr.ru/post/272145/ (дата обра-
4. Моуэт Э. Использование Docker. Разработка и вне- щения: 17.11.2017).
дрение программного обеспечения при помощи

№ 2, 2018 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 65
ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА

UDC 004; 621.398; 681.5; 681.324:681.3.001.57


doi:10.15217/issn1684-8853.2018.2.60
Comparative Testing of Container and Hypervisor Virtualizations
Gordeev A. V.a, Dr. Sc., Tech., Professor, ff2avg@mail.ru
Gorelik D. V.a, Master Student, de5509@mail.ru
aSaint-Petersburg State University of Aerospace Instrumentation, 67, B. Morskaia St., Saint-Petersburg, 190000,

Russian Federation
Introduction: When building a system for students’ remote work with their virtual machines, it is important to correctly choose the
main principle of virtualization, which will reliably and easily split the sets of virtual machines of different users, and most efficiently
use the computing resources of the server. Purpose: Determining how much slower virtual machines in a computing cluster will be when
using container technology in comparison with the traditional technology of using hypervisors, how much less RAM is required, and
whether it is worth using containers for the sake of simplicity in solving the most important task of splitting sets of virtual machines
of different users. Results: We have obtained the dependencies of consumption of basic computing resources on the number of virtual
machines being run. The analysis of the obtained graphs showed that in the case of building a cluster of servers with a common external
storage device in order to run a large number of virtual machines, it is more advantageous to use containers with the addition of Docker
software in which VirtualBox will work. Practical relevance: This technology allows you not only to significantly save RAM, but also
to increase the calculation speed.
Keywords — Virtual Machines, Cluster, Hypervisor, Container, VirtualBox, Docker.

Citation: Gordeev A. V., Gorelik D. V. Comparative Testing of Container and Hypervisor Virtualizations. Informatsionno-
upravliaiushchie sistemy [Information and Control Systems], 2018, no. 2, pp. 60–66 (In Russian). doi:10.15217/issn1684-8853.2018.2.60

References
1. Gordeev A. V. Organization of Remote Work of Students 4. Adrian Mouat. Using Docker. Developing and Deploying
with their Virtual Machines. Informatsionno-upravliaiush- Software with Containers. O’Reilly, 2015. 335 p.
chie sistemy [Information and Control Systems], 2017, no. 2, 5. Markelov A. OpenStack. Znakomstvo s oblachnoi operatsion-
pp. 96–100 (In Russian). doi:10.15217/issn1684-8853. noi sistemoi [OpenStack. Introduction to the Cloud Operating
2017.2.96 System]. Moscow, DMK-Press Publ., 2016. 248 p. (In Russian).
2. Gorelik D. V. Using Containers to Build a System for Work- 6. Karl Matthias, Sean Kane. Docker: Up & Running. Shipping
ing with Remote Virtual Machines. Semidesiataia Mezhdun- Reliable Containers in Production. O’Reilly, 2015. 198 p.
arodnaia studencheskaia nauchnaia konferentsiia. Ch. 2. 7. Jessie Frazelle. Docker Containers on the Desktop. Available
Tekhnicheskie nauki [Proc. Seventieth Intern. Student Scien- at: https://blog.jessfraz.com/post/docker-containers-on-
tific Conf. SUAI. Part 2. Technical Science]. Saint-Peters- the-desktop/ (accessed 07 April 2017).
burg, GUAP Publ., 2017, pp. 66–69 (In Russian). 8. Popov S. Obrazy i konteinery Docker v kartinkakh [Images
3. Ponimaia Docker [Docker Overview]. Available at: https:// and Containers Docker in Pictures]. Available at: https://
habrahabr.ru/post/253877 (accessed 15 November 2017). habrahabr.ru/post/272145/ (accessed 17 November 2017).

66 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 2, 2018