======Speedy KVM Creation====== I created a special [[linux:distribution:debian:preseed:debian-10-preseed|Debian 10 preseed]] iso just for my Proxmox kvm machines. I can go from zero to ready to rock in under 10 minutes! ---- =====Create the preseeded iso===== The preseeded iso starts automatically, installs a few key packages, sets vim as my default editor and copies my ssh public key to my authorized_keys file so I can run the Ansible playbook right after install. * I created the preseed file then added it to the ISO using my [[linux:distribution:debian:preseed:debian-10-preseed#zero-interaction|Zero Interaction]] method. * https://gitlab.com/preseed/preseed-kvm/-/blob/da3402a1f9331fd23816703f62057091b7a36045/preseed.cfg ---- =====Create the Ansible Playbook===== I created a small playbook to configure the system for me so it's set up the way I like. * https://gitlab.com/ansible9/ansible-kvm/-/blob/master/basic_kvm.yml * Run it like so: ansible-playbook -v -b --ask-become-pass -i xxx.xxx.xxx.xxx, basic_kvm.yml ---- =====Configure pfSense===== If it's a VM that I plan on keeping around for a while, I'll give it a static IP address in pfSense before installing Debian. The preseed will use the hostname I assigned it in pfSense as the system hostname when configuring the network via DHCP. Otherwise, the system's hostname will be set as //hostname// and it will be assigned an ip address outside of the 'reserved' addresses for the vlan I added it to. ---- =====Create a VM===== ====GUI==== * Open the Proxmox web interface * Upload the newly created preseed-iso to your Proxmox storage * Create a VM with whatever settings you want, using the preseed-iso for the CD/DVD disk image. * Start the virtual machine. * Wait for it to complete. It took roughly 7 minutes for mine. * Run the ansible playbook. * Enjoy! ---- ====CLI==== * ssh into Proxmox: ssh user@proxmox * The iso's on my system are located at ''%%/media/sas/data/template/iso%%''. Use your favorite file transfer method to get the iso file there (or the iso storage location on your system). * List current VMs: sudo qm list * Pick a free vmid and create a new VM with your preferred settings: sudo qm create 150 --cdrom sas-storage:iso/preseed-debian-10.4.iso \ --name preseed --numa 0 --ostype l26 \ --cpu cputype=host --cores 2 --sockets 2 \ --memory 4096 \ --net0 bridge=vmbr90,virtio \ --bootdisk scsi0 --scsihw virtio-scsi-pci --scsi0 file=ssd-lvm:32 \ --serial0 socket --vga qxl --audio0 device=ich9-intel-hda,driver=spice # I'll add macaddr=XX:XX:XX:XX:XX:XX to the --net0 section if I want to pre-configure the ip in pfSense beforehand. * Start the vm: sudo qm start * Wait for it to complete. * Run the ansible playbook. * Enjoy! * See ''%%man qm%%'' for more info ----