####1.安装####
#!/bin/bash ##命令运行环境的指定
virt-install \ ##安装虚拟机
--name $1 \ ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1000 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小
--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##安装源指定
a.编写脚本内容
<a href="https://s1.51cto.com/oss/201710/24/bd8eb1d724990903b1ccf6e9e73132fe.png-wh_500x0-wm_3-wmp_4-s_2222806633.png" target="_blank"></a>
<a href="https://s3.51cto.com/oss/201710/24/383c17a4f70b90ec20747b24004448df.png-wh_500x0-wm_3-wmp_4-s_910995489.png" target="_blank"></a>
b.记得写完后要给权限! chmod +x Create_Vm.sh
<a href="https://s5.51cto.com/oss/201710/24/4f1e730438a328591a8c67ea4cca5efe.png-wh_500x0-wm_3-wmp_4-s_3585114120.png" target="_blank"></a>
<a href="https://s4.51cto.com/oss/201710/24/5f77944902d43301ae54bd487c1175cc.png-wh_500x0-wm_3-wmp_4-s_3819659717.png" target="_blank"></a>
####2.管理####
virt-manager ##开启图形管理工具
virt-viewer vmname ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm
virsh list --all ##列出所有vm
virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm
virsh destroy vmname ##强行结束指定vm
virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢复vm
virsh undefine vmname ##删除vm的前端管理,不会删除存储
<a href="https://s4.51cto.com/oss/201710/24/fc460f2897246d26729326e816e3abc7.png-wh_500x0-wm_3-wmp_4-s_939004239.png" target="_blank"></a>
####3.虚拟机快照####
有了快照可以让虚拟机“永葆青春”,随时恢复……
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
<a href="https://s3.51cto.com/oss/201710/24/9f2db60acbc7fd68fbd46c1ad43f36d0.png-wh_500x0-wm_3-wmp_4-s_926799391.png" target="_blank"></a>
<a href="https://s4.51cto.com/oss/201710/24/6b8caf2a562d3933f296b310998c1bcd.png-wh_500x0-wm_3-wmp_4-s_582050612.png" target="_blank"></a>
<a href="https://s4.51cto.com/oss/201710/24/21dde7602cb8ffeb974e0d2c13796f7b.png-wh_500x0-wm_3-wmp_4-s_713833865.png" target="_blank"></a>
!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &
<a href="https://s4.51cto.com/oss/201710/24/610efaf391b397e8da2f5419d91d6d66.png-wh_500x0-wm_3-wmp_4-s_1225701719.png" target="_blank"></a>
[root@foundation12 sbin]# vim Createvm.sh
[root@foundation12 sbin]# chmod +x Createvm.sh
[root@foundation12 sbin]# ./Createvm.sh node2
<a href="https://s2.51cto.com/oss/201710/24/55094ea1a9c31a5ee9b818df099b1a0b.png-wh_500x0-wm_3-wmp_4-s_2798572482.png" target="_blank"></a>
以上命令创建虚拟机!!!
实验:用以上命令创建node2虚拟机,创建好后打开虚拟机,在里面执行删根命令,再次打开后无法正常使用。此时要想重建该虚拟机,可如下操作。
[root@foundation12 mnt]# vim Resetvm.sh
[root@foundation12 mnt]# chmod +x Resetvm.sh
[root@foundation12 mnt]# ./Resetvm.sh node2
<a href="https://s2.51cto.com/oss/201710/24/7270849eb0e5f4a9df686eae8c703b78.png-wh_500x0-wm_3-wmp_4-s_637466801.png" target="_blank"></a>
小记:
echo
<a href="https://s4.51cto.com/oss/201710/24/544c983bca0400461045b98b64018d03.png-wh_500x0-wm_3-wmp_4-s_1934737342.png" target="_blank"></a>
.xml
可扩展标记语言,可对数据进行封装
本文转自 huanzi2017 51CTO博客,原文链接:http://blog.51cto.com/13362895/1975792