• 016_编写脚本快速克隆 KVM 虚拟机


    #!/bin/bash
    #本脚本针对 RHEL7.2 或 Centos7.2
    #本脚本需要提前准备一个 qcow2 格式的虚拟机模板,名称为/var/lib/libvirt/images/.rh7_template 的虚拟机模板
    #该脚本使用 qemu-img 命令快速创建快照虚拟机
    #脚本使用 sed 修改模板虚拟机的配置文件,将虚拟机名称、UUID、磁盘文件名、MAC 地址

    IMG_DIR=/var/lib/libvirt/images
    BASEVM=rh7_template
    read -p "Enter VM number: " VMNUM
    if [ $VMNUM -le 9 ];then
         VMNUM=0$VMNUM #拼接
    fi

    if [ -z "${VMNUM}" ]; then #为空
         echo "You must input a number."
         exit 65
    elif [ ${VMNUM} = ~ [a-z] ]; then #有字母
         echo "You must input a number."
         exit 66
    elif [ ${VMNUM} -lt 1 -o ${VMNUM} -gt 99 ]; then # -o  or
         echo "Input out of range"
         exit 67
    fi

    NEWVM=rh7_node${VMNUM}  # node3..
    if [ -e $IMG_DIR/${NEWVM}.img ]; then
       echo "File exists." #镜像已存在
       exit 68
    fi

    echo -en "Creating Virtual Machine disk image...... " #提示正在创建...
    qemu-img create -f qcow2 -b $IMG_DIR/.${BASEVM}.img $IMG_DIR/${NEWVM}.img &> /dev/null #创建前端盘
    echo -e "e[32;1m[OK]e[0m" #提示OK
    #virsh dumpxml ${BASEVM} > /tmp/myvm.xml #导出xml文件 或者
    cat /var/lib/libvirt/images/.rhel7.xml > /tmp/myvm.xml

    sed -i "/<name>${BASEVM}/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml
    sed -i "/uuid/s/<uuid>.*</uuid>/<uuid>$(uuidgen)</uuid>/" /tmp/myvm.xml
    sed -i "/${BASEVM}.img/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml
    #修改 MAC 地址,本例使用的是常量,每位使用该脚本的用户需要根据实际情况修改这些值
    #最好这里可以使用便利,这样更适合于批量操作,可以克隆更多虚拟机sed -i "/mac /s/a1/0c/" /tmp/myvm.xml

    echo -en "Defining new virtual machine...... " #提示正在创建虚拟机
    virsh define /tmp/myvm.xml &> /dev/null   #创建虚拟机
    echo -e "e[32;1m[OK]e[0m"   #提示OK

  • 相关阅读:
    Filter (seach and replace) array of bytes in an InputStream
    Eclipse上GIT插件EGIT使用手册之一_安装EGIT插件
    JAVA如何插入MySql的datetime类型的简单的例子
    版本控制工具比较CVS,SVN,GIT
    jQuery ajax get() 方法
    wubi 安装 ubuntu
    怎样把水货E72升级后英文变中文
    中国象棋for Ubuntu
    Ubuntu技巧:Ubuntu软件安装方法完全指南[转]
    关于linux下安装oracle之后,重启系统后oracle失败的问题[转]
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10514583.html
Copyright © 2020-2023  润新知