Files
vmcreate/khlcreate.sh
2025-11-07 10:39:13 +00:00

56 lines
1.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
remove=false
while getopts "R" opt; do
case $opt in
R) remove=true;;
\?) echo "Invalid option."; exit 1;;
esac
done
if $remove; then
# Сначала запрашиваем остановку ВСЕХ тачек, чтобы сэкономить время
for line in $(cat khl_hosts)
do
ip=$(echo $line | cut -d ';' -f 1)
vmid=$(echo $ip | cut -d '.' -f 3,4 | sed 's/\.// ')
qm stop $vmid
done
# А теперь проверяем, что остановлена, и удаляем
for line in $(cat khl_hosts)
do
ip=$(echo $line | cut -d ';' -f 1)
vmid=$(echo $ip | cut -d '.' -f 3,4 | sed 's/\.// ')
status=$(qm status $vmid | cut -d ' ' -f 2)
until [[ $status -eq "stopped" ]]
do
echo "Waiting for VM $vmid become stopped..."
sleep 1
done
qm destroy $vmid --destroy-unreferenced-disks --purge
done
echo "Specified VMs REMOVED."
exit 0
fi
for line in $(cat khl_hosts)
do
ip=$(echo $line | cut -d ';' -f 1)
hostname=$(echo $line | cut -d ';' -f 2)
vmid=$(echo $ip | cut -d '.' -f 3,4 | sed 's/\.// ')
qm clone 5000 $vmid --name $hostname --full
if [ $? -eq 0 ]
then echo "clone OK"
else "clone ERROR"; exit 1
fi
qm set $vmid --tags 3,gfx
echo "args: -virtfs local,id=khl,path=/mnt/pve/syno-tigra/shared/KHL,security_model=passthrough,mount_tag=khl" >> /etc/pve/qemu-server/${vmid}.conf
## preparing custom CloudInit snippets
cp ./khl.yaml /mnt/pve/syno-tigra/snippets/${vmid}_user.yaml
sed -i "s/HOSTNAME/$hostname/g" /mnt/pve/syno-tigra/snippets/${vmid}_user.yaml
qm resize $vmid scsi0 +50G
qm set $vmid --cicustom "user=syno-tigra:snippets/${vmid}_user.yaml"
qm set $vmid --ipconfig0 ip=$ip/24,gw=10.10.35.1
qm cloudinit update $vmid
qm start $vmid
done
echo "VMs from 'khl_hosts' successfully created"