Trivial management of 64 bit virtual machines with qemu.
What this script will do
It can handle:
- Virtual hard disk creation, backup and deletion.
- Basic network management: two ports are exposed to the host machine (but you can add as many as you want). One of these two ports is SSH (so admin gets simpler).
- Connection via SSH.
- Shared directory between host and guest.
- Last, but not least, running the virtual machine with all these options.
Setup information and usage
You need a 64 bit machine with virtualization technology and more than 4 GB of RAM.
configvmrcbased on your needs. Variables are self-explanatory and I have kept mine as an example.
Install the following dependencies
Create a new VHD and complete the OS installation:
$ ./qvm -c $ ./qvm -i
Optionally enable the SSH daemon on the guest machine.
Optionally create a new backup VHD:
$ ./qvm -b
Now you can run the virtual machine either using the original or the backup VHD. By deault if you run
./qvmthe virtual machine will run in graphics mode using the backup hard disk.
Optionally add the following in the gues machine's
/etc/fstab, to enable the shared directory automatically (no mount commands of any sort).
host_share /home/vm/shared 9p noauto,x-systemd.automount,trans=virtio,version=9p2000.L 0 0
Usage: qvm [OPTION] Trivial management of 64 bit virtual machines with qemu. Options: -a, --attach connect via SSH -b, --backup backup vhd -c, --create create new vhd -d, --delete delete vhd backup --delete-orig delete original vhd -h, --help print this help -i, --install install img on vhd -n, --run-nox run vm without opening a graphical window (useful for background jobs like SSH) --run-nox-orig run-orig and run-nox combined -s, --mkdir-shared create shared directory -x, --run run vm --run-orig run from original vhd Only a single option is accepted. By default, the backup vhd is run. CC0 Written in 2016 by Franco Masotti/frnmst <email@example.com>