2022-10-11 11:47:26 +07:00
2022-10-11 11:47:26 +07:00

разворачиваем Linstor на кластере Proxmox

Proxmox

  1. поднимаем три ноды pve{1,2,3} 1.1 по два диска sd{a,b} 1.2 по две сетевых 192.168.9.20{1,2,3}, 10.0.0.20{1,2,3}

  2. создаем кластер 2.1 не забываем про /etc/hosts

Кластер Linstor

работаем на всех трех нодах PVE{1,2,3}

  1. Ставим drbd на всех нодах
apt update && apt install -y mc htop zip wget curl git net-tools gnupg2

wget -O- https://packages.linbit.com/package-signing-pubkey.asc | apt-key add -
echo "deb http://packages.linbit.com/proxmox/ proxmox-7 drbd-9"   > /etc/apt/sources.list.d/linbit.list

apt-get update && apt-get -y install pve-headers drbd-dkms drbd-utils
  1. Ставим пакет для proxmox и для хранилищ
apt-get -y install linstor-proxmox linstor-satellite

systemctl start linstor-satellite.service
systemctl enable --now linstor-satellite.service
  1. Создаем пул для данных
pvcreate /dev/sdb
vgcreate drbd0 /dev/sdb
lvcreate -l 100%FREE --thinpool drbd0/lvmthinpool
  1. Ребутим ноды, что бы загрузился модуль drdb-9

проверить его можно так:

cat /proc/drbd

Сетапим контроллер Linstor

  1. Поднимаем контроллер в LXC-контейнере (за основу берем debian-11), в нем устанавливаем пакеты контроля:
apt update && apt install -y mc htop zip wget curl git net-tools gnupg2

wget -O- https://packages.linbit.com/package-signing-pubkey.asc | apt-key add -
echo "deb http://packages.linbit.com/proxmox/ proxmox-7 drbd-9"   > /etc/apt/sources.list.d/linbit.list

apt-get update && apt-get install -y linstor-controller linstor-client

systemctl start linstor-controller.service
systemctl enable --now linstor-controller.service

dpkg-reconfigure tzdata
  1. Поднимаем сателиты и сразу указываем интерфейсы для репликации
linstor node create pve1 10.0.0.221
linstor node create pve2 10.0.0.222
linstor node create pve3 10.0.0.223

linstor node interface create pve1 data 10.0.0.221
linstor node interface create pve2 data 10.0.0.222
linstor node interface create pve3 data 10.0.0.223
  1. Проверяем
linstor node list
  1. Подключаем хранилища и сразу настраиваем их на репликацию через наш интерфейс data
linstor storage-pool create lvmthin pve1 drbdpool0 drbd0/lvmthinpool
linstor storage-pool create lvmthin pve2 drbdpool0 drbd0/lvmthinpool
linstor storage-pool create lvmthin pve3 drbdpool0 drbd0/lvmthinpool

linstor storage-pool set-property pve1 drbdpool0 PrefNic data
linstor storage-pool set-property pve2 drbdpool0 PrefNic data
linstor storage-pool set-property pve3 drbdpool0 PrefNic data
  1. проверяем
linstor storage-pool list
  1. создаем группы ресурсов и добавляем туда пулы
linstor resource-group create --storage-pool drbdpool0 --place-count 2 drbdrg0
linstor volume-group create drbdrg0

linstor resource-group create --storage-pool drbdpool1 --place-count 3 drbdrg1
linstor volume-group create drbdrg1

Proxmox

  1. подключаем новое хранилище в прокс
cat >> /etc/pve/storage.cfg <<EOF

drbd: drbdpool0
        content rootdir,images
        controller 10.0.0.225
				resourcegroup drbdrg0

drbd: drbdpool1
        content rootdir,images
        controller 10.0.0.225
				resourcegroup drbdrg1
EOF
  1. создаем тестовый контейнер с диском на новом хранилище, проверяем
linstor v list
  1. настриваем HA для контроллера при отказе нод

Тюнинг

  1. Split-brain
linstor controller drbd-options   --after-sb-0pri=discard-zero-changes   --after-sb-1pri=discard-secondary   --after-sb-2pri=disconnect
  1. Оплатимальная синхронизация для 1Г сетей
linstor controller drbd-options   --max-buffers=3686   --rcvbuf-size=209715   --sndbuf-size=104857
linstor controller drbd-options   --c-fill-target=1024   --c-max-rate=73728   --c-min-rate=2048   --c-plan-ahead=10
  1. про высокую доступность и 3 контроллера тут

Видео к курсу

Автор
Description
No description provided
Readme 30 KiB