DRBD (от англ. Distributed Replicated Block Device — «распределённое реплицируемое блочное устройство») — программная система, обеспечивающая синхронизацию (RAID 1) между локальным блочным устройством и удалённым. Одним из применений является построение отказоустойчивых кластерных систем на операционной системе с ядром Linux. Входит в ванильное ядро Linux с 15 декабря 2009 года.
DRBD | |
---|---|
| |
Написана на | Си[2] |
Операционная система | Linux |
Последняя версия | |
Репозиторий | github.com/LINBIT/drbd |
Лицензия | GNU GPL 2 |
Сайт | drbd.org (англ.) |
Поддерживает как синхронную, так и асинхронную репликацию (при синхронной, протокол «С», операция записи считается завершённой, когда и локальный, и удалённый диски сообщают об успешном завершении записи; при асинхронной, протокол «A», запись считается завершённой, когда запись завершилась на локальном устройстве и данные готовы к отправке на удалённый узел). Также поддерживается промежуточный протокол (B), при котором запись считается успешной, если она завершилась на локальное устройство, и удалённый узел подтвердил получение (но не локальную запись) данных[3]. Синхронизация идёт через протокол TCP (без шифрования и аутентификации), по умолчанию используется порт TCP/3260.
Поддерживает только два узла при использовании версии <9, более сложные конструкции могут строиться с помощью использования drbd-устройства в качестве «локального» для ещё одного drbd-устройства, либо использовать версию >=9. Количество узлов, рекомендуемое Linbit не более 5, максимальное - 32. [4]
Узлы могут работать в режиме первичного (primary) узла или вторичного (secondary), вторичный хранит данные, но не позволяет осуществить к ним локальный доступ, первичный позволяет осуществить доступ. DRBD поддерживает также режим «первичный — первичный», при котором возможен доступ к обоим узлам; если при этом на DRBD-устройстве располагается файловая система, то для поддержки режима «первичный — первичный» необходимо использовать кластерные файловые системы[англ.] (такие, как GFS2[англ.] и OCFS2).
DRBD работает локально на узле (то есть обеспечивает репликацию на удалённый узел содержимого локального блочного устройства). Для использования создаётся новое устройство, обычно /dev/drbdX (X — число). Для нормальной работы DRBD должен быть запущен на обоих узлах. Если узел имеет роль вторичного, то он имеет соответствующее drbd-устройство, но доступ к нему запрещён. Как только происходит повышение роли до первичного, доступ открывается. Большинство операций осуществляется с помощью утилиты drbdadm, хотя фактическая работа происходит на уровне ядра. Если локальное устройство выходит из строя и включена маскировка ошибок, то устройство /dev/drbdX продолжает работать, получая данные через сеть, этот режим называется «бездисковым» (diskless).
Разработчик — австрийская компания Linbit, занимающаяся также внедрением и коммерческой поддержкой решений с использованием DRBD и Pacemaker[англ.].
Примечания
править- ↑ Release 9.2.12 — 2024.
- ↑ The drbd Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Replication modes . Дата обращения: 12 декабря 2010. Архивировано 14 декабря 2010 года.
- ↑ DRBD 9.0 en (амер. англ.). LINBIT. Дата обращения: 22 сентября 2023. Архивировано 30 сентября 2023 года.
Ссылки
править- Официальный сайт (англ.)
- DRBD на Xgu.ru — информация о DRBD на русском языке
Для улучшения этой статьи желательно:
|