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

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

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

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

  • 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-связки из двух узлов как локального хранилища;
  • если оба узла работоспособны, операция чтения всегда осуществляется только с локального узла.

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

  • 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:

<уточнить необходимость синхронизации времени для узлов>

Работа с DRBD

Установка DRBD

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

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


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

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

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

  1. Сделать резервную копию файла конфигурации DRBD:
  2. Указать настройки конфигурации виртуального блочного устройства DRBD в /etc/drbd.d/global_common.conf:
    global {
      usage-count no;
    }
    common {
      net {
        protocol C;
      }
    }

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

    • блок gobal:

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

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

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

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

  1. Для добавления пунктов

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

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

Просмотр списка ресурсов:

drbd-overview


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

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

  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


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


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

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

  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 ИСПРАВИТЬ НА КОРРЕКТНЫЙ ВЫВО


  • Нет меток