60 lines
2.7 KiB
Markdown
60 lines
2.7 KiB
Markdown
# Срипт для создания нескольких виртуальных машин одновременно.
|
||
**Имеется 2 версии скрипта: универсальный** `vmcreate.sh` **и специальный для gfx-машин Юры** `gfxcheate.sh`
|
||
|
||
## GFX-скрипт
|
||
Скрипт парсит файл `gfx_hosts`
|
||
создаёт и запускает на кластере виртуальные машины с заданным `IP` и `hostname` в 35 сети.
|
||
|
||
Синтаксис: ip-адрес, точка с запятой, hostname.
|
||
|
||
* 10.10.35.XX1;hostname1
|
||
* 10.10.35.XX2;hostname2
|
||
|
||
VMID формируется на основе последних двух октетов IP адреса, пример для _ip=10.10.35.21_ > `VMID=3521`
|
||
### Создание и запуск
|
||
```shell
|
||
git -C /root/ clone https://git.tvstart.ru/dbadovsky/vmcreate.git
|
||
```
|
||
```shell
|
||
cd /root/vmcreate/
|
||
```
|
||
```shell
|
||
bash gfxcreate.sh
|
||
```
|
||
**ВНИМАНИЕ! Нельзя закрывать консоль Proxmox до заершения работы скрипта!**
|
||
Либо отправлять его работу в фоновый режим:
|
||
```shell
|
||
bash vmcreate.sh &
|
||
```
|
||
Но в этом случае скрипт не будет выводить в консоль свои действия и результат.
|
||
|
||
### Ключ
|
||
Публичный ключ вшит в файл `gfx.yaml`.
|
||
|
||
### Пакеты, устанавливаемые автоматически
|
||
- qemu-guest-agent
|
||
- git
|
||
- net-tools
|
||
- python3
|
||
- python3-pip
|
||
- python3-venv
|
||
|
||
Также в `gfx.yaml` вшита команда, которая подтягивает и разворачивает python-скрипт Юры.
|
||
|
||
|
||
|
||
|
||
В качестве списка используются аргументы либо файл.
|
||
В случае использования аргументов необходимо передать список 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, |