Владислав Авдеев
25.06.2019
617

Настройка DRBD на Centos7

Данная статья является второй статьей из цикла по кластеризации сервера на операционной системе Centos 7 для Asterisk. С описанием базовой настройки HA кластера можно ознакомиться в статье. В данной статье будет рассмотрено конфигурирование механизма DRBD (Distributed Replicated Block Device) — Распределенного Реплицируемого Блочного Устройства. По сути своей DRBD представляет собой систему хранения, распределенную между несколькими […]

Данная статья является второй статьей из цикла по кластеризации сервера на операционной системе Centos 7 для Asterisk. С описанием базовой настройки HA кластера можно ознакомиться в статье.

В данной статье будет рассмотрено конфигурирование механизма DRBD (Distributed Replicated Block Device) — Распределенного Реплицируемого Блочного Устройства. По сути своей DRBD представляет собой систему хранения, распределенную между несколькими хостами. Репликация данных происходит по TCP/IP.

Исходные данные:
Два хоста из предыдущей статьи, с добавленными к ним дополнительными HDD.

Если дополнительные диски не размечены рекомендуется их разметить.

Далее действия выполняются на обоих узлах


Рекомендуется отключить SeLinux


Сначала проверить что диски видны операционной системой fdisk -l должен быть виден неразмеченный диск, в данном примере это диск /dev/sdb

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

fdisk /dev/sdb

Последовательность команд в консоли fdisk:

– n — запрос на создание нового раздела

– p — указание создать primary раздела

– 1 — номер раздела

Выбирается 1 так как в данном примере будет один раздел

– номер первого сектора — оставить по-умолчанию

– номер последнего сектора — оставить по-умолчанию

С такими параметрами будет создан раздел полностью занимающий подключенный диск

– w — записать изменения

Теперь в выводе команды fdisk -l будет отображен созданный раздел:

Далее необходимо отформатировать созданный раздел mke2fs -j /dev/sdb1

С помощью утилиты dd нужно затереть файловую систему:

dd if=/dev/zero bs=1M count=500 of=/dev/sdb1; sync

После создания разделов, можно переходить к настройке DRBD.

До начала установки рекомендуется подключить репозиторий ELRepo:
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Далее можно установить все необходимые для DRBD пакеты:

yum install  kmod-drbd84 drbd84-utils
Перед тем как приступить к настройке рекомендуется создать бэкап конфигурационного файла global_common.conf


Сделать это можно, например, выполнив следующую команду:

cp -v /etc/drbd.d/global_common.conf  /etc/drbd.d/global_common.conf.bak

Теперь можно приступать к правке файла

/etc/drbd.d/global_common.conf

Необходимо добавить следующие параметры:

– в секции startup

wfc-timeout 10;

degr-wfc-timeout 30;

– в секции disk

on-io-error detach;

– в сеции net

protocol C;

after-sb-0pri discard-least-changes;

after-sb-1pri discard-secondary;

after-sb-2pri call-pri-lost-after-sb;

cram-hmac-alg “sha1”;

shared-secret “StrongPasswd”;

shared-secret должен совпадать на обоих узлах

Далее необходимо создать файл ресурса DRBD, имя ресурса можно дать произвольное, в данном случае имя ресурса будет drbd_test. имя файла drbd_test.res

В файле необходимо прописать следующее содержимое:

resource drbd_test {
  on main.test {
    device    /dev/drbd0;
    disk      /dev/sdb1;
    address   10.10.56.101:7789;
    meta-disk internal;
  }
  on rezerv.test {
    device    /dev/drbd0;
    disk      /dev/sdb1;
    address   10.10.56.102:7789;
    meta-disk internal;
  }
}

Имена rezerv.test и main.test со ссылкой на ip должны быть прописаны в /etc/hosts

Далее необходимо запусть инициализацию хранилища командой:

drbdadm create-md drbd_test

Далее необходимо подключить созданный ранее ресурс к DRBD:

Теперь если посмотреть состояние DRBD командой cat /proc/drbd — будет видно что оба узла в состоянии Secondary и Inconsistent.

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

drbdadm primary --force drbd_test

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

Следующим шагом необходимо создать файловую систему на устройстве DRBD (выполняется на основном узле):

mkfs.xfs /dev/drbd0

После завершения синхронизации необходимо примонтировать DRBD хранилище к файловой системе. Для этого сначала необходимо создать точку монтирования, рекомендуется создавать в каталоге /mnt, например такого вида /mnt/drbd_data, создается командой mkdir /mnt/drbd_data, далее примонтировать командой: mount /dev/drbd0 /mnt/drbd_data

Обратите внимание, что монтируется только на основном узле.

Перед завершением работ необходимо проверить, что данные синхронизируются между узлами для этого перейти в созданную директорию cd /mnt/drbd_data/

И создать в ней любой файл например так: touch test.txt

Далее размонтировать drbd устройство с основного узла: umount /mnt/drbd_data и перевести узел в режим ведомого: drbdadm secondary drbd_test, перевести резервный узел в режим ведущего и примонтировать директорию:

drbdadm primary --force drbd_test
mount /dev/drbd0 /mnt/drbd_data

перейти в примонтированную директорию и проверить наличие созданного файла командой

ls

На этом настройка DRBD завершена — в следующих статьях будет расказан о кподготовке сервера MariaDB под кластеризацию, настройка Pacemaker для управления drbd-ресурсом и кластеризации Asterisk

 
avatar
  Подписаться  
Уведомление о

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

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

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

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

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

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices