TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2668 1.25K
🖥 DRBD (Distributed Replicated Block Device) — модуль ядра Linux для синхронной или асинхронной репликации данных между серверами на уровне блоков. Превращает локальные блочные устройства в распределённые, обеспечивая высокую доступность данных. Работает как сетевой RAID-1 между серверами.

📍 Как работает?

— Блочная репликация: Работает ниже файловой системы, реплицируя сырые блоки данных
— Три роли узлов: Primary (чтение/запись), Secondary (только чтение), Unknown (не определено)
— Протоколы репликации:
— Protocol A: Асинхронная запись — подтверждение после локальной записи
— Protocol B: Полусинхронная — подтверждение после записи на удалённый диск
— Protocol C: Синхронная — подтверждение после записи на оба диска (рекомендуется для HA)
— Сетевые соединения: TCP/IP для передачи данных, специальный протокол DRBD для метаданных
— Консистентность: Гарантирует, что данные на Secondary идентичны Primary

📍 Пример настройки

1. Установка (Ubuntu/Debian):


# Установка DRBD и утилит
sudo apt update
sudo apt install drbd-dkms drbd-utils

# Загрузка модуля ядра
sudo modprobe drbd

# Проверка загрузки
lsmod | grep drbd


2. Подготовка дисков (на обеих нодах):


# Предположим, что у нас есть дополнительный диск /dev/sdb
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary 0% 100%
sudo mkfs.ext4 /dev/sdb1


3. Базовая конфигурация (/etc/drbd.d/drbd0.res):


resource drbd0 {
protocol C; # Синхронная репликация

# Конфигурация первого узла (node1)
on node1 {
device /dev/drbd0; # Виртуальное устройство DRBD
disk /dev/sdb1; # Физический диск
address 192.168.1.10:7788; # IP и порт для соединения
meta-disk internal; # Метаданные хранятся на том же диске
}

# Конфигурация второго узла (node2)
on node2 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.1.20:7788;
meta-disk internal;
}
}


4. Инициализация и запуск:


# На обоих узлах создаём метаданные
sudo drbdadm create-md drbd0

# Запускаем ресурс
sudo drbdadm up drbd0

# На node1 делаем первичным и форматируем
sudo drbdadm primary drbd0 --force
sudo mkfs.ext4 /dev/drbd0

# На node2 проверяем статус
sudo drbdadm status drbd0


5. Проверка работы:


# Статус репликации
sudo drbd-overview

# Детальный статус
sudo cat /proc/drbd

# Переключение ролей (с node1 на node2):
# На node1:
sudo drbdadm secondary drbd0

# На node2:
sudo drbdadm primary drbd0


📍 Ограничения и особенности

— Требует стабильной сети с низкой задержкой для синхронной репликации
— Поддерживает до 32 узлов (рекомендуется 2-3 для производительности)
— Может работать поверх LVM, RAID, SSD
— Совместим с большинством файловых систем (ext4, XFS, btrfs)

📎 DRBD — проверенное решение для построения отказоустойчивых кластеров на базе Linux, оно остаётся простым и эффективным выбором для двухузловых кластеров, где важна минимальная задержка и максимальная предсказуемость.

#линуксятина
  • 👍 13
  • 🔥 2
  • 👏 2
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →