Optimization of distribution and use of resources of the local computer network of the CEMI RAS when using virtualization tools
Table of contents
Share
Metrics
Optimization of distribution and use of resources of the local computer network of the CEMI RAS when using virtualization tools
Annotation
PII
S111111110000002-5-1
DOI
10.33276/S0000002-5-1
Publication type
Article
Status
Published
Authors
Anatoly Akinshin 
Occupation: Head of local networks laboratory
Affiliation: CEMI RAS
Address: Russian Federation, Moscow
Edition
Abstract
The article discusses the problem of optimizing the use of several types of resources of a limited number of physical servers when virtualization tools are used. The types of available and required resources are classified. A formal formulation of the optimization problem is introduced as an assignment problem. Different approaches are considered when formulating the objective function, and a method is proposed for the numerical solution of this problem.
Keywords
Hyper-V, virtual machine, resource optimization, assignment task, numerical solution
Received
10.09.2018
Date of publication
20.11.2018
Number of characters
14198
Number of purchasers
3
Views
445
Readers community rating
0.0 (0 votes)
Cite Download pdf

To download PDF you should sign in

1 Современная серверная инфраструктура локальной вычислительной сети Института предоставляет собой набор различных информационных сервисов для пользователей сети - научных сотрудников. Учитывая длительность и частоту использования, все эти сервисы можно условно разделить на две группы:
2
  1. Постоянные сервисы, функционирующие длительное время и обеспечивающие информационные потребности большинства сотрудников Института. К таким сервисам можно отнести следующие: сервер электронной почты, веб-сервер Института, внутренний информационный портал, файловый сервер, сервер базы данных, сервер обновлений и т.д.
  2. Сервисы по запросу, создающиеся на определенное, как правило, ограниченное время и имеющие ограниченное количество пользователей. Как правило, эти сервисы, создающиеся для выполнения работ в рамках проекта или отдельного исследования группой научных сотрудников. Типы сервисов этой группы частично совпадают с аналогичными из первой группы (файловый сервис, веб-сервер, сервер базы данных, сервер для организации выполнения большого количества расчётов и т.д.), в то же время отличаются временным интервалом, на который они создаются. Одновременно, что важно, они различаются требуемым уровнем предоставляемых ресурсов (дисковое пространство, объем памяти, количество процессоров и т.д.), который определяется в заявке на ресурс.
3 Таким образом в любой момент времени в локальной сети функционирует большое количество серверов, относящихся к обеим группам, реализующих указанные виды сервисов. При этом количество физических серверов ограничено и много меньше требуемого количества сервисов. Для решения этой проблемы в локальной вычислительной сети ЦЭМИ применяется технология виртуализации. В настоящий момент существует несколько основных технологий виртуализации, обзоры и сравнения которых могут быть найдены в ряде источников [3], [8]. Для применения в локальной вычислительной сети ЦЭМИ была выбрана технология Microsoft Hyper-V.
4 В настоящее время ядром серверной группы являются четыре физических сервера под управлением Microsoft Windows Server 2012 R2 с включенной ролью Hyper-V. Далее в тексте эти сервера будут обозначаться как S403-1, S403-2, S403-3, S403-4. На основе этих серверов реализован «псевдо-кластер» Hyper-V. Построить полноценный кластер [8], в частности, Failover Cluster, на данный момент не представляется возможным, т.к. физические сервера приобретались и вводились в эксплуатацию в течение длительного промежутка времени (5 лет), и имеют заметные отличия в аппаратной части (материнские платы и процессоры)[5][6][7]. Из-за этого становится невозможной «горячая» миграция виртуальных машин между узлами кластера. В результате на данный момент на базе этих четырех физических серверов функционируют 38 виртуальных машин, из них 12 относятся к первой группе (постоянные сервисы) и 26 – ко второй (сервисы по запросу, их количество меняется в зависимости от заявок пользователей). Виртуальные машины распределены по физическим с учетом доступных ресурсов: дисковое пространство, количество физических процессоров, доступная оперативная память, конфигурация сетевых подключений. На рис. 1 приведен скриншот окна менеджера Hyper-V, с помощью которого выполняются основные операции по управлению виртуальными машинами на всех четырех серверах.
5

Рис. 1

6 Отдельно следует учесть различные виды доступного дискового пространства на серверах, а именно:
7
  1. Дисковые ресурсы на основе SSD носителей. Высокая скорость обмена данными и меньший, по сравнению с остальными видами дисков, объем.
  2. Дисковые ресурсы с использованием SAS и SATA дисков, на основе которых построены RAID (применяются уровни 5,6,10). Скорость доступа ниже, чем в первом типе, объем и надежность выше.
  3. Дисковые ресурсы с использованием внешнего NAS, с подключаемыми по iSCSI томами. Наибольший объем и наименьшая скорость, при этом возникает дополнительная нагрузка на серверный сегмент локальной сети.
8 Кроме того, необходимо учитывать различия в доступных сетевых подключениях и, как следствие, различных конфигурациях виртуальных коммутаторов Hyper-V, доступных на каждом из физических серверов.
9 Важное значение имеет так же тип операционной системы виртуальной машины. В текущей конфигурации локальной вычислительной сети применяются следующие операционные системы:
  • Windows Server (версии 2003, 2008 R2, 2012 R2)
  • Linux сервера (Ubuntu Server LTS, Debian)
  • FreeBSD сервера
10 В результате при планировании, развертывании и поддержке работы локальной вычислительной сети необходимо решать несколько основных задач:
11
  1. Выбор оптимального начального размещения виртуальных сервером, реализующих функции постоянных сервисов.
  2. Выбор физического сервера для размещения каждого следующего сервиса по запросу. При этом, возможно, оптимальное размещение будет требовать переноса какой-либо уже существующий виртуальной машины на другой физический сервер.
  3. Мониторинг текущего использования ресурсов физических серверов
12 В условиях работающей и развивающейся вычислительной сети первая задача о первоначальном оптимальном размещении трансформируется в задачу оптимальной реконфигурации при добавлении вычислительных мощностей (физических серверов). Но, тем не менее, исходная постановка первой задачи должна быть рассмотрена, т.к. именно к ней может быт сведена задача реконфигурации.
13 На основании данных, полученных в течение нескольких лет эксплуатации, была предложена и используется следующая методика оптимизации распределения виртуальных серверов при размещении их на узлах «кластера» Hyper-V локальной вычислительной сети ЦЭМИ РАН:
14 Актуализация данных об аппаратной конфигурации серверов. В связи с вводом в эксплуатацию нового оборудования и/или изменениями в конфигурации существующих серверов, для дальнейших расчетов необходимо поддерживать эти данные в актуальном состоянии. Эти данные могут быть представлены, например, в виде следующей таблицы, в которую сведены все значимые для анализа характеристики (Таблица 1).
15
Таблица 1.
S403-1 S403-2 S403-3 S403-4
Количество и тип CPU 2 х Intel® Xeon® E5620 2.4 ГГц 2 х Intel® Xeon® E5-2620 2.0 ГГц 2 х Intel® Xeon® E5-2620 2.0 ГГц 2 х Intel® Xeon® E5-2640 v2 2.0 ГГц
Количество ядер 16 24 24 32
Оперативная память 32 GB 64 GB 64 GB 128 GB
Сетевые адаптеры 2 х 1GBit/s 4 х 1GBit/s 4 х 1GBit/s 4 х 1GBit/s
Виртуальные коммутаторы(подключены сети) Внутренняя сетьВнешняя сеть Внутренняя сетьВнешняя сетьСеть NAS Внутренняя сетьВнешняя сетьСеть NAS Внутренняя сетьВнешняя сетьСеть NAS
Дисковое пространство на SSD нет 500 GB 500 GB 1 TB
Дисковое пространство на SAS/SATA RAID 500 GB + 1 TB 1 TB 2 TB 2 TB
Дисковое пространство на NAS нет 4 TB
16 На основании этих данных в дальнейшем будет строиться таблица для поиска решения.
17 Построение списка виртуальных серверов с указанием требуемых ресурсов. Эти данные могут быть представлены, например, в виде следующей таблицы, в которой в столбцах («Cores», «RAM, GB», «HDD1, GB», «HDD2, GB», «Ext. LAN», «Int Lan») перечислены все значимые для анализа ресурсы, а в строках – их планируемое потребление для каждого виртуального сервера (Таблица 2).
18
Таблица 2.
Cores RAM, GB HDD1, GB HDD2, GB Ext. LAN Int. Lan
vsrv1 2 2 24 128 0 1
vsrv2 4 4 64 128 0 1
vsrv3 2 4 32 256 1 1
vsrv4 8 8 64 245 0 1
19 Очевидно, что в своей математической постановке данная задача может быть сведена к задаче о назначениях и решена с помощью методов линейного программирования[1] [2].
20 Рассмотрим формальную постановку этой задачи. Под термином «назначение» будем понимать размещение виртуального сервера на физическом.
21 Пусть имеется p физических серверов и v виртуальных.
22 Каждый элемент aij матрицы назначений A может принимать значение «0» либо «1». Значение «1» означает назначение i-го виртуального сервера на j-й физический, i изменяется в диапазоне от 1 до v, j в диапазоне от 1 до p.
23 Т.к. любой виртуальный сервер может быть назначен только на один физический, вводится соответствующее ограничение: для любого i:
24

25 Количество рассматриваемых типов ресурсов обозначим как t (например, при рассмотрении количества процессоров, размера оперативной памяти и использования жесткого диска, t=3).
26 Имеющиеся ресурсы физических серверов запишем в виде матрицы E с элементами ejk, где j=1..p; k=1..t
27 Требующиеся ресурсы для виртуальных серверов запишем в виде матрицы R с элементами rik, где i=1..v; k=1..t
28 В «классической» задаче линейного программирования целевая функция выражается через полином и выполняется поиск ее максимума (минимума). В рассматриваемой задаче в качестве критерия при построении целевой функции необходимо учитывать степень равномерности использования одинаковых типов ресурсов физических серверов при распределении на них виртуальных. Например, для 4-х физических серверов решение, при котором использовании оперативной памяти составит (45%; 55%; 58%; 62%), будет лучше решения (30%; 70%; 40%; 80%), при том, что в обоих случаях среднее значение использования ОП составит 55%. С учетом этого, при построении целевой функции предлагается использовать дисперсию ряда значений задействованных ресурсов физических серверов. Например, для приведенного примера использования оперативной памяти, для первого решения дисперсия составит 0,00527, а для второго 0,05667. И сама задача будет состоять в нахождении назначений, при котором достигается минимальное значение целевой функции.
29 Тогда целевую функцию можно записать в виде:
30

31 При таком построении целевой функции все виды ресурсов входят в конечную оценку с одинаковым весом. Но практика эксплуатации кластера Hyper-V показывает, что есть виды ресурсов, более критичные к равномерности распределения нагрузки. Например, использование оперативной памяти более значимо, чем использование пространства на жестком диске. Кроме того, было бы оправдано учитывать различия характеристик в пределах каждого типа ресурса. Например, различные скорости доступа к дисковым ресурсам или оперативной памяти в разных физических серверах.
32 Для реализации этой возможности предлагается ввести матрицу коэффициентов Wс элементами wjk, где j=1..p; k=1..t
33 Тогда целевую функцию можно записать в виде:
34

35 Решение этой задачи предлагается выполнять с помощью надстройки «Поиск решения», входящей в состав MS Excel 2010, 2013, и позволяющей решать, в том числе, задачи линейного программирования[4].
36 Рассмотрим задачу о назначениях на примере конфигурации с 4 физическими серверами и 12 виртуальными.
37 Обозначим как s1 … s4 физические сервера, и vsrv1 … vsrv12 – виртуальные сервера.
38 Введем матрицу назначений следующего вида (Рис 2):
39
Рис. 2. Рис. 3.
40 Назначение виртуального сервера на физический обозначается «1» на пересечении соответствующих строки и столбца. Ячейки последнего правого столбца содержат формулы суммирования по строке. На элементы этой матрицы накладываются ограничения «положительные» и «целые». На последний столбец (суммы по строкам) накладывается требование равенства значению «1» каждой ячейки этого столбца, что означает обязательность размещения каждого виртуального сервера на каком-то одном физическом. Пример рассчитанной матрицы назначений приведен на Рис. 3.
41 Для каждого типа ресурсов физических серверов построим матрицы использования этих ресурсов. На Рис. 4 приведен пример матриц использования ядер процессора, оперативной памяти и дискового пространства, а в Приложении 1 приведен скриншот рабочего листа Excel с включенным режимом отображения формул.
42

Рис. 4

43 В ячейках строки 3 размещены элементы матрицы E - доступные ресурсы физических серверов. Например, D3:G3 – количество процессорных ядер физических серверов.
44 В ячейках столбцов C, J, P размещены элементы матрицы R - требующиеся ресурсы для виртуальных серверов. Например, C4:C15 – количество процессорных ядер, требующееся для каждого виртуального сервера.
45 Ячейки диапазонов D4:G15, K4:N15, Q4:T15 содержат формулы, соответствующие произведениям целевой функции, а ячейки диапазонов D16:G16, K16:N16 и Q16:T16 – суммы
46

47 , т.е. задействованных ресурсов каждого типа на всех физических серверах.
48 Ячейки диапазонов D16:G16, K16:N16, Q16:T16 содержат формулы для подсчета относительной величины использования ресурсов (в %).
49 В ячейках строки 18 размещены элементы матрицы W – коэффициенты, позволяющие учесть разную значимость типов ресурсов и различия в характеристиках в пределах одного типа.
50 Ячейки диапазонов D19:G19, K19:N19, Q19:T19 содержат формулы, соответствующие следующему выражению целевой функции:
51

52 В ходе численного решения задачи были рассмотрены два варианта построения целевой функции:
53
  • с использованием вычисления дисперсии и формула в соответствующей ячейке имела вид:=VAR.S(D19:G19)+VAR.S(K19:N19)+VAR.S(Q19:T19)
  • с использованием вычисления стандартного отклонения и формула в соответствующей ячейке имела вид:=STDEV.S(D17:G17;K17:N17;Q17:T17)
54 В обоих случаях результат (оптимальное назначение) был получен, но формула с использованием функции «=VAR.S (…)» позволила получить решение за меньшее количество времени.
55 Скриншот окна вызова надстройки «Поиск решения» приведен на Рис. 5.
56
Рис. 5
57 Результат вычислений, включая сводную таблицу использования ресурсов и диаграмма, ее иллюстрирующая приведен на скриншоте рабочего листа в Приложении 2.
58 Для проверки реакции модели на изменения значений коэффициентов, учитывающих значимость типов ресурсов и различия в характеристиках в пределах одного типа (матрица W), были проведены несколько экспериментов:
59
  1. Все ресурсы одинаково значимы и нет отличий в их характеристиках
60

Рис.6

61
  1. Увеличим значимость равномерности распределения использования оперативной памяти
62

Рис. 7

63
  1. Добавим отличия в пределах каждого типа ресурсов.
64

Рис. 8

65 Из результатов экспериментов видно, что модель адекватно реагирует на изменения значимости типов ресурсов и различий в их характеристиках, и перераспределяет нагрузку с учетом заданных весовых коэффициентов. Таким образом получена простая вычислимая модель, соответствующая предложенной методике оптимизации распределения ресурсов физических серверов.
66 Приложение 1
67

68 Приложение 2

References

1. Vagner G. Osnovy issledovaniya operatsij. Tom 1 / G.Vagner - M. Mir 1972 - 336s

2. Vagner G. Osnovy issledovaniya operatsij. Tom 2 / G.Vagner - M. Mir 1973 - 488s.

3. https://www.vmgu.ru/news/vmware-vsphere-6-microsoft-hyper-v-2012-r2-comparison-2016 45925040 (data obrascheniya: 29.05.2018)

4. Protsessor Intel® Xeon® E5-2620 [Ehlektronnyj resurs] // Tekhnicheskaya podderzhka Intel URL: https://ark.intel.com/products/64594/Intel-Xeon-Processor-E5-2620-15M-Cache-2_00-GHz-7_20-GTs-Intel-QPI (data obrascheniya: 29.05.2018) (data obrascheniya: 29.05.2018) : 29.05.2018)