Make and manage copy-on-write KVM clones from template VMs
Go to file
Jesse Gardner d73f28ee4b lv_api_do now contained within qq2clone as a base64 encoded tgz archive 2021-07-15 16:53:06 -07:00
LICENSE qq2clone V 0.1.0 2021-04-12 19:20:38 -07:00
README.md Updated README.md 2021-07-14 13:24:13 -07:00
gen_all.bash lv_api_do now contained within qq2clone as a base64 encoded tgz archive 2021-07-15 16:53:06 -07:00
inst_fragment.bash Rename for consistency 2021-07-14 18:49:48 -07:00
lv_api_do Minor changes to lv_api_do.c 2021-04-25 09:48:08 -07:00
lv_api_do.c Minor changes to lv_api_do.c 2021-04-25 09:48:08 -07:00
man.md Installer script has all basic functionality, setup slightly modified, documentation updated 2021-07-14 13:04:32 -07:00
man.pandoc Since I'm not actually incrementing the version number, I removed it from the man page 2021-07-15 13:38:45 -07:00
qq2clone lv_api_do now contained within qq2clone as a base64 encoded tgz archive 2021-07-15 16:53:06 -07:00
qq2clone.1 Since I'm not actually incrementing the version number, I removed it from the man page 2021-07-15 13:38:45 -07:00
qq2clone_completion.bash Rename for consistency 2021-07-14 18:49:48 -07:00
qq2clone_installer.bash lv_api_do now contained within qq2clone as a base64 encoded tgz archive 2021-07-15 16:53:06 -07:00
qq2clone_noarchive lv_api_do now contained within qq2clone as a base64 encoded tgz archive 2021-07-15 16:53:06 -07:00

README.md

README

qq2clone is a linux tool to simplify creating and managing copy-on-write clones of template QEMU/KVM virtual machines. It can perform batch operations in case you are working with multiple clones. There is a version of the manual page you can read online above (man.md).

qq2clone has these dependences:

  • virsh (qq2clone has started transitioning to use the libvirt API directly, this will not remain a dependency forever)
  • Bash 4.0+
  • sqlite3
  • xmllint (from libxml2)
  • qemu-img
  • libvirt tools:
    • virt-clone
    • virt-xml
    • virt-xml-validate

INSTALL

The file qq2clone_installer.bash is a setup script containing a self-extracting archive. If you copy and paste the following into a terminal, it will download and run.

curl  https://git.j-g-web.com/jesse/qq2clone/raw/branch/master/qq2clone_installer.bash > .qq2clone_installer.bash 2> /dev/null &&
chmod +x .qq2clone_installer.bash &&
./.qq2clone_installer.bash

FAQ

How do I use this thing?

The manual is quite detailed, and there is an examples section that may be helpful.

Why use Bash and C when this could all be written in Python?

Just to improve my Bash skills and gain a tiny bit of familiarity with C. Writing this in Python would certainly have been easier.