####1、图形化安装####

######虚拟机管理(libvirtd服务)#####
先图形安装虚拟机,Server with GUI

2、模拟虚拟机的恢复
准备1个已经安装好的虚拟机

1、直接拷贝别人的虚拟机(直接将westos(虚拟机名称).xml和westos.qcow2考到自己的电脑上)
(1)在root用户下
cd /etc/libvirt/qemu/—>ls---->重新启动服务管理:systemctl resart libvirtd
virt-manager ##虚拟机管理的图形化界面;

cd /etc/libvirt/qemu/ 
 ls
 vim westos.xml ##查看路径
 systemctl restart libvirtd ##重新启动虚拟机管理
 scp root@172.25.254.110:/etc/libvirt/qemu/ /mnt/ ##将别人的硬件信息copy到自己机子上
 scp root@172.25.254.110:/var/lib/libvirt/images/westos.qcow2 /mnt/##拷贝硬盘信息
模拟恢复虚拟机的过程
    cd /mnt/
ls  ##目录下这两个文件都存在
virsh   create  test.xml		##用硬件信息启动虚拟机(一次性,关了就没了)==临时启动虚拟机

注意:xml :可扩展标记语言,用来作数据封装
在操作过程中会有以下错误:
error: Cannot access storage file ‘/var/lib/libvirt/images/test.qcow2’ (as uid:107,
gid:107): No such file or directory

解决方案:
mv /mnt/test.qcow2 /var/lib/libvirt/images/

virsh define test.xml ##永久恢复虚拟机 ##创建虚拟机

在虚拟机管理器中删除这个装好的虚拟机

virsh undefine test ##删除

ll /var/lib/libvirt/images/test.qcow2
rm -fr /var/lib/libvirt/images/test.qcow2 ##删除disk,全部删除;

###3、脚本安装虚拟机

vim /mnt/vm_creat.sh

拷贝 kvm虚拟机 拷贝的虚拟机怎么安装_desktop


virt-install \ 创建虚拟机

–name rrr \ 虚拟机名称

–cdrom /home/kiosk/rhel-server-7.3-x86_64-dvd.iso \ 选择镜像

–memory 1024 \ 内存

–vcpus 1 \ CPU

–disk /var/lib/libvirt/images/rrr.qcow2,size=6,bus=virtio \ 创建硬盘位置,大小,虚拟的输入输出(CPU与硬盘之间沟通的总线)

–network source=br0,model=virtio & ##网卡与CPU连接也是利用了虚拟的输入输出

拷贝 kvm虚拟机 拷贝的虚拟机怎么安装_xml_02


/dev/null表示空设备,把信息记录到空设备中就是等于不记录;

####4、虚拟机管理命令

virt-manager ##开机虚拟机管理器
 virsh list ##显示正在运行的虚拟机
 virsh list --all ##查看所有虚拟机
 virsh start desktop ##打开
 virsh shutdown desktop ##正常关闭虚拟机 (可能会被阻塞)
 virsh destroy desktop ##强行关闭 (不会出现阻塞)
 virt-viewer desktop ##显示虚拟机

#####5、虚拟机快照####

qemu-img create -f qcow2 -b westos.qcow2 kuaizhao.qcow2 ###westos.qcow2:完整的虚拟机,kuaizhao.qcow2:快照生成的虚拟机;

拷贝 kvm虚拟机 拷贝的虚拟机怎么安装_创建虚拟机_03


virt-manager##查看kuaizhao虚拟机信息:file kuaizhao.qcow2

点击小电脑,配置硬件信息;

拷贝 kvm虚拟机 拷贝的虚拟机怎么安装_创建虚拟机_04


完成虚拟机的创建;

##6、脚本快照创建虚拟机
vim vm_create.sh

qemu-img  create -f qcow2 -b \
/var/lib/libvirt/images/$1.qcow2 \   ###$1已经存在的虚拟机
/var/lib/libvirt/images/$2.qcow2     ##$2是快照



virt-install \		##创建虚拟机
--name $2 \		##虚拟机名称		
--memory 1024 \  	##内存
--vcpus 1 \     	##CPU
--disk /var/lib/libvirt/images/$2.qcow2,size=6,bus=virtio \  ##创建硬盘位置,大小
--network source=br0,model=virtio  \
--import  &		##导入

sh vm_create.sh westos kuaizhao

######reset虚拟机
##$1快照,$2是母盘

virsh destory $1 ##强行关闭虚拟机
 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
 virt-viewer $1 &

test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。