Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Модели и методы поддержки автоматизированного проектирования высоконадежных кластерных систем с использованием технологий виртуализации Алексанков Сергей Михайлович

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Алексанков Сергей Михайлович. Модели и методы поддержки автоматизированного проектирования высоконадежных кластерных систем с использованием технологий виртуализации: диссертация ... кандидата Технических наук: 05.13.12 / Алексанков Сергей Михайлович;[Место защиты: ФГАОУ ВО Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики], 2017.- 181 с.

Содержание к диссертации

Введение

Глава 1 . Задачи автоматизации проектирования высоконадежных вычислительных систем кластерной архитектуры с использованием технологий виртуализации 12

1.1 Особенности проектирования высоконадежных кластерных систем с использованием технологий виртуализации 12

1.2 Анализ развития технологий виртуализации 19

1.3 Виды программного обеспечения, использующего технологии виртуализации 30

1.4 Построения высоконадежных кластерных систем с использованием программного обеспечения виртуализации 34

1.5 Существующие проблемы при проектировании высоконадежных вычислительных систем с использованием виртуализации 56

1.6 Постановка задачи исследования 58

1.7 Выводы 61

Глава 2. Разработка моделей поддержки автоматизированного проектирования высоконадежных кластерных систем с использованием технологий виртуализации 62

2.1 Постановка задачи 62

2.2 Варианты проектных решений, обеспечивающих высокую отказоустойчивость и доступность на базе технологий виртуализации 63

2.3 Требования к проектируемым высоконадежным кластерным системам с использованием виртуализации на базе определенных проектных решений 78

2.4 Определение критериев эффективности 84

2.5 Разработка аналитических моделей 88

2.6 Выбор проектных решений 126

2.7 Выводы 139

Глава 3. Инструментальные (стендовые) средства поддержки проектирования высоконадежных кластеров с использованием технологий виртуализации 141

3.1 Постановка задачи 141

3.2 Описание стенда 141

3.3 Методики стендовых экспериментов 143

3.4 Выводы 148

Глава 4. Методы поддержки автоматизированного проектирования высоконадежных кластеров с использованием технологий виртуализации 150

4.1 Постановка задачи 150

4.2 Структура САПР 150

4.3 Последовательность автоматизированного проектирования 154

4.4 Методы автоматизированного проектирования 156

4.5 Выводы 163

Заключение 165

Список используемой литературы 167

Приложение А. Акты о внедрении

Введение к работе

Актуальность работы

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

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

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

Степень разработанности темы. Значительный вклад в теорию проектирования вычислительных систем, в том числе их надежностного проектирования, внесли Б. В. Гнеденко, A.M. Половко, И.А. Рябинин, И.А. Ушаков, С.А. Майоров, Г.И. Новиков, Т.П. Алиев, Г.Н. Черкесов, СВ. Гуров, Э. Таненбаум, Л.В. Уткин, И.В. Панфилов, И.Б. Шубинский, Л. Клейнрок.

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

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

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

Объект исследования - проектные процедуры анализа и синтеза кластерных компьютерных систем на базе технологий виртуализации.

Предмет исследования - модели, методы и средства поддержки
автоматизированного проектирования кластерных систем

высокой отказоустойчивости и доступности на базе технологий виртуализации.

Цель работы

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

Задачи

Для достижения поставленной цели требуется разработка и исследование моделей и методов анализа и синтеза проектных решений, в том числе:

  1. Определение вариантов проектных решений, критериев эффективности отказоустойчивых кластеров и кластеров высокой доступности на базе технологий виртуализации.

  2. Определение вариантов проектных решений, критериев эффективности механизмов миграции виртуальных машин (далее - ВМ) для сервисов с различными характеристиками.

  3. Разработка моделей надежности высоконадежных двухмашинных кластерных систем с использованием технологий виртуализации для поддержки высокой готовности (доступности) и непрерывности вычислительного процесса при возникновении отказов.

  4. Разработка моделей анализа проектных решений механизмов по организации процесса перемещения ВМ между серверами для балансировки нагрузки, поддержки высокой готовности (доступности).

  5. Разработка инструментальных (стендовых) средств поддержки проектирования отказоустойчивых кластеров на базе технологий виртуализации.

  6. Проведение стендовых экспериментов по проверке эффективности проектных решений миграции ВМ.

  7. Разработка методов проектирования высоконадежных вычислительных систем кластерной архитектуры с использованием технологий виртуализации на основе разработанных аналитических моделей.

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

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

автоматизированного проектирования высоконадежных кластерных систем на базе технологий виртуализации.

Методы исследования

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

Научная новизна работы заключается в следующем:

Предложены модели и методики поддержки автоматизированного проектирования высоконадежных вычислительных систем кластерной архитектуры с использованием технологий виртуализации, при этом:

  1. Сформулированы критерии эффективности и определены области эффективного использования кластеров высокой доступности и отказоустойчивости на базе технологий виртуализации с учетом влияния на эффективность решений различных вариантов организации восстановления после отказов и миграции ВМ в различных условиях эксплуатации.

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

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

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

Практическая значимость

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

  2. Предложены модели анализа процессов миграций ВМ, позволяющие оценить время переноса и время недоступности сервиса при проведении профилактических/аварийных работ и при обеспечении балансировки нагрузки серверов. Предложенные модели могут применяться

при определении целесообразности и обоснования выбора организации миграции ВМ при проектировании системы кластерной архитектуры.

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

  1. Предложены инструментальные (стендовые) средства поддержки проектирования отказоустойчивых кластеров на базе технологий виртуализации.

  2. Предложены методики стендовых экспериментов по анализу возможностей и эффективности проектных решений построения кластеров с организацией миграции ВМ.

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

Апробация результатов

Основные положения диссертационной работы обсуждались на конференциях:

XLIII научная учебно-методическая конференция университета ИТМО, г. Санкт-Петербург, 31.01.2014, III Всероссийский конгресс молодых ученых, 10.04.2014, Международная научно-практическая конференция «Теоретические и прикладные вопросы науки и образования», г. Тамбов, 31.01.2015, Международная научно-практическая «Современное общество, образование и наука», г. Тамбов, 31.03.2015 г., XLIV научная и учебно-методическая конференция университета ИТМО, г. Санкт-Петербург, 06.02.2015, IV Всероссийский конгресс молодых ученых, г. Санкт-Петербург, 8 апреля 2015 г., Информационная безопасность регионов России (ИБРР-2015), г. Санкт-Петербург, 28-30 октября 2015 г.

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

Основные результаты, выносимые на защиту

1. Модели поддержки автоматизированного проектирования высоконадежных кластерных систем высокой доступности и отказоустойчивости с использованием технологий виртуализации, в том числе:

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

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

обеспечения непрерывности вычислительного процесса при возникновении и накоплении отказов;

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

Публикации

По теме диссертации опубликовано 14 работ, включая шесть статей в изданиях из перечня ВАК.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка используемых литературных источников. Общий объем диссертации: 179 страниц.

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

Виртуализация - это группа технологий, основанных на преобразовании формата или параметров программных или сетевых запросов к компьютерным ресурсам с целью обеспечения независимости процессов обработки информации от программной или аппаратной платформы информационной системы (Определение по ГОСТ Р 56938-2016) [13]. Технологии виртуализации активно и повсеместно применяются во множестве финансовых, производственных, медицинских и других учреждений. Активное внедрение в настоящее время технологий виртуализации обусловлено тем, что они позволяют уменьшить количество используемого оборудования, значительно снизить время, требуемое на внедрение новых услуг, а также обеспечивают возможность быстрой модернизации и масштабируемости сервисов.

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

Развитие виртуализации привело к появлению различных программных продуктов для управления вычислительной инфраструктурой. Среди них следует отметить как продукты непосредственно для управления отдельными ресурсами (виртуальными машинами, системами хранения данных, сетями), так и продукты для управления всей инфраструктурой для конкретных пользователей (платформы виртуализации, облачные среды, рабочие столы пользователей (VDI), виртуализация для рабочих столов и т.д.)

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

Определение по ГОСТ Р 56938-2016: Технология создания изолированной программной среды (контейнера) со специфическим набором компонентов имитируемого микропрограммного и аппаратного обеспечения, обеспечивающим работу отдельных операционных систем [13].

Концепция виртуализации вычислительных систем, как полагают, эволюционировала от идей, выдвинутых Кристофером Стрейчи, профессором Оксфордского университета, в своей статье под названием «Разделение времени в больших быстродействующих компьютерах» [19]. Документ был зачитан на конференции ЮНЕСКО по обработке информации в 1959 году. Стрейчи описал то, что в будущем назвали «многозадачность» («multiprogramming»): способность программ выполняться во время ожидания периферийных устройств другими программами, например, при вводе-выводе (концепция разделения времени) [20].

Первые компьютеры были очень дорогими и медленными устройствами. Обычно они предназначались для выполнения конкретного набора задач и управлялись с панели оператора, который вручную вводил короткие программы посредством изменения позиции переключателей на панели. Эти программы могли выполняться в течение нескольких часов или даже недель. Но когда скорость компьютеров начала расти, простои машины в связи с вводом очередной программы стали неприемлемы. Появилась методология пакетной обработки с целью уменьшить время простоя машины при вводе программы. В пакетной обработке, как только одна программа завершала выполнение, компьютер загружал следующую. Чтобы поддерживать процесс пакетной обработки, программисты использовали перфокарты или перфоленты. Важные программы запускались в первую очередь, менее важные – после выполнения всех остальных. Концепция разделения времени появилась в результате понимания того, что группа пользователей может использовать отдельный компьютер эффективней, чем один пользователь. Это связано с взаимодействием пользователя и компьютера: пользователь вводит информацию посимвольно с паузами, за время которых компьютер может выполнять тысячи операций, поэтому, когда одновременно работает группа пользователей, в эти паузы компьютер может выполнять их задачи. Если подобрать оптимальный размер группы пользователей, эффективность использования компьютера значительно повысится. Точно также компьютер может выполнять задачи других пользователей в те интервалы времени, которые тратятся на ожидание операций чтения диска, ленты или передачи по сети.

По сравнению с пакетной обработкой, реализация системы, использующей преимущество разделения времени, сложна. Пакетная обработка являлась просто формой организации работы с ранними компьютерными системами. Компьютеры продолжали выполнять одну программу для одного пользователя за один раз, а всё, что изменила пакетная обработка – было сокращение времени между запусками программ. Разработка системы, которая поддерживала бы одновременную работу многих пользователей принципиально отличалась от этого. Контексты (состояния) каждого пользователя и его программ должны были храниться в машине, и иметь возможность быстро заменяться другими. Переключение контекста требовало значительного количества процессорных тактов, что было большой проблемой для медленных машин той эпохи. Тем не менее, так как в компьютерах быстро увеличивалась частота процессора, и, что ещё важнее, размер памяти (в том числе за счет виртуальной памяти), в которой могли храниться состояния пользователей, накладные расходы на разделение времени соответственно уменьшались.

Требования к проектируемым высоконадежным кластерным системам с использованием виртуализации на базе определенных проектных решений

В 2005 году компания Google решала проблемы массового предоставления веб-сервисов, а именно – искала способ более эффективного масштабирования ресурсов в своем центре обработки данных таким образом, чтобы каждый пользователь получил сервис на высоком уровне в любой момент, независимо от текущей загрузки, и чтобы использовать оставшиеся ресурсы для служебных фоновых задач. Сотрудники Google экспериментировали с традиционной виртуализацией серверов для решения этой задачи, но быстро пришли к выводу, что она не подходит. Главной проблемой стало то, что потеря производительности слишком высока (а плотность, соответственно, слишком низка) и отклик недостаточно эластичен для массового предоставления веб-сервисов. Но пользователи при этом всегда ждут немедленного ответа, независимо от того, сколько именно других пользователей в этот же момент работает с сервисом. Учитывая среднее время загрузки ВМ на базе гипервизора в десятки секунд, такой тип виртуализации не подходил для этой задачи.

В то же самое время группа разработчиков экспериментировала с Linux и концепцией, основанной на механизме cgroups, называющейся «контейнеры процессов». Данная группа была приглашена Google для работы над контейнеризацией дата-центров в целях решения проблемы масштабирования. В январе 2008 года часть технологии cgroup, используемой в Google, перешла в ядро Linux. Так родился проект LXC (LinuX Containers).

Приблизительно в это же время компания Parallels выпустила OpenSource-версию своего продукта контейнерной виртуализации Virtuozzo под названием OpenVZ. В 2011-ом Google и Parallels пришли к соглашению о совместной работе над своими контейнерными технологиями. Результатом стал релиз ядра Linux версии 3.8 в 2013-ом году, в котором были объединены все актуальные на тот момент контейнерные технологии для Linux.

В 2013 году вышел первый релиз ПО контейнерной виртуализации от компании Docker.

Уровень виртуализации ОС обеспечивает изоляцию и безопасность ресурсов между различными контейнерами и делает каждый контейнер похожим на физический сервер. Основные преимущества контейнерной виртуализации: - контейнеры выполняются на одном уровне с физическими серверами. Использование реального оборудования и драйверов позволяют получить высокую производительность; каждый контейнер может масштабироваться до ресурсов целого физического сервера; - технология виртуализации на уровне ОС позволяет добиться самой высокой плотности, среди доступных решений виртуализации; - контейнеры используют единую ОС, что делает их поддержку и обновление очень простым. Недостаток: - из-за совместного использования ядра на одном сервере нельзя запускать разные гостевые ОС. В максимальной степени преимущества контейнеров проявляются в однородной среде.

Виртуализация систем хранения данных позволяет изолировать хранилища данных, предоставляя единый интерфейс для потребителей систем хранения данных с возможностью получения необходимой информации по сети. Определение по ГОСТ Р 56938-2016: Технология построения изолированного пространства хранения данных с единым интерфейсом управления на основе машинных накопителей информации, обеспечивающая получение необходимой информации посредством ее передачи по каналам передачи данных[18]. Многие компании продолжают сталкиваться с проблемами хранения информации, характерными для современного бизнеса. Среди трудностей, связанных с системами хранения данных, можно отметить: - расходы, связанные с закупкой дополнительных дисков; - затраты на расширение площадей при росте систем хранения данных и всей среды; - время, затрачиваемое на ввод новых дисков в эксплуатацию; - административные издержки, связанные с процессом выделения требуемых емкостей хранения; необходимость использования квалифицированных кадров для организации процесса управления хранилищем данных; растущие требования к интеграции данных в среде с оборудованием различных производителей;

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

Для хранения больших объемов критичной для бизнеса информации применение находят несколько технологий, среди которых можно отметить RAID, появившийся в 1987 году и высокоскоростные сетевые архитектуры SAN (Storage Area Network, Сеть хранения данных), появившиеся с конца восьмидесятых, когда впервые была предложена идея построения сети FibreChannel. Потребность в более эффективных решениях стала насущной задачей современного бизнеса. Одним из наиболее перспективных направлений в данной области считается построение сетевых систем хранения с использованием методов виртуализации.

Методики стендовых экспериментов

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

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

Определим тогда следующие параметры, от которых зависит постоянная составляющая времени переноса, присутствующая при миграции с прерыванием выполнения сервиса и без: - размер виртуальных дисков ВМ; - размер оперативной памяти, выделенной ВМ (только при динамической миграции); - пропускная способность канала передачи данных.

От следующих параметров зависит переменная составляющая времени переноса, которая присутствует только при динамической миграции: - скорость изменения данных сервисом; - скорость чтения данных сервисом.

На первый взгляд технология динамической миграции выглядит предпочтительней переноса с остановкой выполняемого сервиса, особенно при использовании общей системы хранения данных в кластере, но нужно отметить, что динамическая миграция характеризуется высокой сложностью прогнозирования времени и поведения переноса ВМ при заданном ограничении времени недоступности сервиса, что особенно важно при необходимости окончания миграций всех сервисов кластера к заданному моменту времени (например, к моменту отключения электроэнергии на объекте).

Проведенные стендовые эксперименты (см. главу 3) показали, что механизм динамической миграции, реализованный в распространенном гипервизоре qemu-kvm и программном пакете для управления libvirt, неэффективен, когда средняя скорость изменения данных сервисом становится выше пропускной способности канала связи. Перенос ВМ в данной ситуации практически зацикливается на неопределенное время. Либо, при принудительном ограничении на время миграции, выполнение ВМ останавливается по истечение этого времени для ожидания переноса всех данных на узел назначения. Но при этом средняя скорость чтения никак не влияет на время переноса. Данный механизм получил название «Итеративный подход» («Iterative approach») или «подход с копированием данных до остановки» («pre-copy approach»)[47].

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

В работе [48] предлагается механизм для миграции без остановки сервиса, не зависящий от скорости изменения данных, называемый «подход с передачей данных в фоновом режиме» («background-copy-approach») или «подход с копированием данных после остановки» («post-copy approach»). А также механизм, частично зависящий как от скорости чтения данных сервисом, так и от скорости изменения данных сервисом, называемый «Гибридный подход» («Hybrid approach») [36].

Рассмотрим данные механизмы подробнее. В общем процесс динамической миграции можно разделить на два этапа: 1. передача данных (регистры vcpu, память, диск(и)) на узел назначения. 2. передача выполнения ВМ на узел назначения. В «Итеративном» механизме динамической миграции сначала происходит передача данных, а затем – передача выполнения ВМ на узел назначения. Передача данных узлу назначения выполняется на протяжении ряда итераций. Страницы, которые были изменены («загрязнены», «dirty») приложением во время передачи ВМ, называемые «загрязненными» страницами («dirty pages»), передаются в каждой новой итерации, и этот процесс повторяется, пока либо не наступит ограничение на итерации, либо пока непереданное количество данных не станет меньше какого-то заданного предела.

В общем, динамическую миграцию с «итеративным подходом» можно разделить на следующие стадии (рисунок 2.4).

1. На узел назначения передается так называемый образ ВМ (оперативная память, дисковые данные).

2. На узел назначения передаются блоки данных (страницы) образа ВМ, которые были «загрязнены» за время завершившейся передачи стадии 1. Затем передаются страницы, «загрязненные» за время данной передачи. И так далее передаются страницы, которые были изменены за время каждой предыдущей передачи «загрязненных страниц». Каждая такая передача страниц, которые были изменены за время предыдущей передачи «загрязненных» страниц называется итерацией. Итерации передачи данных продолжаются до тех пор, пока либо не наступит заданное пользователем ограничение на время миграции, либо пока непереданное количество данных не станет меньше какого-то заданного предела (как правило, значительно меньшего относительно объема образа ВМ).

3. После окончания или остановки итеративной передачи, на исходном узле осуществляется остановка ВМ. Непереданные в предыдущих стадиях страницы данных оперативной памяти и дисков, а также регистры виртуальных процессоров, состояния виртуальных устройств (так называемые «рабочий набор», «working set» [36]) передаются на узел назначения. После чего работа ВМ возобновляется на узле назначения.

Последовательность автоматизированного проектирования

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

В таблице 2.1 приведены наработки на отказ элементов типового сервера общего назначения на примере серверной платформы Huawei Fusion Server. С помощью данных значений возможно рассчитать интенсивность отказа для сервера, необходимую в качестве исходных данных для расчётов с помощью разработанных марковских моделей надежности.

Стоимость данной модели сервера –150 тыс. р. Примем данную стоимость как стоимость типового сервера общего назначения.

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

Минимальные комплекты включают в себя два сервера общего назначения и сетевое оборудование, обеспечивающее функционирование технологий на базе виртуализации «Отказоустойчивость» и «Высокая доступность» соответственно.

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

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

На рисунке 2.29 приведен пример сравнения нестационарного коэффициента готовности проектных решений конфигураций двухмашинного кластера с организацией восстановления на базе технологий «Отказоустойчивость» и «Высокая доступность» и односерверного решения с оперативным восстановлением. При этом в данном сравнении в каждом решении серверы имеют различные интенсивности отказов (для FT-кластера – 10-4 1/ч , для HA-кластера – 10-3 1/ч, для односерверного – 9 10-6 1/ч) и одинаковую интенсивность отказов коммутатора. Предполагаем, что данные проектные решения имеют одинаковую стоимость. Наибольшее значение в данном случае имеет проектное решение FT-кластера, не смотря на наименьшую интенсивность отказов серверов в конфигурации.

Оценка нестационарного коэффициента готовности проведена с помощью марковских моделей, приведенных в разделе 2.5.1.3 Нестационарный коэффициент готовности проектных решений конфигураций двухмашинного кластера с организацией восстановления на базе технологий виртуализации и односерверного решения с оперативным восстановлением и различными интенсивностями отказов используемых серверов На рисунке 2.30 приведен пример сравнения нестационарного коэффициента готовности проектных решений конфигураций двухмашинного кластера с организацией восстановления на базе технологий «Отказоустойчивость» и «Высокая доступность» и односерверного решения с неоперативным восстановлением. При этом в данном сравнении в каждом решении серверы также имеют различные интенсивности отказов (для FT-кластера – 10-5 1/ч, для HA-кластера – 10-4 1/ч, для односерверного – 9 10-6 1/ч) и одинаковую интенсивность отказов коммутатора. Предполагаем, что данные проектные решения также имеют одинаковую стоимость. Наибольшее значение в данном случае имеет проектное решение односерверного решения, а решение FT-кластера имеет наименьшее значение.

Оценка нестационарного коэффициента готовности проведена с помощью марковских моделей, приведенных в разделе 2.5.1.3

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

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

В таблице 2.2. приведен пример сравнения стационарного коэффициента готовности и времени простоя в год двухмашинных кластеров с разными требованиями к используемому оборудованию и эксплуатации при организации восстановления высоконадежных вычислительных систем на базе технологий виртуализации, которые были определены в разделе 2.3.1, и одинаковыми конфигурациями серверов. Исходные данные конфигурации кластера использованы, приведенные в разделе 2.5.1.5. Оценка стационарного коэффициента готовности проведена с помощью марковских моделей, приведенных в разделе 2.5.1.3.

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

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

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