第十五单元
系统虚拟机管理
一 安装
#!/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 & :安装源指定,&符指打入后台。
二 管理
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的前端管理,不会删除存储
三 虚拟机快照
在使用虚拟机时,有可能进行了错误的操作,使得虚拟机不能再使用,为了使虚拟机能够reset后继续使用,就要对虚拟机进行快照,使得在读取时是读真实的虚拟机,但是操作却是在快照文件上,这样再进行错误的错误的操作后,毁坏的只是快照文件,只需删掉快照文件,再重新建立一个快照文件即可(即reset)
先将vm的前端管理删除,以免错误操作
qemu-img create -f qcow2 -b westos.qcow2 node1.qcow2
qemu-img create -f qcow2: 指创建一个qcow2格式的磁盘,qcow2格式优点为:支持AES加密,支持压缩,支持快照
raw是qemu-img创建磁盘的默认格式,所以不指定文件类型的话,默认为raw格式
qemu-img create -f qcow2 -b rehat.qcow2 node1.qcow2: 指将 rehat.qcow2快照成node1.qcow2,且磁盘格式为qcow2
之后需要手动打开node1:
virsh-manager - - >
new vm , import existing disk image - - >
browse - - > node1.qcow2 - ->
name - - > finish
脚本方式:
#!/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 &
\ :表示换行
&> :不要错误的输出
编辑reset 脚本:
vim virt_reset.sh
#!/bin/bash
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$2.qcow2 /var/lib/libvirt/images/$1.qcow2
virsh start $1
:wq
chmod +x virt_reset.sh
mv virt_reset.sh /bin/
测试:
将 westos 的快照 node1 reset
virt_reset.sh node1 westos