As you would have seen in Virtualbox or vmware, there is option to create a linked clone. I wanted to use the same feature as “Snapshot” feature anyway does not look/work so great with virt-manager. So, I created a script to create a linked clone VM and here it is :
#!/bin/bash - #=============================================================================== # # FILE: qcow2-linked-clone.sh # # USAGE: ./qcow2-linked-clone.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Amit Agarwal (aka) # ORGANIZATION: Mobileum # CREATED: 01/05/2018 09:54 # Last modified: Wed Feb 28, 2018 04:39PM # REVISION: --- #=============================================================================== set -o nounset # Treat unset variables as an error UP="amitag:amitag" #Here you need to put your username and group. if [[ $# == 0 ]] then read -p "Enter the source path :: " spath read -p "Enter the source disk :: " sdisk read -p "Enter the destin path :: " dpath read -p "Enter the destin disk :: " ddisk read -p "Enter new VMName :: " vmname else spath=$(dirname $1) dpath=$spath sdisk=$(basename $1) ddisk=$2.qcow2 vmname=$2 fi sudo chown $UP "$spath/$sdisk" qemu-img create -f qcow2 -b "$spath/$sdisk" "$dpath/$ddisk" virt-install --disk $dpath/$ddisk --ram 512 \ --virt-type kvm --vcpus 1 --name "$vmname" --import
The script will create a linked qcow2 and then create a VM with that image. Running it is simple, either provide command line options or just run and it will ask you for details.
Hope it is useful.