Centos 7 下 kvm 自动生成虚拟机脚本
1.用这个脚本的前提下,先用kvm安装一个虚拟机,作为模板机
安装完毕,删除网卡rule,并关机
rm -rf /etc/udev/rules.d/70-persistent-net.rules
硬盘格式用raw
我的安装过的模板虚拟机硬盘镜像位置
硬盘文件位置 /openstack/openstack-nodeX.example.com.raw
kvm需要使用到的xml 文件位置 /home/qemu/openstack-nodeX.example.com.xml
做实验拷贝到这里的,默认,安装过虚拟机/etc/libvirt/qemu/ 会生成xml 文件,我们以此作模板
2.脚本内容:
-
#!/bin/bash
-
echo -n "Please input create Virtual Machine number:"
-
read x
-
-
####create disk image 通过模板,创建磁盘,并修改名字
-
qemu-img convert -c -O qcow2 /openstack/openstack-nodeX.example.com.raw /openstack/openstack-node$x.example.com.qcow2
-
-
####拷贝模板xml,修改主机名
-
cp /home/qemu/openstack-nodeX.example.com.xml /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
sed -i "s/openstack-node1.example.com/openstack-node$x.example.com/g" /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
-
####修改xml文件磁盘文件名
-
sed -i "s/file\=.*/file\=\'\/openstack\/openstack-node$x\.example\.com\.qcow2\'\/\>/g" /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
-
####修改xml文件磁盘UUID
-
UUID=`uuidgen`
-
sed -i "s/\.*/uuid\>$UUID\<\/uuid\>/g" /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
-
####修改xml 文件mac地址
-
MAC=`echo -n 52:12:00; dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02X"'`
-
sed -i "s//g" /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
-
####define virsh 定义此虚拟机
-
virsh define /etc/libvirt/qemu/openstack-node$x.example.com.xml
-
-
####启动虚拟机
-
virsh start openstack-node$x.example.com
3.测试脚本
测试OK ,各位想玩的话,可以根据我写的脚本,修改修改即可!
阅读(5134) | 评论(4) | 转发(0) |