KVM虚拟机脚本自动化安装脚本1
2016-10-26 16:30
218 查看
1 #!/bin/bash
2 . /etc/init.d/functions
3 #set LANG
4 export LANG=zh_CN.UTF-8
7 USER_N=`whoami`
8 HOSTNAME=`hostname`
9 LOGDIR=/data/nfyg/kvm/log
10 SYS=/data/nfyg/images/centos6.5-kvm
11 IPADDR=`grep "IPADDR" /etc/sysconfig/network-scripts/ifcfg-br0|cut -d= -f 2 `
12 ############################################################
13 FREE=4096
14 CPU=2
15 DISK=300G
16 CDROM=/data/nfyg/iso/CentOS-6.5-x86_64-bin-DVD1.iso
17 ############################################################
18 netstat -tnlp |grep qemu-kvm |awk -F : '{print $2,$5}' >"$LOGDIR"/vnc.log
19 if [ -f /data/nfyg/kvm/log/expr.log ];then
20 echo -e "\033[40;33m $USER_N $DATE $HOSTNAME expr.log file already exists! \033[0m" >>"$LOGDIR"/kvm_${D}.log
21 else
23 fi
24
25 EXPR=`tail -1 /data/nfyg/kvm/log/expr.log`
26 EXP=`expr 1 + "$EXPR" `
1 #!/bin/bash
16 CDROM=/data/nfyg/iso/CentOS-6.5-x86_64-bin-DVD1.iso
17 ############################################################
18 netstat -tnlp |grep qemu-kvm |awk -F : '{print $2,$5}' >"$LOGDIR"/vnc.log
21 echo -e "\033[40;33m $USER_N $DATE $HOSTNAME expr.log file already exists! \033[0m" >>"$LOGDIR"/kvm_${D}.log
22 else
26 EXPR=`tail -1 /data/nfyg/kvm/log/expr.log`
27 EXP=`expr 1 + "$EXPR" `
28 echo "$EXP" >/data/nfyg/kvm/log/expr.log
29 NAME=Centos6.5-kvm$EXP
30
31 #虚拟机安装
32 echo ""
33 echo "================KVM虚拟机安装==========================="
34 if [ ! -d "$SYS$EXP".raw ]; then
35 echo qemu-img create -f raw "$SYS$EXP".raw "$DISK" >>"$LOGDIR"/kvm_${D}.log
36 action "$SYS虚拟机安装文件建成功" /bin/true
37 echo ""
38 echo -e "\033[40;33m "$USER_N $DATE $HOSTNAME KVM create directory successfully!"\033[0m" >>"$LOGDIR"/kvm_${D}.log
39 if [ ! -d "$SYS$EXP".raw ];then
40 echo -e "\033[40;33m "$USER_N $DATE $HOSTNAME KVM INSTALL START!"\033[0m" >>"$LOGDIR"/kvm_${D}.log
41 echo virt-install --name "$NAME" --virt-type kvm --ram "$FREE" --vcpus "$CPU" --cdrom="$CDROM" --disk path="$SYS$EXP".raw --network bridge=br0 - -network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole >>"$LOGDIR"/kvm_${D}.log
42 action "$SYS虚拟机创建中请稍后" /bin/true
43 fi
44 fi
45 echo "========================================================="
46 echo ""
47 #显示显示所有的虚拟机:
48 virsh list --all
49 #获取VNC端口:
50 netstat -tnlp |grep qemu-kvm |awk -F : '{print $2,$5}' >"$LOGDIR"/newvnc.log
51 DIFF=$(diff -b /data/nfyg/kvm/log/vnc.log /data/nfyg/kvm/log/newvnc.log -y -W 20)
52 echo "$DIFF" >/data/nfyg/kvm/log/diff.log
53 CAT=$(cat /data/nfyg/kvm/log/diff.log |grep ">")
54 #显示安装虚拟机信息:
55 echo "虚拟机名:$NAME"
56 echo "CPU:$CPU"
57 echo "内存:$FREE"
58 echo "磁盘:$DISK"
59 echo "ISO镜像:$CDROM"
60 echo "VNC IP/端口:$IPADDR":"$CAT"
61 echo "========================================================"
62 echo ""
更新版
#!/bin/bash
. /etc/init.d/functions
#set LANG
export LANG=zh_CN.UTF-8
DATE=`date "+%Y-%m-%d %H:%M:%S"`
D=`date +%Y%m%d`
USER_N=`whoami`
HOSTNAME=`hostname`
LOGDIR=/data/nfyg/kvm/log
SYS=/data/nfyg/images/centos6.5-kvm
IPADDR=`grep "IPADDR" /etc/sysconfig/network-scripts/ifcfg-br0|cut -d= -f 2 `
############################################################
FREE=8192
CPU=4
DISK=300G
CDROM=/data/nfyg/iso/CentOS-6.5-x86_64-bin-DVD1.iso
############################################################
netstat -tnlp |grep qemu-kvm |awk -F : '{print $2,$5}' >"$LOGDIR"/vnc.log
#判断目录是否存在
if [ -f /data/nfyg/kvm/log/expr.log ];then
echo -e "\033[40;33m $USER_N $DATE $HOSTNAME expr.log file already exists! \033[0m" >>"$LOGDIR"/kvm_${D}.log
else
echo "0" > /data/nfyg/kvm/log/expr.log && echo -e "\033[40;33m $USER_N $DATE $HOSTNAME expr.log create file successfully! \033[0m" >>"$LOGDIR"/kvm_${D}.log
fi
#虚拟机序号+1
EXPR=`tail -1 /data/nfyg/kvm/log/expr.log`
EXP=`expr 1 + "$EXPR" `
echo "$EXP" >/data/nfyg/kvm/log/expr.log
NAME=Centos6.5-kvm$EXP
#虚拟机安装
echo ""
echo "================KVM虚拟机安装========================================"
if [ ! -d "$SYS$EXP".raw ]; then
echo qemu-img create -f raw "$SYS$EXP".raw "$DISK" >>"$LOGDIR"/kvm_${D}.log
b=''
for ((i=0;$i<=100;i+=2))
do
printf "镜像文件创建:[%-50s] %d%%\r" $b $i
sleep 0.1
b+='#'
done
echo
echo ""
action "$SYS镜像文件创建成功" /bin/true
echo ""
echo -e "\033[40;33m "$USER_N $DATE $HOSTNAME KVM create directory successfully!"\033[0m" >>"$LOGDIR"/kvm_${D}.log
if [ ! -d "$SYS$EXP".raw ];then
echo -e "\033[40;33m "$USER_N $DATE $HOSTNAME KVM INSTALL START!"\033[0m" >>"$LOGDIR"/kvm_${D}.log
echo virt-install --name "$NAME" --virt-type kvm --ram "$FREE" --vcpus "$CPU" --cdrom="$CDROM" --disk path="$SYS$EXP".raw --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole >>"$LOGDIR"/kvm_${D}.log
b=''
for ((i=0;$i<=100;i+=2))
do
printf "虚拟机的创建:[%-50s] %d%%\r" $b $i
sleep 0.1
b+='#'
done
echo
echo ""
action "$SYS虚拟机创建成功,继续安装!" /bin/true
fi
fi
echo "====================================================================="
echo ""
#显示显示所有的虚拟机:
virsh list --all
#获取VNC端口:
netstat -tnlp |grep qemu-kvm |awk -F : '{print $2,$5}' >"$LOGDIR"/newvnc.log
DIFF=$(diff -b /data/nfyg/kvm/log/vnc.log /data/nfyg/kvm/log/newvnc.log -y -W 20)
echo "$DIFF" >/data/nfyg/kvm/log/diff.log
CAT=$(cat /data/nfyg/kvm/log/diff.log |grep ">")
#显示安装虚拟机信息:
echo "虚拟机名:$NAME"
echo "CPU:$CPU"
echo "内存:$FREE"
echo "磁盘:$DISK"
echo "ISO镜像:$CDROM"
echo "VNC IP/端口:$IPADDR":"$CAT"
echo ""
echo "===================================================================="
echo ""
echo "vm表示需要关闭目标虚拟机名称 "
echo "1、查看所有虚拟机 virsh list --all "
echo "2、关闭虚拟机 virsh shutdown vm"
echo "3、强制关闭虚拟机 virsh destroy vm "
echo "4、开启虚拟机 virsh start vm"
echo "5、设置主机开机自启 virsh autostart vm "
echo ""
相关文章推荐
- KVM虚拟机脚本自动化安装脚本
- LAMP自动化安装脚本 推荐
- 自动化安装admuser的脚本
- 用SHELL脚本自动化安装Nagios服务器端和客户端的
- wifi批量安装及自动化测试脚本
- Ubuntu13.04-amd64安装完后的Chrome及VIMIDE自动化配置脚本
- Apache,tomcat,nginx,apache+tomcat,nginx+tomcat自动化安装脚本
- 通过shell脚本实现自动化安装LINUX
- Shell脚本实现自动化安装
- 用SHELL脚本自动化安装Nagios服务器端和客户端的
- LAMP&LNMP自动化安装脚本
- wifi批量安装及自动化测试脚本
- 构建cacti监控平台, LAMP使用脚本自动化编译安装 推荐
- CentOS使用yum配置安装LAMP环境自动化脚本
- CentOS 或 Fedora 下自动化安装mono和jexus的脚本(Linux下的Asp.net运行环境配置)
- LAMP自动化安装脚本更新(添加了mcrypt)
- php自动化安装脚本--还是接上篇
- shell脚本自动化安装Lamp架构
- hadoop集群安装与配置--hadoop自动化安装脚本
- LAMP&LNMP自动化安装脚本代码