![]() |
+7 (495) 229-0436 | ![]() |
shopadmin@itshop.ru | 119334, г. Москва, ул. Бардина, д. 4, корп. 3 | ![]() |
![]() |
![]() |
|
|
Алгоритм планирования развертывания виртуальных машин03.10.2013 11:52
Предлагаемое решение проблем виртуализацииВиртуализация - это абстракция, скрывающая фоновые процессы. Пользователи ничего не знают о хост-машине, других пользователях и их средах. Каждая виртуальная машина может независимо взаимодействовать с другими устройствами, приложениями, данными и пользователями, как если бы это был отдельный физический ресурс. Говоря о виртуализации, надо помнить, что ее можно реализовать не единственным способом. На практике есть много способов достижения одного и того же результата посредством разных уровней абстракции. Рассматриваемый в статье пример основан на полной виртуализации, которая является практически полной имитацией реального оборудования и обеспечивает бесперебойную работу программного обеспечения, которое обычно представляет собой гостевую операционную систему. Рисунок 1. Пример полной виртуализации
Проблемы виртуализацииМассовое развертывание виртуальных машин является очень обременительной и утомительной работой. Это кошмар для администраторов. Развертывание виртуальной машины в центре данных состоит из ряда задач, таких как установка операционной системы, подготовка машины для системы (sysprep), добавление системы в домен и предоставление пользователям соответствующего доступа. Одной из ключевых проблем является планирование развертывания, особенно если речь идет о массовом развертывании. Это одна из главных проблем консолидации клиентских систем. Двумя словами проблему можно описать так: что разворачивать и где. РешениеВ статье предлагается оптимальное, простое и эффективное решение проблемы - алгоритм Virtual Machine Deployment Map (план развертывания виртуальных машин). Принимая во внимание наличие различных серверов и ресурсов хранения данных, алгоритм пытается распределить группы виртуальных машин на доступные серверы пропорционально имеющимся ресурсам. Алгоритм также минимизирует число базовых виртуальных машин в каждой группе, тем самым существенно уменьшая память, необходимую для развертывания. Память тоже распределяется пропорционально доступным устройствам хранения. Результатом является план, который показывает, сколько виртуальных машин каждой группы нужно создать на каждом сервере и сколько логических устройств и какого размера нужно создать на каждом устройстве хранения. Кроме того, алгоритм управляет распределением нагрузки групп виртуальных машин ("золотых образов") между серверами и устройствами хранения, пытаясь минимизировать число "золотых образов". Таким образом, он предоставляет эффективную методику оптимизации ресурсов групп "золотых образов" между различными серверами и устройствами хранения, которая зависит от конфигурируемого коэффициента распределения. Он даже обеспечивает высокую готовность при развертывании виртуальных машин. Наш алгоритм создает план архитектуры развертывания и отображение развертывания между виртуальными клиентами, серверами и устройствами хранения (отображение виртуальных клиентов на серверы и виртуальных дисков на устройства хранения). Это позволяет инженеру по развертыванию и системному администратору знать, какая будет создана виртуальная машина и на каком сервере. Он также предлагает способ разделения памяти в соответствии с требованиями к памяти всех виртуальных машин. В зависимости от бизнес-требований этот план может быть представлен либо в графическом, либо в XML-формате. Блок-схема алгоритмаАлгоритм делится на две части:
План Server-VMОн выполняет отображение Server-VM (сервер на виртуальную машину). На рисунке 2 показано отображение Server-VM. Рисунок 2. Блок-схема отображения Server-VM
План Storage-VMЭто план, основываясь на выходных данных плана Server-VM, отображает виртуальные машины на логические устройства. Эти логические устройства должны быть созданы на соответствующих устройствах хранения и отображены на серверы, указанные в выходных данных плана Storage-VM (устройство хранения на виртуальную машину). Рисунок 3. Блок-схема отображения Storage-VM
Подробности алгоритмаПредполагается, что администратор имеет приведенные ниже исходные данные для алгоритма. Исходные данныеСписок серверов Каждый сервер характеризуется количеством ядер процессора, сокетов, памяти и т.д. Тип пользователя Каждая группа пользователей имеет свои требования к оборудованию. Как правило, в организации есть три типа пользователей:
Список "золотых образов" Этот список содержит информацию о количестве и типах пользователей каждого "золотого образа". В каждой организации есть различные проекты и наборы ПО и оборудования для каждого из них. Каждый проект имеет собственные требования к памяти и типам пользователей (Power, Knowledge или Task). Например, организация имеет два "золотых образа" (проекта) следующих конфигураций:
Список устройств хранения Каждая запись содержит информацию об общем размере памяти, доступной на данном устройстве. Алгоритм использует коэффициент (ratio) и пропорцию для отображения пользователей на серверы. План Server-VM
Листинг 1. Фрагмент кода назначения переменной statusstatus.setPUnallocated(totalPUsers); status.setKUnallocated(totalKUsers); status.setTUnallocated(totalTUsers);
Листинг 2. Фрагмент кода первоначальной проверкиperformInitialValidation() { tCoresRequired = totalTUsers * coreTUsage kCoresRequired = totalKUsers * coreKUsage pCoresRequired = totalPUsers * corePUsage totalCoresRequired = tCoresRequired + kCoresRequired + pCoresRequired; tMemoryRequired = totalTUsers * memoryTUsage kMemoryRequired = totalKUsers * memoryKUsage pMemoryRequired = totalPUsers * memoryPUsage totalMemoryRequired = tMemoryRequired + kMemoryRequired + pMemoryRequired; If(totalAvailableMemory >= totalMemoryRequired && totalAvailableCores >= totalCoresRequired) Перейти на шаг 6 (описан ниже); else Вывести сообщение "недостаточно ресурсов"; } Здесь:
План Storage-VMИсходные данные В качестве исходных данных для списка устройств хранения используется план Server-VM, сгенерированный в результате выполнения приведенного выше алгоритма.
Листинг 5. Фрагмент кода инициализации ratio на устройствах храненияpratio устройства i = объем i/общий объем * totalPUsers kratio устройства i = объем i/общий объем * totalKUsers tratio устройства i = объем i/общий объемy * totalTUsers
Листинг 6. Фрагмент кода проверки распределения ratioFor (j = 1; j <= Storage (i).getPCount (); j++) { if((j * PUserStorageRequired) <= Storage i.getAvailableStorage()) { // продолжить; } else { Storage(i).PCount = (j - 1); break; } }// Конец for j
//Конец шага a
Примечание.
Пример выходных данныхНа рисунке 4 представлен пример выходных данных алгоритма Virtual Machine Deployment Map в XML-формате. Входные данные: Server1 и Server2 "Золотой образ" (GI):
Устройство хранения: Storage1 Рисунок 4. Пример выходных данных алгоритма Virtual Machine Deployment Map в XML-формате
Выходные данные:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
О нас |
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.
На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям. Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе. В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.
|
119334, г. Москва, ул. Бардина, д. 4, корп. 3 +7 (495) 229-0436 shopadmin@itshop.ru |
|
© ООО "Interface Ltd." Продаем программное обеспечение с 1990 года |