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

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

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

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

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

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

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

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 10795
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 9042
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 9090
Комментарии: 0
Конкурентное программирование на SCALA

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

19.03.2018г.
Просмотров: 5735
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 6429
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 3735
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 2731
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3531
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3521
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6016
Комментарии: 0
Анализ социальных медиа на Python

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

Друзья сайта  

 Кластер виртуализации. Часть 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