Proxmox: Difference between revisions
(→Shrink) |
(→Shrink) |
||
Line 37: | Line 37: | ||
===== Shrink ===== | ===== Shrink ===== | ||
Shrinking is | Proxmox SUCKS at shrinking disks. They just don't want the liability hassle. Instead, go old skool clonezilla. | ||
* Create a new vm with the new disk size you want (and a diff hostname). | |||
* Old vm > Add CD > Use the clonezilla iso > change boot order > boot into clonezilla | |||
* Select the standard mode > for target, select samba > use m, /spiceflow/softraid/backup, 192.168.21.1 | |||
* It should prompt for password and verify the drive size, sweet!! | |||
* Go through all the prompts using defaults to send /dev/sda to a backup file on softraid | |||
* Shut down the old vm, move the clonezilla iso to the new vm, boot clonezilla, restore from smb image | |||
* fix the hostname in proxmox, and dnsmasq MAC address on bitpost | |||
This really is the best way! Don't believe me? Dive into this horror that never worked, then... | |||
Shrinking is VERY painful and VERY hard to find instructions, a lot of trial and horror... and no luck yet | |||
* Add CD > choose gparted live cd > boot with it, shrink partition | * Add CD > choose gparted live cd > boot with it, shrink partition | ||
* Stop the VM, remove the CD | * Stop the VM, remove the CD |
Revision as of 21:34, 31 October 2022
Available VM Types
- Place ISOs in /var/lib/vz/template/iso
- To upload via Proxmox web ui:
Storage View > Datacenter > melange > local > (you might have to hit refresh now!) > ISOs > Upload
VM Installation
- VM install from ISO
- When you first boot an ubuntu iso, it will behave like an installation thumb drive.
- Install to the only available drive of the VM (/dev/sda). Proxmox is smart enough to allow this. The install ISO ends up as a DVD drive.
- Once VM install is completed, remove the DVD:
- sudo umount /dev/sf0 (or whatever)
- Proxmox > (VM) > hardware > DVD > remove
- Proxmox > (VM) > shutdown, then start
Changing VM disk size
Grow
Increase is fairly easy:
- (VM) > Hardware > Hard Disk > Resize disk > Add number of GB to increase
- Update the ubuntu filesystem (if you didn't use LVM (which is basically useless))
sudo parted /dev/sda # use the right one, obv! print # to get partition list resizepart 2 # use the right one, obv! End? 100% sudo resize2fs /dev/sda#
For a macOS VM, thenickdude has notes.
If you used LVM in ubuntu (stop doing that!), you have to do all this:
sudo su - parted -s -a opt /dev/sda "print free" # see existing partitions parted -s -a opt /dev/sda "print free" "resizepart 3 100%" "print free" # resize partition to fill space pvresize /dev/sda3 # to get the LVM resized to the partition lvdisplay lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv # to resize the logical volume resize2fs /dev/ubuntu-vg/ubuntu-lv
Shrink
Proxmox SUCKS at shrinking disks. They just don't want the liability hassle. Instead, go old skool clonezilla.
- Create a new vm with the new disk size you want (and a diff hostname).
- Old vm > Add CD > Use the clonezilla iso > change boot order > boot into clonezilla
- Select the standard mode > for target, select samba > use m, /spiceflow/softraid/backup, 192.168.21.1
- It should prompt for password and verify the drive size, sweet!!
- Go through all the prompts using defaults to send /dev/sda to a backup file on softraid
- Shut down the old vm, move the clonezilla iso to the new vm, boot clonezilla, restore from smb image
- fix the hostname in proxmox, and dnsmasq MAC address on bitpost
This really is the best way! Don't believe me? Dive into this horror that never worked, then...
Shrinking is VERY painful and VERY hard to find instructions, a lot of trial and horror... and no luck yet
- Add CD > choose gparted live cd > boot with it, shrink partition
- Stop the VM, remove the CD
- ssh melange # and massage the disk there
sudo su - lvdisplay | grep "LV Path\|LV Size" qemu-img info /dev/pve/vm-105-disk-0 # DO NOT RESIZE DIRECTLY, it fucks the disk: qemu-img resize -f raw vm-105-disk-0 -210G # FYI THIS ALSO FUCKED THE DRIVE: lvreduce -L 40G /dev/pve/vm-105-disk-0 # i think that is ONLY FOR LVM DISKS mount /spiceflow/bitpost/ qemu-img convert vm-105-disk-0 /spiceflow/bitpost/softraid/backup/vm-105-disk-0.raw qemu-img resize -f raw /spiceflow/bitpost/softraid/backup/vm-105-disk-0.raw --shrink -200G Image resized. # DO NOT DO THIS it will FUCK THE DISK: # qemu-img convert -p -O qcow2 /spiceflow/bitpost/softraid/backup/vm-105-disk-0.raw vm-105-disk-0 # now just copy it back over itself! weird but it works cp /spiceflow/bitpost/softraid/backup/vm-105-disk-0.raw --shrink -200G
- edit 105.conf and reduce disk to the proper size (not sure if that's just so the GUI looks correct?)
emacs /etc/pve/nodes/melange/qemu-server/105.conf
Changing VM CPU allocation
- Navigate to (VM) > Hardware > Processors
- Adjust core count. Overallocation is a very good idea. CPU cores will be used only as threads need them. I've read that some shops successfully overallocate by a factor of 20:1. With our 12 Ryzen 9 cores, that means we would allocate 120 total cores to our VMs(!). Don't do that, ha.
- Stick with 1 socket (that's just for sizing to match any paid licensing)
VM remote desktop display
I'm using SPICE for a full responsive 4k UI on other thin(ner) clients.
Proxmox config
Storage
CIFS
To mount a samba share as proxmox storage:
proxmox UI > Server view > Datacenter > Storage > Add > CIFS > enter fields
Remember to set Content Type to include the things you will place there.
Backups
- I am backing up to softraid/backup on bitpost. Proxmox puts files here:
/spiceflow/softraid/backup/dump/vzdump-qemu-103-2022_03_24-09_15_59.vma.zst
- I am currently keeping 1 backup and 1 "weekly" backup. Odd, but you configure that in Storage:
proxmox UI > Server view > Datacenter > Storage > bitpost-backup > Edit > Backup Retention tab
It's a bit confusing, this tool helps a lot!
Configuration:
- I set up a dedicated CIFS share for that on bitpost, named backup.
- I added a Storage that uses it, and set 'VZDump backup file' as the Content Type.
- From there, it's easy to configure VM backups.
proxmox UI > Server view > Datacenter > Backup > Add
I don't want to try to back up my massive FreeNAS data! So select "Exclude VMs" and check hive/104.
- If something goes wrong, you can kill the backup task from a terminal:
🌐 m@melange [~] ps ax|grep vz 🌐 m@melange [~] sudo kill -9 #pid# # this may cause "VM is locked (backup)" - to fix that: sudo qm unlock 101
- You can watch the backup job logging in the proxmox system log:
sudo tail -f /var/log/syslog ... Mar 24 09:23:01 melange pvedaemon[21327]: INFO: Finished Backup of VM 103 (00:07:02) Mar 24 09:23:01 melange pvedaemon[21327]: INFO: Starting Backup of VM 105 (qemu) ...
debian
I had debian apt-get stop working due to distro changes. Run this to fix it:
ssh melange sudo apt-get --allow-releaseinfo-change update
Proxmox Installation
- In BIOS, enable SVM (cpu virtualization) (you need a modern AMD or Intel chipset)
- Get the latest proxmox release ISO, dd it to a thumb drive (use Flash_Drives SAM 64 EVO)
- Boot and install onto the primary drive over any existing OSes
- During install, use ext4
- I deemed ZFS too fancy, it's basically software raid, and troublesome according to some
- Create a user and use ssh key (NOTE you might want to keep some root terminals open so you don't screw up and get locked out!):
apt install sudo adduser m visudo # and allow m to sudo nano /etc/ssh/sshd_config # and turn off password login, root login su - m # set up ssh keys # in another terminal, test: ssh melange
- Fix the fucking default proxmox apt repo from "enterprise" to "no-license". BTW, they say it's not well tested, and you better pay for a subscription and get a key for the "better" repo. Cmon you all that is utter bullshit...
# Either delete /etc/apt/sources.list.d/pve-enterprise.list file or comment all lines in this file with #. emacs -nw /etc/apt/sources.list.d/pve-no-subscription.list deb http://download.proxmox.com/debian/pve buster pve-no-subscription