MYCSS

2023-01-04

Скрипт автоматизації перейменування віртуальних машин у Proxomos VE для приєднання до кластеру


При переносі віртуальних машин з ноду в кластер необхідно мати пустий нод, і номера віртуальних машин що не конфліктують з іншими. 

Для вирішення цієї задачі простіше і надійніше використати метод створення резервної копії і потім її відновлення в кластері. 

Але я створив малий скрип що допомагає обійтися без цього методу.

Тому цей простий скрип перейменовує гуртом віртуальні машини з номерами 1ХХ на 6ХХ і де дані зберігаються на ZFS диску з назвою 'mdata'.


#!/usr/bin/env bash

old=1
new=6
zfspool=mdata

#rename zfpool disks of vm
for i in $( zfs list -o name | grep "${zfspool}/vm-${old}" ); do
  r=$(echo $i | sed "s/vm-${old}/vm-${new}/")
  echo " zfs rename $i $r"
  zfs rename $i $r
done

#rename disks on vm conf
sed -i s/${zfspool}:vm-${old}/${zfspool}:vm-${new}/g /etc/pve/qemu-server/${old}*.conf


#rename conf of vm
for i in $( ls -1 /etc/pve/qemu-server/${old}*.conf); do
  r=$(echo $i | sed -E "s/${old}(.*)\.conf/${new}\1\.conf/" )
  echo "mv $i $r"
  mv $i $r
done
       

Після операцій перейменувань переносимо файли конфігурацій з /etc/pve/qemu-server до резервної теки в домашньому каталозі /root/backup/vmconfigs.

Очищений нод ns26 у Proxmox VE

Далі створюється кластер  на базі іншого чистого ноду  ns25. Де використовується два мережеві інтерфейси один для керування VM (10.5.0.25) інший для операцій в кластері (10.10.10.25).

P.S. Так як мережева карта з чотирьох портів, то окремий інтерфейс також використовується для самих віртуальних машин, що дає ізоляцію панелі керування від адресного простору віртуальних машин.

ns25 у ново створеному кластері

Додається до новоствореного кластеру новий нод ns26.

ns26 додається до ново створеного кластеру

 Кластер з двох нодів.

Кластер з ns25 та ns26

 

Далі переписую назад файли конфігурацій віртуальних машин в ноді ns26 з /root/backup/vmconfigs до /etc/pve/qemu-server. Все - віртуальні машини відновлено у кластері без використання методу backup - restore.

Кластер з відновленими ВМ.

Приклад запущеної ВМ з ноду ns26 в кластері

Послідовно додаю інші ноди до кластеру, так як мінімум бажано мати 3 ноди у кластері для створення робочого кворуму.

P.S. Допомога з видаленням ноду з кластеру:

systemctl stop pve-cluster
systemctl stop corosync

pmxcfs -l

rm /etc/pve/corosync.conf
rm -r /etc/corosync/*

killall pmxcfs

systemctl start pve-cluster

pvecm delnode <node to delete>
# ^this^ failed which the doc states is expected... so I ran

pvecm expected 1

pvecm delnode <node2>

https://forum.proxmox.com/threads/proxmox-ve-6-removing-cluster-configuration.56259/


Немає коментарів:

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready