From b4b47c03f08f09e98e713d1e8ed0fda402e1b8fc Mon Sep 17 00:00:00 2001 From: Vassiliy Yegorov Date: Tue, 11 Oct 2022 11:45:28 +0700 Subject: [PATCH] init --- README.md | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e1ed65a --- /dev/null +++ b/README.md @@ -0,0 +1,175 @@ +# разворачиваем 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 на всех нодах + +```bash +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 +``` + +2. Ставим пакет для proxmox и для хранилищ + +```bash +apt-get -y install linstor-proxmox linstor-satellite + +systemctl start linstor-satellite.service +systemctl enable --now linstor-satellite.service +``` + +3. Создаем пул для данных + +```bash +pvcreate /dev/sdb +vgcreate drbd0 /dev/sdb +lvcreate -l 100%FREE --thinpool drbd0/lvmthinpool +``` + +4. Ребутим ноды, что бы загрузился модуль drdb-9 + +проверить его можно так: + +```bash +cat /proc/drbd +``` + +### Сетапим контроллер Linstor + +1. Поднимаем контроллер в LXC-контейнере (за основу берем debian-11), в нем устанавливаем пакеты контроля: + +```bash +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 +``` + +2. Поднимаем сателиты и сразу указываем интерфейсы для репликации + +```bash +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 +``` + +3. Проверяем + +```bash +linstor node list +``` + +3. Подключаем хранилища и сразу настраиваем их на репликацию через наш интерфейс data + +```bash +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 +``` + +4. проверяем + +```bash +linstor storage-pool list +``` + +5. создаем группы ресурсов и добавляем туда пулы + +```bash +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. подключаем новое хранилище в прокс + +```bash +cat >> /etc/pve/storage.cfg <