2.6 KiB
Срипт для создания нескольких виртуальных машин одновременно.
Имеется 2 версии скрипта: универсальный vmcreate.sh и специальный для gfx-машин Юры gfxcheate.sh
GFX-скрипт
Скрипт парсит файл gfx_hosts
создаёт и запускает на кластере виртуальные машины с заданным IP и hostname в 35 сети.
Синтаксис: ip-адрес, точка с запятой, hostname.
- XXX.XXX.XXX.XX1;HOSTNAME1
- XXX.XXX.XXX.XX2;HOSTNAME2
VMID формируется на основе последних двух октетов IP адреса, пример для ip=10.10.35.21 > VMID=3521
Создание и запуск
git -C /root/ clone https://git.tvstart.ru/dbadovsky/vmcreate.git
cd /root/vmcreate/
bash gfxcreate.sh
ВНИМАНИЕ! Нельзя закрывать консоль Proxmox до заершения работы скрипта! Либо отправлять его работу в фоновый режим:
bash vmcreate.sh &
Но в этом случае скрипт не будет выводить в консоль свои действия и результат.
Ключ
Публичный ключ вшит в файл user.yaml.
Пакеты, устанавливаемые автоматически
- qemu-guest-agent
- git
- net-tools
- python3
- python3-pip
- python3-venv
В качестве списка используются аргументы либо файл. В случае использования аргументов необходимо передать список IPv4-адресов в диапазоне 10.10.0.0/16.
bash vmcreate 10.10.MMM.XXX 10.10.NNN.YYY
В этом случае имена хостов сгенерируются автоматически. Например, для 10.10.35.99, hostname="vm035099".
Либо передать с флагом -h файл со списком в следующем формате:
10.10.MMM.XXX hostnameX
10.10.NNN.YYY hostnameY
В этом случае имена хостов будут браться из второго столбца.
Если флаг -f присутствует, но файл не указан, скрипт будет использовать файл ./hosts.
VMID созданных ВМ также будет сгенегирован автоматически. Например для 10.10.35.99,