После четырёх лет разработки увидел свет релиз распределенного реплицируемого блочного устройства DRBD 9.0, позволяющего реализовать подобие массива RAID-1, сформированного из объединённых по сети нескольких дисков разных машин (зеркалирование по сети). Система оформлена в виде модуля для ядра Linux и распространяется под лицензией GPLv2.

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

В состав кластера, формирующего хранилище, может входить несколько десятков узлов, размещённых как в локальной сети, так и территориально разнесённых в разные центры обработки данных. Синхронизация в подобных разветвлённых хранилищах выполняется с использованием технологий mesh-сети (данные растекаются по цепочке от узла к узлу). Репликация узлов может производиться как в синхронном режиме, так и в асинхронном. Например, локально размещённые узлы могут применять синхронную репликацию, а для выноса на удалённое размещённые площадки может применяться асинхронная репликация с дополнительным сжатием и шифрованием трафика.

Основные новшества DRBD 9:

  • Новая архитектура передачи данных, в которой используется абстрагированный транспортный уровень, позволяющий реализовать каналы связи не только поверх TCP, например, с использованием RDMA/Infiniband и SCTP.
  • Интеграция RDMA (Remote Direct Memory Access) для прямого доступа к оперативной памяти другого компьютера и поддержка сетевых карт Infiniband, позволяют добиться двухкратного увеличения интенсивности репликации с сокращением нагрузки на CPU на 50% по сравнению с транспортом поверх традиционной IP-сети;
  • Расширенные возможности отказоустойчивости - хранилище теперь может быть реплицировано одновременно на 32 узла, размещённых в различных сетевых окружениях.
  • Новый инструментарий для управления, позволяющий развернуть сложное реплицированное хранилище за считанные минуты. Инструментарий предоставляет API для автоматизации выполнения действий с DRBD и интеграции с внешними системами, такими как OpenStack, а также для создания на базе Linux альтернатив традиционным SAN.
  • Поддержка установки нескольких соединений к одному ресурсу, что позволяет создавать более эффективные и сложные схемы соединения узлов между собой.
  • Автоматическая установка статуса узла в зависимости от активности. Например, узел помечается первичным при открытии блочного устройства на запись и вторичным - при прекращении работы с устройством всеми процессами.
  • Распространение обновлений в неблокирующем режиме, что позволило значительно увеличить производительность хранилища (в тестах более 400 тыс операций в секунду).
  • Поддержка двухфазных коммитов, позволяющих охватить косвенно связанные узлы во время установки нового соединения или при смене первичного узла;
  • Переработанная логика принятия решений о ресинхронизации в условиях наличия нескольких соединений или некачественной сетевой связи.


Источник: http://www.opennet.ru/opennews/art.shtml?num=42447