linux一键克隆,使用shell一键克隆虚拟机
说明:此脚本是通过快照技术快速的一键克隆虚拟机,脚本只限于CentOS和Redhat。
输入数字后会创建一个以标号标识的虚拟机。
代码如下:
#!/bin/bash
# exit code:
# 65 -> user input nothing
# 66 -> user input is not a number
# 67 -> user input out of range
# 68 -> vm disk image exists
IMG_DIR=/var/lib/libvirt/images
BASEVM=rh7_template
###BASEVM为后端的img文件名,此文件名根据自己需求更改!!!
ROOM=sed -n "1p" /etc/hostname | sed -r 's/(room)([0-9]{1,})(.*)/\2/'
if [ $ROOM -le 9 ];then
ROOM=0$ROOM
fi
IP=sed -n "1p" /etc/hostname | sed -r 's/(.*)([0-9]+)(.*)/\2/'
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 [ $(echo ${VMNUM}*1 | bc) = 0 ]; then
echo "You must input a number."
exit 66
elif [ ${VMNUM} -lt 1 -o ${VMNUM} -gt 99 ]; then
echo "Input out of range"
exit 67
fi
NEWVM=rh7_node${VMNUM}
if [ -e $IMG_DIR/${NEWVM}.img ]; then
echo "File exists."
exit 68
fi
echo -en "Creating Virtual Machine disk image......\t"
qemu-img create -f qcow2 -b $IMG_DIR/.${BASEVM}.img $IMG_DIR/${NEWVM}.img &> /dev/null
echo -e "\e[32;1m[OK]\e[0m"
#virsh dumpxml ${BASEVM} > /tmp/myvm.xml
cat /var/lib/libvirt/images/.rhel7.xml > /tmp/myvm.xml
###rhel7.xml此文件需要存在!!!
sed -i "/${BASEVM}/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml
sed -i "/uuid/s/.*/$(uuidgen)/" /tmp/myvm.xml
sed -i "/${BASEVM}.img/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml
sed -i "/mac /s/a1/${ROOM}/" /tmp/myvm.xml
sed -i "/mac /s/a2/${IP}/" /tmp/myvm.xml
sed -i "/mac /s/a3/${VMNUM}/" /tmp/myvm.xml
sed -i "/mac /s/b1/${ROOM}/" /tmp/myvm.xml
sed -i "/mac /s/b2/${IP}/" /tmp/myvm.xml
sed -i "/mac /s/b3/${VMNUM}/" /tmp/myvm.xml
sed -i "/mac /s/c1/${ROOM}/" /tmp/myvm.xml
sed -i "/mac /s/c2/${IP}/" /tmp/myvm.xml
sed -i "/mac /s/c3/${VMNUM}/" /tmp/myvm.xml
sed -i "/mac /s/d1/${ROOM}/" /tmp/myvm.xml
sed -i "/mac /s/d2/${IP}/" /tmp/myvm.xml
sed -i "/mac /s/d3/${VMNUM}/" /tmp/myvm.xml
echo -en "Defining new virtual machine......\t\t"
virsh define /tmp/myvm.xml &> /dev/null
echo -e "\e[23;1m[OK]\e[0m"
linux一键克隆,使用shell一键克隆虚拟机相关推荐
- linux安装mysql(shell一键安装)
1. 相关文件(install_mysql.sh.my.cnf.mysqld相关内容在文中最后面) 2. 将上面的文件上传到linux服务器某一目录下 3.给install_mysql.sh赋执行权限 ...
- Linux安装Flash脚本,Linux(CentOS)下的Shockwave Flash shell一键更新脚本
原创内容,转载请注明出处: https://www.myzhenai.com.cn/post/2318.html https://www.myzhenai.com/thread-17933-1-1.h ...
- Linux系统一键安全加固shell脚本编写思路
本次分享一下个人在对Linux系统一键安全加固shell脚本编写时的一些思路: Linux系统一键安全加固shell脚本编写思路 1.编写须知 1.1 脚本使用说明 1.2 主要功能说明: 1.3隐藏 ...
- Linux第一章:2.如何克隆虚拟机、如何创建虚拟机快照、如何迁移虚拟机、如何删除虚拟机
一.虚拟机克隆 1.克隆的方式: 1.1 创建链接克隆:创建虚拟机的引用,使用的还是原本的系统 1.2 创建完整克隆:需要的空间较大,就是一个完整的拷贝 2.操作: 2.1 克隆操作需要关闭虚拟机系统 ...
- 虚拟服务器的克隆,怎么克隆远程服务器上的虚拟机
怎么克隆远程服务器上的虚拟机 内容精选 换一换 云堡垒机与RADIUS服务器对接,认证登录系统的用户身份.本小节主要介绍如何配置RADIUS域认证模式,并可对配置的RADIUS认证进行用户有效性测试. ...
- Linux中RPM、YUN和克隆
Linux中RPM.YUN和克隆 1.RPM查询命令 查询所有安装的软件包 rpm -qa 查看单一安装 rpm -qa |grep firefox 卸载安装包 rpm -e firefox 安装安装 ...
- linux一键电影网站脚本,Linux下HTML5播放器一键生成脚本
原创内容,转载请注明出处: https://www.myzhenai.com.cn/post/2394.html https://www.myzhenai.com/thread-17969-1-1.h ...
- Linux下使用gnome-terminal命令一键开启工作环境
Linux下使用gnome-terminal命令一键开启工作环境 文章目录 Linux下使用gnome-terminal命令一键开启工作环境 前言 gnome-terminal使用指南 gnome-t ...
- 虚拟机克隆以后出现“需要整合虚拟机磁盘”的解决方法
问题描述 在虚拟机克隆完毕以后,原始虚拟机提示"需要整合虚拟机磁盘" 在"任务与事件"栏中看到以下信息 解决方法 从上面可以看到是因为整合失败导致的,那么我们只 ...
最新文章
- 杭电2028--Lowest Common Multiple Plus
- 自动化测试之键盘操作和select操作
- castle activerecord mysql_Castle ActiveRecord配置中需要注意的地方
- iOS 10 消息推送(UserNotifications)秘籍总结(二)
- [深度学习]CNN--卷积神经网络中用1*1 卷积有什么作用
- Springboot默认加载application.yml原理
- 磁盘与目录的容量(转)
- 肺功能曲线图怎么看_【家装干货】有人说是鸡肋,有人说是功能升级,卫生间装双人洗漱台,你怎么看?...
- c 解析java byte,深入解析Java编程中面向字节流的一些应用
- windows下启动activemq闪退
- 来自读者的面试题:谈谈Spring用到了哪些设计模式?
- 安装运行 rovio odometry
- unity去掉物体的阴影
- 在VS2017(VC15)上配置opencv4.0.1环境
- sklearn学习笔记(3)svm多分类
- java web 播放flv,实现网页中播放FLV文件的源代码
- lombok导入报错,版本1.18.12已在maven本地仓库中
- pwm调速流程图小车_循迹+pwm调速的小车源程序
- 例子4.11 从键盘输入一个大写字母,要求改用小写字母输出
- 地球系统模式(CESM)
热门文章
- Android5.1自定义闹钟铃声,vivo手机怎么添加自定义闹钟铃声
- 电子制作——锂电池大功率充电器
- picoCTF,Reverse Engineering,逆向类,42/55
- 用 RPM 打包软件,第 2 部分
- 实战整理-阿里天池淘宝用户购物行为数据集实战(MySQL数据分析+Navicat)
- Java项目:基于ssm汽车配件管理系统(计算机毕业设计)
- python的基础使用之字典(涅槃之路8)
- maven打包报错scalac error: xxxx\target\classes does not exist or is not a director
- java里用idea是什么意思_idea什么意思?啥意思?idea简介
- 大V科技谈 | VMware利用先进的自动化技术,简化混合办公模式