系统虚拟机管理
安装
首先我们以普通的图形界面进行演示
//打开虚拟机管理工具点击带星星的电脑图标
选择第一个,这是以镜像文件或光盘安装
//因为没有光盘,选择iso镜像,并找到文件添加进去
选择内存大小,cpu核数
选择容量
虚拟机名称
出现安装选项
Install Centos7 安装centos7
Test this media & install CentOS 7 测试安装文件并安装
Troubleshooting 故障修复
//选择第一个,直接安装
加载一些配置信息后,出现图形安装界面
第一个是安装时的语言
然后出现一个有很多选择的界面
- 在LOCALIZATION中,选择自己的时间时区,键盘类型,支持的语言(语言中,如果有可能用中文,一定要选择,不然后面即是切换到中文也是乱码)
下面要选择的就是SOFTWARE SELECTION 软件安装
//这里选择最简安装,而且不添加任何附加包
下来是INSTALLATION DESTINATION 磁盘分盘
//选择手动分盘
标准格式,就分三个,
/boot系统启动200M
swap系统运行500M(swap 一般比内存大两倍 32G内存以上的内存,要大四倍)
/根,剩余空间全部给根
然后退出安装就完成了。
- 过程中,需要手动添加root用户的密码
用脚本自动化安装
man virt-install //查看virt-install的说明文档
//可以发现很多所有的参数都是可以用命令配置的
用脚本将命令综合实现系统的安装。
#!/bin/bash ##命令运行环境的指定
virt-install \ ##安装虚拟机
--name $1 \##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1024 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso & ##安装源指定
- 但是这其实也只是将安装界面之前的简单配置如名称,cpu,内存,镜像等的配置好,进入后还是有会进入图形安装界面,不是真正的自动化。所以,是*半自动化*。
//如图,并没有直接完全安装
管理
/var/lib/libvirt/images/*.qcow2存放的是虚拟机的全部配置文件
*.xml 存放的是虚拟机的前端管理软件
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的前端管理,不会删除存储
列出正在运行的虚拟机:
正常关闭指定的虚拟机:
删除指定虚拟机的前端管理:
虚拟机快照
快照是对真实虚拟机在某个时间点的“拷贝”,这个“拷贝”并不是对其文件的复制,而是保持磁盘文件和系统内存在该时间点的状态,以便在出现故障后虚拟机能够恢复到该时间点。如果对某个虚拟机创建了多个快照,那么就可以有多个可恢复的时间点。
快照随着虚拟机对磁盘文件的写操作而增长。当虚拟机需要修改原来的磁盘文件的数据块时,这些修改会被保存到快照文件中。当在快照文件中的已经修改过的数据块需要被再次修改时,这些修改将覆盖快照文件中的数据块,此时,快照文件大小不会改变。因此,快照文件的大小永远不会超过原来的真实虚拟机文件的大小。
用法:
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
修改,将一个已经创建好的快照变为一个新的
#!/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 &
简单的直接创建一个快照:
实现:
可以发现,非常快,直观的看,几秒就完成了一个新的虚拟机创建