Александр Мутовин
19.10.2019
1193

Установка и настройка DRBD9 из исходников.

В этой статье мы создадим распределенное реплицируемое блочное устройство (DRBD) из двух серверов. DRBD применяется при построении кластерных отказоустойчивых систем.   DRBD поддерживается и разрабатывается компанией Linbit  и распространяется по лицензии «GNU GPL 2». Мы будем производить установку на Linux Centos 7 minimal. Перед началом работ необходимо сделать обновление следующей командой: Все ранее установленные пакеты будут […]

DRBD9 из исходников

В этой статье мы создадим распределенное реплицируемое блочное устройство (DRBD) из двух серверов. DRBD применяется при построении кластерных отказоустойчивых систем.  

<strong>Блочное устройство</strong> — вид файла устройств в UNIX/Linux-системах, обеспечивающий интерфейс к устройству, реальному или виртуальному, в виде файла в файловой системе. Пример блочных устройств: /dev/sda, /dev/md1, /dev/drbd0 и т.д.

DRBD поддерживается и разрабатывается компанией Linbit  и распространяется по лицензии «GNU GPL 2».

Мы будем производить установку на Linux Centos 7 minimal.

Перед началом работ необходимо сделать обновление следующей командой:

# yum-y update
Отображение в консоли при удачном обновлении
Отображение в консоли при удачном обновлении

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

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

# yum install –y net-tools wget nmap nano mc 
Установка дополнительных необходимых пакетов
Установка дополнительных необходимых пакетов
  • net-tools  — утилита для работы и диагностики сети
  • wget – утилита для скачивания файлов через консоль
  • nmap – утилита для сканирования сетевых портов
  • nano — текстовый редактор
  • mc — консольный файловый менеджер.

После чего необходимо отключить selinux

Включенный и не настроенный selinux будет блокировать доступ drbd к жестким дискам. В результате чего блочное устройство не будет создано автоматически после перезагрузки системы.

Открываем конфиг файл selinux:

# nano /etc/selinux/config

 В параметр SELINUX вписываем значение «disabled»

Отключение selinux
Отключение selinux

После внесения изменений требуется перезагрузка системы. После перезагрузки проверить статус selinux можно командой:

# sestatus
Статус selinux после выключения его и перезагрузки системы.
Статус selinux после выключения его и перезагрузки системы.

Далее перейдем в папку /usr/src/

#cd /usr/src/

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

#wget https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.20-0rc2.tar.gz
Скачивание модуля ядра DRBD
Скачивание модуля ядра DRBD
Rc в названии файла означает, что эта версия «release candidate» т.е. Программы на данной стадии прошли все комплексное тестирование, благодаря чему исправлены все критические ошибки, однако вероятность нахождения некоторых ошибок остается.<br>Такие программы ставить в продакшине нельзя.

Далее распаковываем скачанный файл:

# tar -zxvf drbd-9.0.20-0rc2.tar.gz

После чего переходим в директорию drbd-9.0.20-0rc2

# cd drbd-9.0.20-0rc2

Для дальнейшей установки необходимо установить 2 пакета kernel-devel и kernel-headers

# yum install –y kernel-devel  kernel-headers
Успешная установка пакетов.
Успешная установка пакетов.

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

После установки в папке /usr/src/kernel/ должны появиться новые файлы

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

Также следует установить следующие зависимости:

# yum -y install gcc gcc-c++ make automake autoconf help2man libxslt libxslt-devel flex rpm-build 

После чего выполняем команду сборки модуля ядра DRBD

# KDIR=/usr/src/kernels/3.10.0-1062.1.1.el7.x86_64/ make

По окончании успешной сборки выявляется сообщение как на скриншоте ниже:

Успешная сборка модуля ядра DRBD
Успешная сборка модуля ядра DRBD

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

# make install
Установка собранного модуля
Установка собранного модуля

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

#modprobe drbd
# lsmod | grep drbd – проверка загрузки модуля
Если после выполнения команды никакой информации не отобразилось, значит модуль подключился.
Подключение модуля
Подключение модуля

Далее добавим модуль в автозагрузку:

# echo “drbd” > /etc/modules-load.d/drbd.conf
Добавление модуля в автозагрузку.
Добавление модуля в автозагрузку.

После чего можно перезагрузить систему и проверить корректность подключения модуля DRBD.

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

Переходим в директорию /usr/src/

# cd /usr/src

Скачиваем пакет drbd-utils с официального сайта разработчика:

# wget https://www.linbit.com/downloads/drbd/utils/drbd-utils-9.10.0.tar.gz
Скачивание пакета
Скачивание пакета

Далее распаковываем пакет:

# tar –zxvf drbd-itils*

После чего переходим в распакованный архив:

#cd drbd-utils*

Запускаем скрипт autogen.sh

# ./autogen.sh
Подсказки при конфигурации пакетов.
Подсказки при конфигурации пакетов.

На странице разработчика описаны все параметры

Тут следует уделить внимание следующим параметрам:

  1. –prefix – каталог, куда будет установлены пакеты. По умолчанию это /usr/local/
  2. –localstatedir – директория временных файлов, по умолчанию используется /usr/local/var. Мы заменим на /var
  3. –sysconfdir – директория в которой хранятся конфигурационые файлы, по умолчанию используется /usr/local/etc. Мы заменим на более привычную директоирю /etc/

Изменение этих параметров достаточно, остальные подойдут нам по умолчанию.

Выполняем следующую команду:

# ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc

После подготовки конфигурации выполняем сборку и установку:

# make
#make install

После завершения установки можно ввести drbd и нажать кнопку «TAB» отобразятся все установленные утилиты:

Установленные утилиты для управления drbd.
Установленные утилиты для управления drbd.

Drbdadm – инструмент управления высокого уровня. Он располагается над drbdmeta и drbdsetup. Читает свой файл конфигурации и вызывает команду drbdmeta или drbdsetup в зависимости от необходимости
Drbdmeta – инструмент управления метаданными
Drbdsetup – утилита служит для настройки модуля ядра DRBD и отображения текущей конфигурации.

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

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

Безопасен в использовании.

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

Надежен в эксплуатации.

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

Гибкий в настройке.

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

Имеет огромный функционал.

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

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.