7e74a2744ab2ca2a465ae78536dbc9677f8c25b1
разворачиваем Linstor на кластере Proxmox
Proxmox
-
поднимаем три ноды 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.1 не забываем про /etc/hosts
Кластер Linstor
работаем на всех трех нодах PVE{1,2,3}
- Ставим 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
- Ставим пакет для proxmox и для хранилищ
apt-get -y install linstor-proxmox linstor-satellite
systemctl start linstor-satellite.service
systemctl enable --now linstor-satellite.service
- Создаем пул для данных
pvcreate /dev/sdb
vgcreate drbd0 /dev/sdb
lvcreate -l 100%FREE --thinpool drbd0/lvmthinpool
- Ребутим ноды, что бы загрузился модуль drdb-9
проверить его можно так:
modprobe drbd
reboot
cat /proc/drbd
Сетапим контроллер Linstor
- Поднимаем контроллер в LXC-контейнере (за основу берем debian-11, в нем две сетевых 192.168.9.225 и 10.0.0.225), в нем устанавливаем пакеты контроля:
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
- Поднимаем сателиты и сразу указываем интерфейсы для репликации
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
- Проверяем
linstor node list
- Подключаем хранилища и сразу настраиваем их на репликацию через наш интерфейс 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
- проверяем
linstor storage-pool list
- создаем группы ресурсов и добавляем туда пулы
linstor resource-group create --storage-pool drbdpool0 --place-count 2 drbdrg0
linstor volume-group create drbdrg0
linstor resource-group create --storage-pool drbdpool0 --place-count 3 drbdrg1
linstor volume-group create drbdrg1
Proxmox
- подключаем новое хранилище в прокс
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
- создаем тестовый контейнер с диском на новом хранилище, проверяем
linstor v list
- настриваем HA для контроллера при отказе нод
Тюнинг
- Split-brain
linstor controller drbd-options --after-sb-0pri=discard-zero-changes --after-sb-1pri=discard-secondary --after-sb-2pri=disconnect
- Оптимальная синхронизация для 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
- про высокую доступность и 3 контроллера тут
Видео к курсу
Автор
Description