Привет, я пытаюсь подготовить несколько шаблонов VM на основе cloud init. Я посмотрел и успешно создал Ubuntu шаблон вручную. Затем мне удалось использовать скрипт, похожий на тот, что в блоге, чтобы создать серию шаблонов для Ubuntu и Debian систем. Но когда я пытаюсь сделать это для Fedora, у меня возникло довольно много проблем... В созданной VM нет сети. Они не получают IP-адрес и не могут связаться ни с чем. Кроме того, при логировании я вижу Bash: Failed to connect to bus: Connection refused и при вызове nmcli также появляется ошибка Bash: $ nmcli device
Error: Could not create NMClient object: Could not connect: Connection refused. Вот скрипт, который я использовал Bash: #!/bin/bash
# Возможно, потребуется установить "libguestfs-tools" на хосте proxmox
function download_image() {
mkdir -p images
wget -nc -P images $1
}
#Создать шаблон
#аргументы:
# 1: id vm
# 2: имя vm
# 3: имя файла в текущей директории
function create_template() {
if [[ "$force_recreate" != "true" ]] && qm status $1 &>/dev/null; then
echo "Шаблон $2 ($1) существует, пропускаю..."
return
fi
echo "Удаляю существующий шаблон $1"
qm destroy $1
echo "Создаю шаблон $2 ($1)"
qm create $1 --name $2 --ostype l26
echo "Настраиваю образ $3"
virt-customize -a $3 --install qemu-guest-agent
virt-customize -a $3 --install avahi
#Установить устройство загрузки & добавить диск cloud init
qm set $1 --scsi0 ${storage}:0,import-from="$(pwd)/$3",discard=on
qm set $1 --boot order=scsi0 --scsihw virtio-scsi-single
qm set $1 --agent enabled=1,fstrim_cloned_disks=1
qm set $1 --ide2 ${storage}:cloudinit
#Установить сетевое подключение к мосту по умолчанию
qm set $1 --net0 virtio,bridge=vmbr0
qm set $1 --memory 4096 --cores 4 --cpu host
# qm set $1 --serial0 socket --vga default
qm set $1 --ipconfig0 "ip6=auto,ip=dhcp"
qm set $1 --ciuser ${username}
qm set $1 --sshkeys ${ssh_keyfile}
# Изменить размер диска и завершить создание шаблона
qm disk resize $1 scsi0 ${disk_size}
qm template $1
}
# Глобальная конфигурация
export ssh_keyfile=/etc/pve/priv/authorized_keys
export username=fedora
export storage=local-btrfs
export disk_size=32G
# export force_recreate=true
# Скачать образы
download_image
# Создать шаблоны
create_template 920 "template-fedora-41" "images/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2"
Error: Could not create NMClient object: Could not connect: Connection refused. Вот скрипт, который я использовал Bash: #!/bin/bash
# Возможно, потребуется установить "libguestfs-tools" на хосте proxmox
function download_image() {
mkdir -p images
wget -nc -P images $1
}
#Создать шаблон
#аргументы:
# 1: id vm
# 2: имя vm
# 3: имя файла в текущей директории
function create_template() {
if [[ "$force_recreate" != "true" ]] && qm status $1 &>/dev/null; then
echo "Шаблон $2 ($1) существует, пропускаю..."
return
fi
echo "Удаляю существующий шаблон $1"
qm destroy $1
echo "Создаю шаблон $2 ($1)"
qm create $1 --name $2 --ostype l26
echo "Настраиваю образ $3"
virt-customize -a $3 --install qemu-guest-agent
virt-customize -a $3 --install avahi
#Установить устройство загрузки & добавить диск cloud init
qm set $1 --scsi0 ${storage}:0,import-from="$(pwd)/$3",discard=on
qm set $1 --boot order=scsi0 --scsihw virtio-scsi-single
qm set $1 --agent enabled=1,fstrim_cloned_disks=1
qm set $1 --ide2 ${storage}:cloudinit
#Установить сетевое подключение к мосту по умолчанию
qm set $1 --net0 virtio,bridge=vmbr0
qm set $1 --memory 4096 --cores 4 --cpu host
# qm set $1 --serial0 socket --vga default
qm set $1 --ipconfig0 "ip6=auto,ip=dhcp"
qm set $1 --ciuser ${username}
qm set $1 --sshkeys ${ssh_keyfile}
# Изменить размер диска и завершить создание шаблона
qm disk resize $1 scsi0 ${disk_size}
qm template $1
}
# Глобальная конфигурация
export ssh_keyfile=/etc/pve/priv/authorized_keys
export username=fedora
export storage=local-btrfs
export disk_size=32G
# export force_recreate=true
# Скачать образы
download_image
# Создать шаблоны
create_template 920 "template-fedora-41" "images/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2"
