系统虚拟机管理
1.安装虚拟机脚本:
[root@foundatation152 ~]# vim vm_create.sh ##开始编写脚本
#!/bin/bash ##指定命令运行的环境
virt-install \ ##安装虚拟机
--name $1 \ ##指定虚拟机名称,$1表示脚本后的第一串字符
--ram 800 \ ##内存大小
--file /var/lib/libvirt/images/$1.qcow2 \ ##硬盘文件路径
--file-size 8 \ ##硬盘文件的大小,默认单位GB
--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##指定安装包的路径
退出并保存后
[root@foundatation152 ~]# chmod +x vm_create.sh ##给脚本执行的权限,也可以不给权限直接执行脚本
[root@foundatation152 ~]# sh vm_create.sh ##执行脚本
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的前端管理,不会删除存储
3.虚拟机快照
qemu-img create -f qcow2 -b westos.qcow2 node.qcow2 #通过westos.qcow2快照出一个node.qcow2,直接用node2.qcow2而不使用westos.qcow2,如果node2.qcow2不能使用就重新快照,在以westos.qcow2为母盘进行快照时,不能对westos.qcow2进行修改,否则由它快照出来的虚拟机将全部失效
重置虚拟机的脚本(相当于reset虚拟机):
[root@foundatation152 ~]# vim vm_reset.sh
#!/bin/bash
virsh destroy $1 ##关闭$1
rm -fr /var/lib/libvirt/images/$1.qcow2 ##删除$1qcow2文件
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$2.qcow2 /var/lib/libvirt/images/$1s.qcow2 ##用$2.qcow2快照出$1.qcow2
virsh start $1 ##启动$1
virt-viewer $1 ##显示$1
退出并保存后
[root@foundatation152 ~]# chmod +x vm_reset.sh ##给脚本执行的权限,也可以不给权限直接执行脚本
[root@foundatation152 ~]# ./vm_reset.sh ##执行脚本
[root@foundatation152 ~]# vim vm_snopshot.sh
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2
virt-install \
--name $2 \
--memory 1024 \
--file /var/lib/libvirt/images/$2.qcow2 \
--import & ##通过存在的文件安装
退出并保存后
[root@foundatation152 ~]# chmod +x vm_snopshot.sh ##给脚本执行的权限,也可以不给权限直接执行脚本
[root@foundatation152 ~]# ./vm_snopshot.sh ##执行脚本