proxmox_vm_create/create_template_deb12.sh

54 lines
1.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
# завершить выполнение, если некоторая команда, которая не является частью какого-либо теста (например, if [ ... ] или конструктора &&), возвращает ненулевой код
set -e
# проверка запуска скрипта с параметром
if [ -n "$1" ]; then
vm_passwd="$1"
else
echo "Необходимо указать желаемый пароль для шаблона первым аргументом"
exit 1
fi
# задаём необходимые переменные
cloudimg=debian-12-generic-amd64.qcow2
img_url=https://cloud.debian.org/images/cloud/bookworm/latest
# параметры вм
vm_id=508
vm_name="deb12-cloudinit-template"
vm_memory=2048
vm_cores=2
vm_user="sa"
# данные proxmox
px_storage=local-lvm
px_bridge=vmbr0
# проверить наличие образа, если его нет - скачать образ ubuntu server 20.04 с поддержкой cloud-init
if [ ! -f "$cloudimg" ]; then
echo "Файл $cloudimg не существует"
echo Скачиваю образ $img_url/$cloudimg
wget $img_url/$cloudimg
fi
echo Создаю ВМ
qm create $vm_id --name $vm_name --memory $vm_memory --cores $vm_cores --net0 virtio,bridge=$px_bridge
qm importdisk $vm_id $cloudimg $px_storage
qm set $vm_id --scsihw virtio-scsi-pci --scsi0 $px_storage:vm-$vm_id-disk-0
qm set $vm_id --boot c --bootdisk scsi0
qm set $vm_id --ide2 $px_storage:cloudinit
qm set $vm_id --serial0 socket --vga serial0
qm set $vm_id --cipassword=$vm_passwd --ciuser=$vm_user
qm set $vm_id --agent 1
echo Конвертирую ВМ в шаблон
qm template $vm_id
echo Удаляю ранее скачанный образ
rm $cloudimg
echo Готово
exit 0