KVM文件管理及性能优化
KVM文件管理
通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如:系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机的磁盘文件有 raw和 qcow2 两种格式。 KVM默认格式是raw,raw格式性能最好、速度最快,其缺点是不支持一些新的功能,如镜像、Zlib磁盘压缩、AES加密等
文件管理
转换磁盘格式
# qemu-img info /vdir/c01.raw //查看当前磁盘格式
# virsh shutdown c01 //转换磁盘格式前必须先关闭虚拟机
# qemu-img convert -f raw -O qcow2 /vdir/c01.raw /vdir/c01.qcow2 //将raw格式转换为qcow2格式
# qemu-img info /vdir/c01.qcow2
修改c01的配置文件
# virsh edit c01 //修改虚拟机信息
# yum install libguestfs-tools -y //安装命令工具
# virt-cat -a /vdir/c01.qcow2 /etc/hostname //查看虚拟机主机名
# virt-df -h c01 //查看挂载状况
# virt-edit -a /vdir/c01.qcow2 /etc/resolv.conf //编辑DNS客户机配置文件
创建克隆
# virsh shutdown c01 //创建克隆前先关闭虚拟机
# virt-clone -o c01 -n test01 -f /vdir/test01.qcow2 //创建c01的克隆虚拟机
虚拟机快照
# virsh start c01 //创建快照前开启虚拟机
# virsh snapshot-create c01 //创建快照
# virsh snapshot-current c01 //查看当前快照
# virsh snapshot-list c01 //查看快照信息
# virsh snapshot-create c01 //再创建一个快照
# virsh snapshot-revert c01 1533966938 //恢复快照
# virsh snapshot-delete c01 1533966938 //删除快照
# virsh snapshot-list c01
KVM性能优化
内存优化
KSM(相同页合并)开启KSM会将相同的内存合并
内存分配的最小单位是 page(页面),默认大小是4KB。可以将host机内容相同的内存合并,以节省内存的使用。
# cd /sys/kernel/mm/ksm/ //可查看内存页共享
pages_shared //KSM共享的总页面数
pages_sharing //当前共享页面数
# echo 1 > run //临时开启
# cat run //查看KSM是否开启 0为关闭 1为开启
# echo 1000 > pages_to_scan // 决定每次查看多少个页面 默认100 最大不超过2000 越大越好
内存限制
为了防止某个虚拟机无节制的使用资源
# virsh memtune c01 //查看内存限制
# virsh memtune c01 --hard-limit 4096000000 --live //强制最大限制为4G
# virsh memtune c01
大页后端内存
大页指的是内存的大页面。内存采用的是分页机制,内存默认的页面大小都是4KB,4KB 也就是所谓的小页面。但是随着计算机的硬件发展,现在的内存基本上都是几十G 甚至上百G了,虽然,如果还是4KB小页的方式,那么必然会存在一些问题,影响性能。
# cat /proc/meminfo //查看内存
# echo 25000 > /proc/sys/vm/nr_hugepages //大页需要的内存页面数
# cat /proc/meminfo | grep HugePages
编辑虚拟机的XML配置文件来使用大页分配内存
# virsh edit c01 //编辑xml配置文件
<currentMemory unit='KiB'>2097152</currentMemory>
<memoryBacking><hugepages/></memoryBacking> //添加使用大页
<vcpu placement='static'>1</vcpu>
I/O优化
控制每台虚拟机对磁盘资源的消耗
调整I/O的权重权重越高写入磁盘的优先级越高
# virsh blkiotune c01 //查看权重
# virsh blkiotune c01 --weight 500 //设置权重为500
# virsh blkiotune c01
系统调优工具
用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的
# yum install tuned -y //安装tuned工具
# service tuned start //开启
# tuned-adm active //查看当前状态
# tuned-adm list //查看解决方案