TGViewer
Katamarina / Катамарина Katamarina / Катамарина @katamarina_ru · 58 subscribers
Post #47 120
🧿 Как LINSTOR и DRBD сохраняют ваши данные, когда сервер умирает

Кошмар любого bare-metal оператора: диск отказывает в 3 часа ночи. Если ваше хранилище привязано к узлу (local-path или hostPath том, закреплённый за одним узлом), вы восстанавливаетесь из бэкапа и молитесь, чтобы он был свежим. Ceph даёт репликацию, но требует 3+ выделенных storage-узла, докторскую степень по CRUSH-картам и постоянную настройку. Большинство команд либо переинвестируют в инфраструктуру хранения, либо недоинвестируют - и платят за это простоями.

Cozystack использует LINSTOR + DRBD для реплицируемого блочного хранилища. DRBD реплицирует данные на уровне блочного устройства — ниже файловой системы, ниже базы данных, ниже всего остального. Технология проверена в Linux HA-конфигурациях более двух десятилетий. LINSTOR добавляет сверху Kubernetes-native уровень оркестрации.

⚙️ Как это работает

1. DRBD (Distributed Replicated Block Device) синхронно зеркалирует блочные устройства между узлами. Каждая запись на Узел A немедленно записывается на Узел B, прежде чем приложение получит подтверждение.
2. LINSTOR управляет ресурсами DRBD как Kubernetes StorageClasses. Когда PVC запрашивает хранилище, LINSTOR создаёт DRBD-том, выбирает узлы-реплики и управляет жизненным циклом.
3. CSI Driver предоставляет тома LINSTOR как стандартные Kubernetes PersistentVolumes.

Результат: любой pod или VM, использующий StorageClass replicated, получает синхронную блочную репликацию между узлами - прозрачно.

🎛 Настройка хранилища

Шаг 1 - Подготовка дисков:

# Настройка алиаса для LINSTOR CLI
alias linstor='kubectl exec -n cozy-linstor deploy/linstor-controller -- linstor'

# Проверяем, что видит LINSTOR
linstor node list
linstor physical-storage list


Если диски не отображаются, вероятно на них остались метаданные. Очистите их:

# Используя talm (установка описана в ПОСТЕ 9)
# ВНИМАНИЕ: никогда не очищайте диск с установленной ОС (machine.install.disk) — только диски с данными.
talm -f nodes/node1.yaml wipe disk nvme0n1 nvme1n1


Шаг 2 - Создание storage pool (ZFS):

linstor physical-storage create-device-pool \
zfs node1 \
/dev/nvme0n1 /dev/nvme1n1 \
--pool-name data \
--storage-pool data


Повторите для каждого узла.

Шаг 3 - Проверка:

linstor storage-pool list


Вы должны увидеть pool data на каждом узле с доступной ёмкостью.

Шаг 4 - Использование:

Любое приложение, указывающее storageClass: replicated, теперь получает DRBD-реплицированные тома (три реплики по умолчанию). PostgreSQL, MongoDB, диски VM — все они.

# В конфигурации любого приложения:
values:
storageClass: replicated
size: 50Gi


🛟 Что происходит при отказе узла:

1. DRBD обнаруживает, что узел недоступен
2. Том остаётся доступным на уцелевшем узле-реплике
3. Kubernetes перепланирует pod на узел, имеющий реплику
4. Когда отказавший узел возвращается, DRBD автоматически синхронизируется

Без ручного вмешательства. Без восстановления из бэкапа. Без потери данных.

📘 Документация

- Подготовка дисков: https://cozystack.ru/docs/v1.5/storage/disk-preparation/
- Шифрование дисков: https://cozystack.ru/docs/v1.5/storage/disk-encryption/
- Настройка DRBD: https://cozystack.ru/docs/v1.5/storage/drbd-tuning/
- NFS (RWX): https://cozystack.ru/docs/v1.5/storage/nfs/

Присоединяйтесь к сообществу:
Telegram-группа: t.me/cozystack_ru
Slack-группа: https://kubernetes.slack.com/archives/C06L3CPRVN1
(Получить инвайт на https://slack.kubernetes.io)

Ресурсы Cozystack:
https://cozystack.ru
https://cozystack.ru/docs/v1.5/get-started
https://cozystack.ru/blog
https://github.com/cozystack/cozystack

#Cozystack #LINSTOR #DRBD #Kubernetes #CloudNative #BareMetal #PrivateCloud #Storage

@katamarina_ru - мы делаем CozyФСТЭК
Cozystack Подготовка дисков для пулов хранения LINSTOR Как очистить метаданные дисков и подготовить физическое хранилище для LINSTOR
More from @katamarina_ru
  1. Sep 17, 2026Финишная прямая исследования рынка платформ Kubernetes Для достижения максимальной объекти…
  2. Sep 14, 2026🏆 Katamarina - в ТОПе российских платформ контейнеризации по версии CNews.Market CNews.Ma…
  3. Sep 7, 2026📣 9 сентября пройдёт бесплатный практический онлайн-воркшоп «Миграция с VMware на open so…
  4. Sep 4, 2026🖥Живое демо веб-интерфейса управления Cozystack В разделе Живое Демо (https://cozystack.r…
  5. Aug 28, 2026🎯 Соответствие Kubernetes требованиям регуляторов на уровне кода: PCI DSS, GDPR, DORA и C…
  6. Aug 24, 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 →