Both sides previous revision Previous revision Next revision | Previous revision |
home_server:home_server_setup:kvm [2023-02-25 Sat wk08 09:34] – [Change the Disk Allocated Size] baumkp | home_server:home_server_setup:kvm [2024-02-18 Sun wk07 18:09] (current) – [Change the Disk Allocated Size] baumkp |
---|
*[[https://linuxhint.com/install_kvm_debian_10/|Installing KVM on Debian 10]] | *[[https://linuxhint.com/install_kvm_debian_10/|Installing KVM on Debian 10]] |
*[[https://computingforgeeks.com/how-to-install-kvm-virtualization-on-debian/|How To Install KVM Hypervisor on Debian 11|10]] | *[[https://computingforgeeks.com/how-to-install-kvm-virtualization-on-debian/|How To Install KVM Hypervisor on Debian 11|10]] |
Basically to install the KVM Hypervisor: ''sudo apt install qemu qemu-kvm qemu-system qemu-utils libvirt-clients libvirt-daemon-system virtinst bridge-utils'' bridge-utils is optional. | *[[https://www.cyberciti.biz/faq/install-kvm-server-debian-linux-9-headless-server/|How to install KVM server on Debian 9/10 Headless Server]] |
| Basically to install the KVM Hypervisor: ''sudo apt install qemu-kvm qemu-system qemu-utils libvirt-clients libvirt-daemon-system virtinst bridge-utils'' bridge-utils is optional. |
| |
| *''genisoimage'' is a package to create iso images |
| *''libguestfs-tools'' is a library to access and modify VM disk images |
| *''libosinfo-bin'' is a library with guest operating systems information to assist VM creation |
| |
Use the built-in clone facility: ''sudo virt-clone %%--%%connect=qemu:%%//%%example.com/system -o this-vm -n that-vm %%--%%auto-clone''. | Use the built-in clone facility: ''sudo virt-clone %%--%%connect=qemu:%%//%%example.com/system -o this-vm -n that-vm %%--%%auto-clone''. |
| |
====Windows10 on KVM==== | ====Windows10 on KVM==== |
| I have not used Windows on a VM now since circa 2021. Just no need. I do have a dual boot on my main desk top that I default to Debian testing and can boot to Windows 11 when I need to use Windows based software. My sons all still use Windows exclusively on their computers and game consoles..... So I still have a family MSOffice 365 subscription. This give access to MSoffice and 1TB of MS Cloud each. |
I had poor performance on Windows 7, 8/8.1, and 10 running on KVM a few years back. A large frustration was that I could not seem to get more than 2 CPUs functioning on the Windows VM even though I assigned 4. Performance was very poor, with CPU usage usually saturated with any use and relatively high even when idle. I found out early that Windows has limitations on the number of CPUs that could be used; 1 on Home, 2 on professional and 4 on Workstation and more on Server versions, at least that was my understanding. As I did not have a great need for the Windows VM I did not try too hard and basically did not use. | I had poor performance on Windows 7, 8/8.1, and 10 running on KVM a few years back. A large frustration was that I could not seem to get more than 2 CPUs functioning on the Windows VM even though I assigned 4. Performance was very poor, with CPU usage usually saturated with any use and relatively high even when idle. I found out early that Windows has limitations on the number of CPUs that could be used; 1 on Home, 2 on professional and 4 on Workstation and more on Server versions, at least that was my understanding. As I did not have a great need for the Windows VM I did not try too hard and basically did not use. |
| |
- Create a snapshot of the VM and direct all changes to the snapshot allowing safe backup of main VM file | - Create a snapshot of the VM and direct all changes to the snapshot allowing safe backup of main VM file |
- Active back commit the snapshot and verify back commit worked | - Active back commit the snapshot and verify back commit worked |
| |
| ====KVM Offline Backup==== |
| <fc #ff0000>Note this only works on VMs that are shut down</fc> |
| -''sudo virsh list --all'' to list all KVM virtual machines. |
| -''%%sudo virsh dumpxml VM_name | grep -i "source file"%%'' to list the VM source file location noted in the VM XML file. |
| -''sudo virsh dumpxml vm-name > /path/to/xm_file.xml'' to archive/backup the VM XML definition file. |
| -''sudo cp -p /working/path/VM_image.qcow2 /path/to/'' to archive/move the VM file. |
| -''%%sudo virsh undefine vm-name --remove-all-storage%%'' to undefine the VM and remove its storage. <color #ed1c24>(Be careful with this one!)</color> |
| -''sudo virsh define --file <path-to-xml-file>'' to import (define) a VM from an XML file. |
| |
| |
| References: |
| *[[https://ostechnix.com/export-import-kvm-virtual-machines-linux/|How To Export And Import KVM Virtual Machines In Linux]] |
====kvm back-up links==== | ====kvm back-up links==== |
*[[https://schh.medium.com/backup-and-restore-kvm-vms-21c049e707c1|Backup and Restore KVM Vms]] | *[[https://schh.medium.com/backup-and-restore-kvm-vms-21c049e707c1|Backup and Restore KVM Vms]] |
*Next increase the allowed size of the vm disk: ''sudo qemu-img resize /path_vm/vm_name.img +20G'' | *Next increase the allowed size of the vm disk: ''sudo qemu-img resize /path_vm/vm_name.img +20G'' |
*We need to make a backup of the VM disk: ''sudo cp /path_vm/vm_name.img /path_vm/vm_name_backup.img'' | *We need to make a backup of the VM disk: ''sudo cp /path_vm/vm_name.img /path_vm/vm_name_backup.img'' |
| *We can check the file system on the VM: ''%%virt-filesystems --long -h --all -a /path_vm/vm_name.img%%'', <fc #ff0000>//**we can also use this to confirm the correct partition to expand**//</fc>. |
| *We the backup VM disk to create a new expanded drive: ''%%sudo virt-resize --expand /dev/sda1 /path_vm/vm_name_backup.img /path_vm/vm_name.img%%'' |
| |
| The ''virt-filesystems'' command may not be installed by default and can be installed with the following ''sudo apt install guestfs-tools'' |
| |
[[https://computingforgeeks.com/how-to-extend-increase-kvm-virtual-machine-disk-size/|How To extend/increase KVM Virtual Machine (VM) disk size]] | [[https://computingforgeeks.com/how-to-extend-increase-kvm-virtual-machine-disk-size/|How To extend/increase KVM Virtual Machine (VM) disk size]] |