После четырёх лет разработки увидел свет релиз распределенного реплицируемого блочного устройства DRBD 9.0,
позволяющего реализовать подобие массива RAID-1, сформированного из
объединённых по сети нескольких дисков разных машин (зеркалирование по
сети). Система оформлена в виде модуля для ядра Linux и распространяется под лицензией GPLv2.
DRBD может использоваться для объединения накопителей узлов кластера в единое отказоустойчивое хранилище. Для приложений и системы такое хранилище выглядит как одинаковое для всех систем блочное устройство. При использовании DRBD все операции с локальным диском отправляются на другие узлы и синхронизируются с дисками других машин. В случае выхода из строя одного узла, хранилище автоматически продолжит работу за счёт оставшихся узлов. При возобновлении доступности сбойного узла, его состояние будет автоматически доведено до актуального вида.
В состав кластера, формирующего хранилище, может входить несколько десятков узлов, размещённых как в локальной сети, так и территориально разнесённых в разные центры обработки данных. Синхронизация в подобных разветвлённых хранилищах выполняется с использованием технологий mesh-сети (данные растекаются по цепочке от узла к узлу). Репликация узлов может производиться как в синхронном режиме, так и в асинхронном. Например, локально размещённые узлы могут применять синхронную репликацию, а для выноса на удалённое размещённые площадки может применяться асинхронная репликация с дополнительным сжатием и шифрованием трафика.
Основные новшества DRBD 9:
source1
source2
DRBD может использоваться для объединения накопителей узлов кластера в единое отказоустойчивое хранилище. Для приложений и системы такое хранилище выглядит как одинаковое для всех систем блочное устройство. При использовании DRBD все операции с локальным диском отправляются на другие узлы и синхронизируются с дисками других машин. В случае выхода из строя одного узла, хранилище автоматически продолжит работу за счёт оставшихся узлов. При возобновлении доступности сбойного узла, его состояние будет автоматически доведено до актуального вида.
В состав кластера, формирующего хранилище, может входить несколько десятков узлов, размещённых как в локальной сети, так и территориально разнесённых в разные центры обработки данных. Синхронизация в подобных разветвлённых хранилищах выполняется с использованием технологий mesh-сети (данные растекаются по цепочке от узла к узлу). Репликация узлов может производиться как в синхронном режиме, так и в асинхронном. Например, локально размещённые узлы могут применять синхронную репликацию, а для выноса на удалённое размещённые площадки может применяться асинхронная репликация с дополнительным сжатием и шифрованием трафика.
- Новая архитектура передачи данных, в которой используется абстрагированный транспортный уровень, позволяющий реализовать каналы связи не только поверх TCP, например, с использованием RDMA/Infiniband и SCTP.
- Интеграция RDMA (Remote Direct Memory Access) для прямого доступа к оперативной памяти другого компьютера и поддержка сетевых карт Infiniband, позволяют добиться двухкратного увеличения интенсивности репликации с сокращением нагрузки на CPU на 50% по сравнению с транспортом поверх традиционной IP-сети;
- Расширенные возможности отказоустойчивости - хранилище теперь может быть реплицировано одновременно на 32 узла, размещённых в различных сетевых окружениях.
- Новый инструментарий для управления, позволяющий развернуть сложное реплицированное хранилище за считанные минуты. Инструментарий предоставляет API для автоматизации выполнения действий с DRBD и интеграции с внешними системами, такими как OpenStack, а также для создания на базе Linux альтернатив традиционным SAN.
- Поддержка установки нескольких соединений к одному ресурсу, что позволяет создавать более эффективные и сложные схемы соединения узлов между собой.
- Автоматическая установка статуса узла в зависимости от активности. Например, узел помечается первичным при открытии блочного устройства на запись и вторичным - при прекращении работы с устройством всеми процессами.
- Распространение обновлений в неблокирующем режиме, что позволило значительно увеличить производительность хранилища (в тестах более 400 тыс операций в секунду).
- Поддержка двухфазных коммитов, позволяющих охватить косвенно связанные узлы во время установки нового соединения или при смене первичного узла;
- Переработанная логика принятия решений о ресинхронизации в условиях наличия нескольких соединений или некачественной сетевой связи.
source1
source2
Комментариев нет:
Отправить комментарий