######1.虚拟机管理命令######
virt-manager ##打开虚拟机的管理器
virsh list ##列出正在运行的虚拟机
virsh list --all ##列出所有的虚拟机
virsh start generic ##打开虚拟机
virsh shutdown generic ##正常关闭虚拟机(必须打开登陆才可以看出)
virsh destroy generic ##强制关闭虚拟机=Force off
virt-viewer desktop ##显示虚拟机
virt-manager ##打开虚拟机的管理器
virsh list ##列出正在运行的虚拟机
virsh list --all ##列出所有的虚拟机
virsh start generic ##打开虚拟机
virsh destroy generic ##强制关闭虚拟机
virt-viewer desktop ##显示虚拟机
######2.复制别的主机上的虚拟机 ######
1.假设18主机中发现已经安装好的虚拟机“westos”
2.复制18虚拟机中所需要的文件
scp root@172.25.254.18:/var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/
scp root@172.25.254.18:/etc/libvirt/qemu/westos.xml /mnt/westos.xml
注释:westos.qcow2虚拟机硬件 westos.xml虚拟机硬件文件
xml可扩展文件(用于数据封装) html超文本传输语言(用于网络数据传输)
3.在17主机中对“westos”虚拟机进行恢复
virsh create /mnt/westos.xml ##用虚拟机硬件文件打开虚拟机(一次性的打开,关闭就消失)
virsh define /mnt/westos.xml ##永久恢复虚拟机
######3.虚拟机的快照######
快照目的:在不改变原始文件的条件下,对复制文件进行更改
写的时候在复制的文件写,读的时候读原版文件
1.拍照:
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/nodel.qcow2
注释:nodel是给照片起的名字,.qcow2是文件的格式
2.把生成的快照倒入到虚拟机图形控制器中
1)点击虚拟机管理器左上方“电脑”,弹出如下对话框,选择网络安装
2)添加安装来源
3)给快照虚拟机起个名字
4)快照虚拟机安装成功
3.虚拟可以使用
4.当快照虚拟机损坏了,删除快照,重新制作快照即可
例如:删除根目录的文件,系统就崩了
注意:当你决定使用快照时,原始的母盘就不要再做任何操作了
1)在管理器删除虚拟机
选中虚拟机右击Delet,弹出如下对话框
(打勾,就把虚拟机前面的记录和硬件都删掉)
(不打勾,只删虚拟机记录的东西)
2)用命令删除虚拟机
virsh undefine 虚拟机名称 ##删除虚拟机
rm -fr /var/lib/libvirt/images/虚拟机文件 ##删除虚拟机文件
(删除nodel虚拟机,重新快照一个nodel-2虚拟机)
快照的虚拟机会随着快照虚拟机的使用占用空间变大
(第一个读取的为初次下载的虚拟机占用空间,第二次读取的为使用过的虚拟机占用空间)
######4.虚拟机脚本######
自动化安装系统:管理虚拟化脚本------>系统安装脚本
1.编辑脚本:
vim vm_create.sh
(脚本写完是一次性的,只能用于管理新建test虚拟机在装机前的步骤)
#!/bin/bash
virt-install \ ##在什么环境下运行
--cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \ ##安装方式
--memory 1000 \ ##内存大小
--vcpus 1 \ ##cpu个数
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \ ##硬盘位置,硬盘大小,bus组线(交互方式)
--network bridge=br0,model=virtio \ ##网络连接
--name $1 & >/dev/null & ##名字
##注释:
1)项目的前后顺序不固定
2)\换行符 :让脚本方便阅读(后面不能有空格,否则"\"颜色会变)
3)因为IDE硬盘比较慢,选择virtio(虚拟硬盘)
4)变量:用一串固定的字符表示不固定的量
占位符:$ $数字 :1,2,3表示第几串字符
$1表示输入的第一串字符
$*表示所有字符
2.执行脚本:
sh vm_create.sh 文件名
(可以创建任意名字的虚拟机)
(新建test1虚拟机,有显示步骤)
(新建test2虚拟机,将显示文件导入到/dev/null中,就没有显示)
######快照脚本######
1.编辑脚本:
vim vm_snapshot.sh
#/bin/bash
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \ ##在什么环境下运行
--name $2 \ ##名称
--memory 1000 \ ## 内存大小
--vcpus 1 \ ##cpu个数
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \ ##硬盘来源,交互方式
--network bridge=br0,model=virtio \ ##网络连接
--import &> /dev/null &
2.执行脚本:
sh vm_snapshot.sh westos node1
(新建node1快照虚拟机,有显示步骤)
(新建node2快照虚拟机,将显示文件导入到/dev/null中,就没有显示)