Приветствую ещё раз! После перерыва вернулся к настройке моей новой домашней лаборатории с использованием Proxmox 8.3, OpenTofu 1.9.0 и Ansible. Моя старая система была построена на Hyper-V Core, Satellite Katello для автоматизированного развёртывания с использованием PXE boot и tftp. Мне потребовалось некоторое время, чтобы найти способ воспроизвести этот workflow в моей новой системе. Но с помощью `kvm_arguments` я могу как-то развёртывать по-прежнему. Проблема, на которую я сейчас наткнулся, заключается в том, что я попадаю в бесконечный цикл, когда установщик перезапускается после перезагрузки. Мой tf файл выглядит следующим образом:
```terraform
resource "proxmox_virtual_environment_vm" "rocky_vm" {
name = "rocky-vm-02"
node_name = "VMHOST1"
kvm_arguments = "-kernel /mnt/rocky/isolinux/vmlinuz -initrd /mnt/rocky/isolinux/initrd.img -append 'inst.ks=http://192.168.178.75/ks.cfg inst.cmdline quiet inst.once'"
cpu {
cores = 4
type = "host"
}
memory {
dedicated = 16348
}
network_device {
bridge = "vmbr0"
}
startup {
order = "1"
}
disk {
datastore_id = "VMDISK1"
file_format = "qcow2"
interface = "scsi0"
size = 150
}
disk {
datastore_id = "VMDISK1"
file_format = "qcow2"
interface = "scsi1"
size = 100 # Adjust the size as needed
}
cdrom {
enabled = true
file_id = "VMDISK1:iso/Rocky-9.5-x86_64-dvd.iso"
}
}
```
Мой kickstart файл выглядит следующим образом:
```
# Basic system configuration
lang en_US.UTF-8
keyboard sg
timezone UTC
# Installation source
# Assuming you're using the Rocky Linux DVD
cdrom
# Authentication
rootpw --iscrypted $6$randomsalt$randomhashhere
authselect --enableshadow --passalgo=sha512
# Network information (using DHCP)
network --bootproto=dhcp --device=link --activate
# Your existing partitioning scheme
zerombr
clearpart --all --initlabel
part /boot --fstype="ext4" --size=512
part /boot/efi --fstype="fat" --size=512
part pv.01 --size=1 --grow --ondisk=sda
volgroup vg_root --pesize=4096 pv.01
logvol / --fstype="ext4" --size=45000 --vgname=vg_root --name=lv_root
logvol /tmp --fstype="ext4" --size=1024 --vgname=vg_root --name=lv_tmp
logvol /var --fstype="ext4" --size=50120 --vgname=vg_root --name=lv_var
logvol /home --fstype="ext4" --size=512 --vgname=vg_root --name=lv_home
logvol swap --fstype="ext4" --size=16384 --vgname=vg_root --name=lv_swap
part pv.02 --size=1 --grow --ondisk=sdb
volgroup drbdpool --pesize=4096 pv.02
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Run the text install
text
# Skip X configuration
skipx
# Firewall configuration
firewall --enabled --service=ssh
# SELinux configuration
selinux --enforcing
# Do not configure the X Window System
skipx
# Reboot after installation
reboot --eject
# Package selection
%packages
@core
%end
# Post-installation script
%post
# Add any post-installation commands here
%end
```
Единственный способ разорвать цикл — зайти в BIOS в GUI Proxmox и загрузиться с диска scsi0. Я попытался прочитать справочную документацию: [ >), но так и не нашёл там решения. Кроме того, мне непонятно, что представляет собой номер последовательности загрузки. Нигде не могу найти на это ссылку. Буду благодарен за любую помощь.
```terraform
resource "proxmox_virtual_environment_vm" "rocky_vm" {
name = "rocky-vm-02"
node_name = "VMHOST1"
kvm_arguments = "-kernel /mnt/rocky/isolinux/vmlinuz -initrd /mnt/rocky/isolinux/initrd.img -append 'inst.ks=http://192.168.178.75/ks.cfg inst.cmdline quiet inst.once'"
cpu {
cores = 4
type = "host"
}
memory {
dedicated = 16348
}
network_device {
bridge = "vmbr0"
}
startup {
order = "1"
}
disk {
datastore_id = "VMDISK1"
file_format = "qcow2"
interface = "scsi0"
size = 150
}
disk {
datastore_id = "VMDISK1"
file_format = "qcow2"
interface = "scsi1"
size = 100 # Adjust the size as needed
}
cdrom {
enabled = true
file_id = "VMDISK1:iso/Rocky-9.5-x86_64-dvd.iso"
}
}
```
Мой kickstart файл выглядит следующим образом:
```
# Basic system configuration
lang en_US.UTF-8
keyboard sg
timezone UTC
# Installation source
# Assuming you're using the Rocky Linux DVD
cdrom
# Authentication
rootpw --iscrypted $6$randomsalt$randomhashhere
authselect --enableshadow --passalgo=sha512
# Network information (using DHCP)
network --bootproto=dhcp --device=link --activate
# Your existing partitioning scheme
zerombr
clearpart --all --initlabel
part /boot --fstype="ext4" --size=512
part /boot/efi --fstype="fat" --size=512
part pv.01 --size=1 --grow --ondisk=sda
volgroup vg_root --pesize=4096 pv.01
logvol / --fstype="ext4" --size=45000 --vgname=vg_root --name=lv_root
logvol /tmp --fstype="ext4" --size=1024 --vgname=vg_root --name=lv_tmp
logvol /var --fstype="ext4" --size=50120 --vgname=vg_root --name=lv_var
logvol /home --fstype="ext4" --size=512 --vgname=vg_root --name=lv_home
logvol swap --fstype="ext4" --size=16384 --vgname=vg_root --name=lv_swap
part pv.02 --size=1 --grow --ondisk=sdb
volgroup drbdpool --pesize=4096 pv.02
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Run the text install
text
# Skip X configuration
skipx
# Firewall configuration
firewall --enabled --service=ssh
# SELinux configuration
selinux --enforcing
# Do not configure the X Window System
skipx
# Reboot after installation
reboot --eject
# Package selection
%packages
@core
%end
# Post-installation script
%post
# Add any post-installation commands here
%end
```
Единственный способ разорвать цикл — зайти в BIOS в GUI Proxmox и загрузиться с диска scsi0. Я попытался прочитать справочную документацию: [ >), но так и не нашёл там решения. Кроме того, мне непонятно, что представляет собой номер последовательности загрузки. Нигде не могу найти на это ссылку. Буду благодарен за любую помощь.
