美文网首页运维日常
Shell脚本创建虚拟测试环境下的虚拟机

Shell脚本创建虚拟测试环境下的虚拟机

作者: 大白菜的猪猪 | 来源:发表于2019-11-21 00:01 被阅读0次

需求说明:


在运维日常工作中,很多时候都需要在虚拟测试环境下创建对应数量的虚拟机来完成相关的应急方案演练以及测试相关的项目技术方案的可行性。如果能把创建虚拟机的过程写成shell脚本,或者与ansible等自动化部署方案相结合,则可以达到批量部署虚拟机的目的。当需要创建虚拟机的时候,则可以直接运行脚本完成虚拟机的创建,减少人工创建虚拟机繁琐的步骤!


源代码


#!/bin/bash

#创建虚拟机系统,可以创建与华为云平台相似的虚拟机

#作者:CasonHong

#日期:2019年3月29日

#定义函数createvhost

function createvhost(){

#对用户输入的虚拟机主机名进行判断,通过查找镜像盘文件是否已存在,若存在则返回用户输入的虚拟机已存在,不允许用户再次进行创建,退出程序。

    if  [ -e /var/lib/libvirt/images/"$vhost".img ];then

        echo "抱歉,虚拟机 "$vhost".img 已经存在!"

        echo "请输入新的虚拟机名称!"

        return 1

#若不存在则代表用户可以创建虚拟机

    else

#使用后端模板文件创建一个新的镜像盘文件

qemu-img create -b /var/lib/libvirt/images/.node_base.qcow2 -f qcow2 /var/lib/libvirt/images/"$vhost".img 30G &>/dev/null

#修改xml文件

sed -e  "s,node_base,$vhost," /var/lib/libvirt/images/.node_base.xml > /etc/libvirt/qemu/"$vhost".xml

#定义xml文件,创建虚拟机

sudo virsh define /etc/libvirt/qemu/"$vhost".xml

echo "虚拟机创建成功!

#获取虚拟机登录密码

登录账户及密码请联系系统管理员:XXX XXXXXXXXX

即将为您开启虚拟机"$vhost""

#倒计时,加入这个的目的主要还是为了防止虚拟机尚未为创建完。

echo "3"

sleep 1

echo "2"

sleep 1

echo "1"

sleep 1

#开启虚拟机

sudo virsh start $vhost &>/dev/null

echo "虚拟机"$vhost"启动成功!

即将进入虚拟机"$vhost"系统界面"

sleep 3

#进入虚拟机界面

sudo virsh console $vhost

fi

}

#系统执行代码主体,通过调用函数实现

echo "欢迎使用虚拟机创建系统!"

#交互式输入虚拟机主机名

read -p "请输入需要创建的虚拟机名字:" vhost

#调用定义的函数完成虚拟机创建

createvhost


相关文章

  • Shell脚本创建虚拟测试环境下的虚拟机

    需求说明: 在运维日常工作中,很多时候都需要在虚拟测试环境下创建对应数量的虚拟机来完成相关的应急方案演练以及测试相...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • shell脚本之批量安装redis

    大家好!今天展示一下shell的新玩法 首先环境是centos7.5 虚拟软件为kvm: #用脚本生成虚拟机 #!...

  • 常用终端操作记录

    1.将脚本从终端拷贝到本地虚拟机中的测试环境 scp /Users/---/Downloads/yeepayQAs...

  • Vagrant

    Vagrant 创建和部署虚拟开发环境,各种集群的测试环境的搭建用多个vagrant虚拟机来模拟。(1)下载工具V...

  • 7月4日 服务器远程连接

    1.虚拟环境如何布置 虚拟机操作安装环境部署 VMware使用方法创建虚拟机删除虚拟机虚拟机开启,关闭(挂启)备份...

  • Shell脚本操作-1

    创建文件 一般shell脚本都是以.sh结尾的文件,我们如何创建一个shell脚本文件 首先在Mac环境下用命令t...

  • zsh 配置实例

    环境:centos6.9 (虚拟机) 1,查看系统当前shell 2,查看当前环境有哪些shell 2.1,我们发...

  • 【Django学习笔记】-环境搭建

    虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www...

  • 搭建Redis主从复制环境搭建(读写分离)

    3台机器,1主2从环境 主:91 从92 93 创建2台从虚拟机 vm创建完整克隆虚拟机 虚拟机创建完成,不能直...

网友评论

    本文标题:Shell脚本创建虚拟测试环境下的虚拟机

    本文链接:https://www.haomeiwen.com/subject/jiaaictx.html