Кластер виртуализации. Часть 1. Разворачиваем бюджетное отказоустойчивое решение::Журнал СА 11.2014
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 4293
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 5619
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 6853
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7253
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6326
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Кластер виртуализации. Часть 1. Разворачиваем бюджетное отказоустойчивое решение

Архив номеров / 2014 / Выпуск №11 (144) / Кластер виртуализации. Часть 1. Разворачиваем бюджетное отказоустойчивое решение

Рубрика: Администрирование /  Виртуализация

Сергей Урушкин СЕРГЕЙ УРУШКИН, системный администратор ИТЦ Телрос, urusha.v1.0@gmail.com

Кластер виртуализации. Часть 1
Разворачиваем бюджетное отказоустойчивое решение

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

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

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

Концепция

Так как кластер бюджетный, будем обходиться без SAN, Fibre Channel и т.п. Предлагается использовать два сервера (узла), у каждого две сетевые карты. Одна обеспечивает связь узлов и виртуальных машин (ВМ) с внешним миром, вторая – приватная сеть между узлами для обмена данными кластера. Все данные ВМ будут синхронизироваться между узлами в реальном времени, станет возможна живая миграция ВМ с одного узла на другой. При падении одного узла все ВМ, запущенные на нем, автоматически запускаются на другом узле.

Необходимые знания

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

  • знание составных частей и принципов работы аппаратной архитектуры x86 и периферийных устройств;
  • понимание семиуровневой модели OSI, принципов построения и маршрутизации сетей TCP/IP, технологии VLAN;
  • понимание терминов: виртуальный хост, виртуальная машина, гипервизор, RAID, файловая система (ФС), LVM, пакетный менеджер, кластер;
  • умение работать с командной строкой Linux на уровне администратора.

Программное обеспечение

Будет использоваться следующее свободное ПО:

  • Гипервизор: KVM. Почему не XEN? Просто опыта работы больше с KVM, а на данный момент важных отличий по функциональности практически нет.
  • Менеджер ВМ: libvirt. Обладает богатой функциональностью и широко используется в различных проектах облачного ПО, например, OpenStack.
  • Хранение данных: DRBD + DLM + CLVM + GFS2. DRBD – реализация сетевого RAID1 для Linux, обеспечивает синхронизацию данных на узлах. DLM – распределенный менеджер блокировок. CLVM – менеджер томов с поддержкой кластеризации. GFS2 – кластерная ФС. Для максимальной производительности образы ВМ будут храниться как тома LVM. При такой схеме производительность ФС не важна, GFS2 тут вполне подходит. Остальные компоненты практически не имеют альтернатив.
  • Менеджер кластера: Corosync + Pacemaker. Это основная связка, используемая в современных дистрибутивах.
  • ОС: CentOS 7.0. Изначально схема была развернута на Ubuntu 14.04, но при тестировании отказоустойчивости наблюдались проблемы на связке Corosync + Pacemaker. В итоге был выбран CentOS. Это, по сути, RHEL, а, если судить по багтрекерам, именно в Red Hat кластерное ПО обкатывается особенно активно. К тому же в RHEL периодически интегрируется новая функциональность KVM/libvirt.

Аппаратное обеспечение

За основу были взяты бытовые PC на Intel i7. Кратко по конфигурации:

  • Материнская плата – два слота PCIEx16 (или x8). Почему – см. ниже.
  • CPU, RAM – по вашим потребностям. Главное – понимать, что, если один узлов выйдет из строя, на оставшемся должно хватить ресурсов, чтобы запустить все ВМ-кластеры.
  • Аппаратный RAID с батарейкой (BBU). При использовании DRBD самый простой способ обеспечить высокую скорость и отзывчивость записи при сохранении надежности – BBU. Если скорости бытового HDD для задач достаточно, можно использовать и программное зеркало md-raid. В итоге при построении кластера использовался LSI Nytro 8100-4i + LSI00355 и 4 SATA HDD размером 3 Tб, собранные в RAID-10. SSD-кэш и BBU обеспечат высокую отзывчивость, а HDD – большой объем. Контроллер занимает один слот PCIEx8 (x16 также подойдет).
  • Сетевые карты. Нужно как минимум две. Одна для управления и ВМ. В данном случае встроенная в материнскую плату гигабитная карта. У второй сетевой карты задача обеспечить синхронизацию данных между узлами с минимальными накладными расходами по пропускной способности и отзывчивости, т.е. производительность передачи данных не меньшую, чем у дискового массива. Опять же для бытового HDD достаточно гигабитной сетевой карты. Для выбранного RAID был взят 2x10Gbps Intel E10G42BTDA + 2 кабеля XDACBL1M, занимает второй слот PCIEx8 (x16).
  • STONITH. В отказоустойчивом кластере при недоступности одного из узлов необходимо обеспечить fencing/STONITH – экстренное выключение сбойного узла. Это обязательная часть кластера. Без этого существует риск потерять данные. Механизмы бывают разные: IPMI, PDU и другие. В данном случае использовался PDU EG-PDU-002 (распределитель питания с удаленным управлением). Этот бюджетный вариант вполне подходит для кластера из двух узлов. Однако, если планируется масштабировать кластер и есть лишние средства, лучше взять PDU посерьезнее, например, APC. Если же в наличии серверное оборудование, можно использовать модули IPMI.
  • SWITCH. Сетевой коммутатор/маршрутизатор для соединения узлов и ВМ с миром. По соображениям безопасности следует использовать коммутатор с поддержкой VLAN, хотя в принципе возможен и вариант без отдельных VLAN. В описании используется коммутатор компании Сisco.
  • UPS – управляемый источник бесперебойного питания.

Итак, примерная стоимость сервера из приведенных выше компонентов с 32 Гб оперативной памяти – 110 000 руб., PDU – 10 000 руб. ИБП и коммутатор не считаем, т.к. эти компоненты необходимы для использования любого сервера. ПО бесплатное. Итого – 230 000 руб. Это сопоставимо со стоимостью одного брендового сервера аналогичной производительности, но в случае кластера имеется 100% резерв.

Сетевые системы хранения данных (СХД) обеспечивают высокую надежность и производительность, но одна такая система будет стоить не меньших средств. А ведь к СХД нужны еще и отдельные вычислительные узлы. Исходя из этого можно считать реализуемый кластер бюджетным, отказоустойчивым и обеспечивающим производительность ввода-вывода, близкую к производительности локальных дисковых массивов.

Основной минус бытового оборудования – ограниченное количество оперативной памяти. Если ваши нагрузки требуют (или могут вскоре потребовать) большего, чем 32 Гб, объема памяти или других ресурсов, следует смотреть в сторону серверного оборудования. Кластерное ПО будет работать эффективно на любых мощностях.

Статью целиком читайте в журнале «Системный администратор», №11 за 2014 г. на страницах 18-23.

PDF-версию данного номера можно приобрести в нашем магазине.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru