stringtranslate.com

Распределенное реплицируемое блочное устройство

Распределенное реплицируемое блочное устройство ( DRBD ) — это распределенная реплицируемая система хранения данных для платформы Linux . Он реализован в виде драйвера ядра, нескольких приложений управления пользовательским пространством и некоторых сценариев оболочки . DRBD традиционно используется в компьютерных кластерах высокой доступности (HA) , но, начиная с DRBD версии 9, его также можно использовать для создания более крупных программно-определяемых пулов хранения данных с упором на облачную интеграцию. [3]

Устройство DRBD — это блочное устройство DRBD , которое относится к логическому блочному устройству в схеме логического тома.

Программное обеспечение DRBD является бесплатным программным обеспечением , выпущенным на условиях Стандартной общественной лицензии GNU версии 2.

DRBD является частью инициативы стека с открытым исходным кодом Lisog .

Режим работы

DRBD накладывает логические блочные устройства (обычно называемые , где X — младший номер устройства) поверх существующих локальных блочных устройств на участвующих узлах кластера. Записи на первичный узел передаются на блочное устройство нижнего уровня и одновременно распространяются на вторичный узел(и). Вторичный узел(и) затем передает данные соответствующему блочному устройству нижнего уровня. Все операции ввода-вывода чтения выполняются локально, если не настроена балансировка чтения. [4]/dev/drbdX

В случае сбоя основного узла процесс управления кластером переводит вторичный узел в основное состояние. [5] Этот переход может потребовать последующей проверки целостности файловой системы, расположенной поверх DRBD, посредством проверки файловой системы или воспроизведения журнала . Когда вышедший из строя бывший основной узел возвращается, система может (или не может) снова поднять его на основной уровень после повторной синхронизации данных устройства. Алгоритм синхронизации DRBD эффективен в том смысле, что ресинхронизировать необходимо только те блоки, которые были изменены во время сбоя, а не устройство целиком.

DRBD часто развертывается вместе с диспетчерами ресурсов кластера Pacemaker или Heartbeat , хотя он интегрируется с другими платформами управления кластерами. Он интегрируется с решениями виртуализации , такими как Xen , и может использоваться как ниже, так и поверх стека Linux LVM . [6]

DRBD позволяет настраивать балансировку нагрузки , позволяя обоим узлам получать доступ к определенному DRBD в режиме чтения/записи с семантикой общего хранилища . [7] Конфигурация с несколькими первичными (несколько узлов чтения/записи) требует использования распределенного менеджера блокировок .

С 2018 года DRBD также можно использовать в программном обеспечении управления блочным хранилищем LINSTOR для репликации между различными узлами и предоставления пользователям и приложениям блочных устройств хранения.

Сравнение общего кластерного хранилища

Обычные компьютерные кластерные системы обычно используют какое-то общее хранилище для данных, используемых ресурсами кластера. Этот подход имеет ряд недостатков, которые DRBD может помочь компенсировать:

Недостатком является меньшее время, необходимое для записи непосредственно на общее устройство хранения, чем для маршрутизации записи через другой узел.

Сравнение с RAID-1

DRBD имеет внешнее сходство с RAID-1 тем, что включает копирование данных на два устройства хранения, так что в случае сбоя одного можно использовать данные на другом. Однако он работает совершенно иначе, чем RAID и даже сетевой RAID.

В RAID избыточность существует на уровне, прозрачном для приложения, использующего хранилище. Хотя имеется два устройства хранения, существует только один экземпляр приложения, и приложение не знает о нескольких копиях. Когда приложение выполняет чтение, уровень RAID выбирает устройство хранения для чтения. При выходе из строя одного устройства хранения уровень RAID выбирает чтение другого, при этом экземпляр приложения не узнает о сбое.

Напротив, в DRBD имеется два экземпляра приложения, каждый из которых может читать только с одного из двух устройств хранения. В случае сбоя одного устройства хранения экземпляр приложения, привязанный к этому устройству, больше не сможет читать данные. Следовательно, в этом случае этот экземпляр приложения отключается, а управление берет на себя другой экземпляр приложения, связанный с сохранившейся копией данных.

И наоборот, в RAID, если один экземпляр приложения выходит из строя, информация на двух устройствах хранения фактически становится непригодной для использования, но в DRBD другой экземпляр приложения может взять на себя управление.

Приложения

Работая на блочном уровне ядра Linux, DRBD по сути не зависит от рабочей нагрузки. DRBD может использоваться в качестве основы:

Кластеры на основе DRBD часто используются для добавления синхронной репликации и обеспечения высокой доступности к файловым серверам , реляционным базам данных (таким как MySQL ) и многим другим рабочим нагрузкам.

Включение в ядро ​​Linux

Авторы DRBD первоначально представили свое программное обеспечение сообществу ядра Linux в июле 2007 года для возможного включения в каноническую версию ядра Linux на сайте kernel.org. [10] После длительного обзора и нескольких обсуждений Линус Торвальдс согласился сделать DRBD частью официального ядра Linux. DRBD был объединен 8 декабря 2009 года во время «окна слияния» для ядра Linux версии 2.6.33.

Смотрите также

Рекомендации

  1. ^ «Драйвер ядра Linux DRBD 9.x» . linbit.com . Проверено 19 июля 2023 г.
  2. ^ «Релизы · LINBIT/drbd» . github.com . Проверено 4 апреля 2021 г.
  3. ^ «DRBD для вашего облака» . www.drbd.org . Проверено 5 декабря 2016 г.
  4. ^ «18.4. Достижение лучшей производительности чтения за счет повышенной избыточности - Руководство пользователя DRBD (9.0)» . www.drbd.org . Проверено 5 декабря 2016 г.
  5. ^ «Глава 8. Интеграция DRBD с кластерами Pacemaker - Руководство пользователя DRBD (9.0)» . www.drbd.org . Проверено 5 декабря 2016 г.
  6. ^ ЛИНБИТ. «Руководство пользователя DRBD» . Проверено 28 ноября 2011 г.
  7. ^ Райснер, Филипп (11 октября 2005 г.). «DRBD v8 — реплицируемое хранилище с семантикой общего диска» (PDF) . Материалы 12-й Международной конференции по системным технологиям Linux . Гамбург, Германия.
  8. ^ «Руководства пользователя » LINBIT».
  9. ^ «Активный-активный DRBD с OCFS2 — Gentoo Linux Wiki» . Архивировано из оригинала 8 марта 2013 г. Проверено 21 марта 2013 г.
  10. ^ Элленберг, Ларс (21 июля 2007 г.). «DRBD хочет выйти на магистраль» . linux-kernel (список рассылки) . Проверено 3 августа 2007 г.

Внешние ссылки