Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 28 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) и РУСБ.10015-10, РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Аннотация

DRBD (Distributed Replicated Block Device) — это инструмент, позволяющий создавать решения для хранения данных путем репликации блочных устройств (например, жестких дисков или томов LVM). При использовании DRBD данные, записанные на одном сервере, автоматически и синхронно копируются на другой сервер. Использование DRBD является одним из способов организации сетевого RAID-1. 

Ключевые особенности:

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

Каждый из узлов может функционировать как:

  • primary/первичный — узел доступен для чтения и записи данных как локальное блочное устройство;
  • secondary/вторичный — узел хранит данные, но не позволяет получить к ним локальный доступ.

Если первичный узел прекращает работу, DRBD переводит вторичный узел в режим первичного. Узлы могут взаимодействовать между собой в одном из трех режимов репликации.

Режимы репликации

В терминологии DRBD режимы репликации именуются как протоколы (protocol). Протокол определяет, как данные синхронизируются между узлами, а также как обрабатываются ситуации сбоя и обеспечения целостности данных. 

Инструмент поддерживает три режима репликации данных между узлами:

  1. Protocol A  — операция записи считается завершенной, если завершена запись на локальный узел и запись передана на удаленный узел. Используется для УТОЧНИТЬ ПРИМЕНЕНИЕ
  2. Protocol B  — выполнены аналогичные Protocol A условия после чего удаленный узел подтвердил получение записи. Используется для 
  3. Protocol C  — выполнены аналогичные Protocol A условия после чего локальный и удаленный узлы подтвердтвердили успешное завершение записи. Используется для 

В качестве объекта записи в DRBD выступает т.н. ресурс. Ресурс (Resource) — это реплицируемые области блочных устройств.

Параметры стенда


Для настройки DRBD необходимо наличие ресурсов сопоставимого объема

Для стенда используется два компьютера. DRBD должен быть запущен на обоих узлах. Для развертывания кластера используются два подсоединенных к сети компьютера с установленной ОС Astra Linux.

ПараметрУзел 1Узел 2
Имя узлаdrbd1drbd2
Статический IP-адрес узла10.19.1.3610.19.1.39

Настройка сетевых подключений

  1. При необходимости обратиться к справочной странице настройка сетевых подключений в Astra Linux
  2. На обоих узлах указать адреса узлов в /etc/hosts:
    127.0.0.1 localhost
    10.19.1.36 drbd01
    10.19.1.39 drbd02


  3. Перезапустить сервис:
    service network restart

Установка DRBD

На обоих узлах:

  1. Установить пакет:
    sudo apt install drbd-utils


  2. Подключить модуль ядра:
    modprobe drbd

Настройка репликации

Перед началом настройки сделаить резервную копию конфигурационного файла global_common.conf инструментом cp:


cd /etc/drbd.d

sudo cp global_common.conf global_common.conf.backup


или при помощи графического файлового менеджера.

На обоих узлах:

Указать настройки конфигурации виртуального блочного устройства DRBD в /etc/drbd.d/global_common.conf:

global {
  usage-count no;
}
common {
  net {
    protocol C;
  }
}

Настройки основного конфигурационного файла:

    • блок global содержит параметры, влияющие на работу всех ресурсов:

      • параметр usage-count отвечает за отправку статистики использования DRBD на сервера LINBIT. По умолчанию установлен в yes. Рекомендуется изменить на no;
    • блок net содержит параметры сетевого взаимодействия между узлами:

      • параметр protocol указывает используемый режим репликации.

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

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

Добавление ресурсов

На обоих узлах:

  1. Указать реплицируемый дисковый ресурс в /etc/drbd.d/r0.res для ресурса r0:
    resource r0 {
     # здесь возможно указание значения параметра protocol если он не указан в global_common.conf
      on drbd01 { 
        device    /dev/drbd0;
        disk      /dev/sdb;
        address   10.19.1.36:7789;
        meta-disk internal;
      }
      on drbd02 {
        device    /dev/drbd0;
        disk      /dev/sdb;
        address   10.19.1.39:7789;
        meta-disk internal;
      }
    }

    Настройки конфигурационного файла ресурсов:

    Конфигурационный файл подробнее:

    • resource — название ресурса;
    • on <имя_узла> — описание первого узла:
      • device — блок данных, который необходимо создать;
      • disk — родительский жесткий диск;
      • address — IP-адрес и номер порта соответствующего узла;
      • meta-disk internal — указание хранить метаданные на этом же узле.


  2. Инициализировать хранилище метаданных:
    sudo drbdadm create-md r0


  3. Запустить службу drbd:
    sudo /etc/init.d/drbd start


  4. Включить в автозагрузку службу drbd:
    echo drbd > /etc/modules-load.d/drbd.conf

Далее:

  1. Сделать один из узлов, наппример drbd01, первичным выполнив на нем:
    sudo drbdadm -- --overwrite-data-of-peer primary all


  2. На вторичном узле drbd02 проверить процесс репликации:
    watch -n1 cat /proc/drbd

    Остановить watch можно сочетанием клавиш <Ctrl+C>


  3. Указать файловую систему для созданного виртуального блочного устройства на первичном узле:
    sudo mkfs.ext4 /dev/drbd0


  4. Примонтировать устройство на первичному узле:
    sudo mount /dev/drbd0 /srv
  5. для добавления

Просмотр списка задействованных ресурсов DRBD:

drbd-overview

Управление ресурсами

Для управления ресурсами в DRBD применяется компонент drbdadm.

Проверка работы

  1. Скопировать несколько файлов на узел, установленный как основной, в каталог /srv :
    sudo cp -r /etc/default /srv


  2. Отмонтировать каталог /srv:
    sudo umount /srv


  3. Установить первичному узлу роль вторичного:
    sudo drbdadm secondary r0


  4. Установить вторичному узлу роль первичного:
    sudo drbdadm primary r0


  5. Смонтировать ранее отмонтированный раздел:
    sudo mount /dev/drbd0 /srv


  6. Убедиться в наличии ранее скопированных файлов в каталоге /srv :
    ls

    /etc/default


  • Нет меток