kvm create, clone a virtual machine

Create a virtual machine
virt-install --name k8s01 --ram 4096 --vcpus=8 --disk path=/vm/vm/k8s01/os.img,size=100 --network bridge=br1 --cdrom /vm/iso/CentOS-7.4-x86_64-DVD-1708.iso --vnclisten=192.168.12.84 --vncport=6905 --vnc

Clone Virtual Machine
virt-clone --original S500001 --name S500000 -f /vm/vm/S500000/os.img --force

Creating Disk
qemu-img create -f qcow2 /vm/vm/S500001/data.img 50G

Scripting clone a virtual machine:

 #!/bin/bash
#
# Description: This is sysytem optimization scripts about centos !
################################################################
# Author:tommy xiao
# QQ: 610000107
# Date: 2019.06.28
################################################################

desc="Please find the existing kvm name in 'virsh list --all'"

die (){
  echo >&2 $@
}
export LC_ALL=C
if [ -z "$2" ];then
    die
    echo -e "\033[40;33mUsage: /bin/bash add_kvm.sh new_kvm_name clone_kvm_name  ---- $desc \n\033[40;37m"
    exit 1
fi

# Variable settings
kvm_new=$1
kvm_template=$2
kvm_dir="/vm/vm/$kvm_new"
shut=`virsh list --all | grep -w $kvm_template | awk '{print $3}'`
kvm_all=`virsh list --all | grep "run\|shu\|pa"|awk '{print $2}'`

add_kvm()
{
if [ ! -d $kvm_dir ];then
    mkdir -p $kvm_dir
    virt-clone  --original $kvm_template --name $kvm_new -f $kvm_dir/os.img --force >>/dev/null 2>&1
    echo -e "\033[40;32mClone '$kvm_new' created successfully. You can use 'virsh start $kvm_new' to boot up.\n\033[40;37m"
    exit 2
else
    echo -e "\033[40;31m'$kvm_new' folder already exists\n\033[40;37m"
    exit 3
fi
}

for i in $kvm_all;do
    if [[ $i == $kvm_template ]];then
        if [ $shut == shut ];then
            add_kvm
        else
            echo -e "\033[40;33mvirsh shutdown $kvm_template\n\033[40;37m"
            virsh destroy $kvm_template >>/dev/null 2>&1
            add_kvm
        fi
    fi
done
echo -e "\033[40;31mTemplate '$kvm_template' could not be found. Check whether template '$kvm_template' exists by 'virsh list -- all'.\n\033[40;37m"

Guess you like

Origin blog.51cto.com/7585527/2416559