DRBD

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

DRBD (от англ. Distributed Replicated Block Device — «Распределённое Копируемое Блочное Устройство») — это блочное устройство, обеспечивающее синхронизацию (RAID1) между локальным блочным устройством и удалённым. Одним из применений является построение отказоустойчивых кластерных систем на операционной системе с ядром Linux. Вопреки распространённому мнению, DRBD не является кластерной файловой системой, и вообще файловой системой. Входит в ванильное ядро Linux с 15.12.2009.

DRBD поддерживает как синхронную, так и асинхронную синхронизацию (при синхронной синхронизации, протокол "С", операция записи считается завершённым, когда и локальный, и сетевой диски сообщают об успешном завершении записи; при асинхронной синхронизации (протокол "A") запись считается завершённой, как только запись завершилась на локальное устройство и данные были отправлены на удалённый узел). Также поддерживается промежуточный протокол (B), при котором запись считается успешной, если она завершилась на локальный диск и удалённый узел подтвердил получение (но не локальную запись) данных [1]. Синхронизация идёт через протокол TCP (без шифрования/аутентификации), по умолчанию используется порт tcp/3260.

DRBD поддерживает только два узла (более сложные конструкции могут строиться с помощью использования drbd-устройства в качестве "локального диска" для ещё одного drbd-устройства).

Узлы могут работать в режиме primary или secondary. Secondary хранит данные, но не позволяет осуществить к ним локальный доступ, Primary позволяет осуществить доступ. DRBD поддерживает режим primary/primary, при котором возможен доступ к обоим узлам. Если при этом на DRBD-устройстве располагается файловая система, то для поддержки режима primary/primary необходимо использовать кластерные файловые системы (такие, как GFS/GFS2).

Описание[править | править вики-текст]

DRBD работает локально на узле (то есть обеспечивает репликацию на удалённый узел содержимого локального блочного устройства). Для использования создаётся новое устройство, обычно /dev/drbdX (X-число). Для нормальной работы DRBD должен быть запущен на обоих узлах. Если узел имеет роль secondary, то он имеет соответствующее drbd-устройство, но доступ к нему запрещён. Как только происходит повышение роли до primary, доступ открывается. Большинство операций осуществляется с помощью утилиты drbdadm, хотя фактическая работа происходит на уровне ядра. Если локальное устройство выходит из строя и включена маскировка ошибок, то устройство /dev/drbdX продолжает работать, получая данные через сеть. Этот режим называется Diskless.

Источники[править | править вики-текст]

  1. Replication modes

Ссылки[править | править вики-текст]