• 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   //查看解决方案