321312222 发表于 2016-3-2 08:41:17

linux-qcow2格式安装虚拟机及脚本一键克隆qcow2虚拟机

                      1使用QCOW2格式磁盘文件当硬盘KVM装机(克隆系统占用空间非常小)
cd /var/lib/libvirt/images (磁盘文件存放区)
qemu-img create -f qcow2 haha.img 80G (磁盘瞬间创建完成,潜在大小80G,实际大小按当前实际占用大小)
virt-manager 装机,硬盘选择/var/lib/libvirt/images/haha.img
qcow2克隆(快速创建新磁盘文件)qemu-img create -b haha.img -f qcow2 haha01.img
2用脚本克隆qcow2格式kvm虚拟机
#!/bin/bash
IMG_DIR=/var/lbi/libirt/images            #定义磁盘路径
BASEVM=haha                                 #定义原系统名
XMLFILE=/tmp/myvm.xml                     #定义xml命令文件路径

while[ 1 ]

do
read-P "请输入克隆的虚拟机数字编码: " VMNUM         #脚本交互模式
if [ -z "${VMNUM}"];then                              #输入的不是数字
   echo "你不能什么也不输入"
   continue                                           #跳出当前循环
elif [ “$VMNUM”!= $(echo ${VMNUM}*1 | bc )];then    #判断输入的值是不是数字
   echo "你必须输入一个数字"
   continue                                           #跳出当前循环
elif ["$VMNUM"-lt 0 -1"$VMNUM" -gt 99 ];then    #判断输入的小于1或者大于99
   echo "您输入的数字无效"
   continue
else
      break                                             #跳出所有循环
fi
done
NEWVM=hahanew${VMNUM}                              #定义新客隆系统名
if[ -f ${IMG_DIR}/${NEWVM}.img ];then            #判断用户输入的编号是否已存在
echo"${NEWVM} 已经存在!!!"
exit 1
fi
echo-en "正在创建磁盘.....\t\t\t"               #-n:不换行 -e 使用特殊字符当前是用了n
qemu-img create -b ${IMG_DIR}/${BASEVM}.img -f qcow2 ${IMG_DIR}/{NEWVM}.img &> /dev/null                                                                  #克隆
echo-e "\e\e[0m"                                     #输出绿色的OK
virsh dumpxml rhel6 > $XMLFILE                                 #指定xml路径
sed -i "/<name>${BASEVM}/s/${BASEVM}/${NEWVM}"$XMLFILE         #修改系统名   
sed -i "/uuid/s/<uuid>.*</<uuid>$(uuidgen)</"$XMLFILE          #修改UUID
sed -i"/libvirt/s/${BASEVM}/${NEWVM}/"$XMLFILE               #修改磁盘
sed -i"/mac addr/s/00'/${VMNUM}'/"    $XMLFILE               #修改MAC地址
echo -en"新虚拟机克隆完成..../t/t/t"
virsh define$XMLFILE   &> /dev/null                            #定义新的虚拟机
echo   ""

                   

页: [1]
查看完整版本: linux-qcow2格式安装虚拟机及脚本一键克隆qcow2虚拟机