标签:命令使用 ace 合并 分配 无法启动 static 默认 安装 nap
KVM虚拟机管理及性能优化?
KVM关机开机命令
# virsh -h //查看命令帮助
# virsh list --all //查看虚拟机状态
# virsh shutdown CentOS7.4-x86_64 //关闭虚拟机
# virsh start CentOS7.4-x86_64 //启动虚拟机
# virsh destroy CentOS7.4-x86_64 //强制关机
# virsh create /etc/libvirt/qemu/CentOS7.4-x86_64.xml //通过配置文件启动虚拟机
?
挂起和恢复
# virsh suspend CentOS7.4-x86_64 //挂起虚拟机
# virsh resume CentOS7.4-x86_64 //恢复虚拟机
设置随宿主机开机自启动
# virsh autostart CentOS7.4-x86_64
导出虚拟机配置
# virsh dumpxml CentOS7.4-x86_64 > /etc/libvirt/qemu/test01.xml
删除虚拟机
# virsh shutdown CentOS7.4-x86_64 //先关闭
# virsh undefine CentOS7.4-x86_64 //再删除
?
通过备份恢复删除的虚拟机
# cd /etc/libvirt/qemu/
# mv test01.xml CentOS7.4-x86_64
# virsh define CentOS7.4-x86_64 //重新定义虚拟机
修改配置文件
# virsh edit CentOS7.4-x86_64
# vim /etc/libvirt/qemu/CentOS7.4-x86_64.xml
?
- 通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如:系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机的磁盘文件有 raw和 qcow2 两种格式。 KVM默认格式是raw,raw格式性能最好、速度最快,其缺点是不支持一些新的功能,如镜像、Zlib磁盘压缩、AES加密等。
- 这里介绍本地yum安装的libguestfs-tools后产生的命令行工具(这个工具可以查看qcow2格式的磁盘文件)
?
1:转换raw格式磁盘文件至qcow2格式
?
# yum install libguestfs-tools -y //安装命令行工具
# qemu-img info /vdir/CentOS-7.4-x86_64.img //查看当前磁盘格式
关机后 磁盘转换成qcow2格式
# virsh shutdown CentOS7.4-x86_64
# qemu-img convert -f raw -O qcow2 /vdir/CentOS-7.4-x86_64.img /vdir/CentOS-7.4-x86_64.qcow2
?
2:修改xml配置文件
?
# virsh edit CentOS7.4-x86_64 //编辑xml配置文件
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘qcow2‘/> #修改qcow2
<source file=‘/vdir/CentOS-7.4-x86_64.qcow2‘/> #修改qcow2
<target dev=‘vda‘ bus=‘virtio‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
</disk>
?
3:命令使用
virt-cat 命令类似cat
virt-edit 命令用于编辑文件,用法与vim基本一致
virt-df 命令用于查看虚拟机磁盘信息
?
# virt-cat -a /vdir/CentOS-7.4-x86_64.qcow2 /etc/hostname //查看虚拟机主机名
# virt-df -h CentOS7.4-x86_64 //查看虚拟机挂载磁盘信息
# virt-edit -a /vdir/CentOS-7.4-x86_64.qcow2 /etc/resolv.conf //编辑DNS客户机配置文件
?
?
虚拟机克隆
# virt-clone -o CentOS7.4-x86_64 -n test01 -f /vdir/test01.qcow2 //从 CentOS7.4-x86_64 克隆 test01
?
虚拟机快照
# virsh start test01
# virsh snapshot-create test01 //创建快照
# virsh snapshot-current test01 //查看快照版本信息
# virsh snapshot-list test01 //查看快照信息
# virsh snapshot-revert test01 1533636617 //恢复虚拟机至1533636617
# virsh snapshot-delete test01 1533636876 //删除快照
?
KVM性能优化
KVM的优化思路及步骤?
KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件层,故有一定的损耗,特别是I/O,因此需要优化。
1:CPU优化
所有guestcpu 不要超过物理机的CPU总数,建议复制主机CPU配置。
1) :KSM(相同页合并)开启KSM会将相同的内存合并
# cd /sys/kernel/mm/ksm/ //这个目录可查看内存页共享的情况
# ll //查看
pages_shared 记录了KSM共享的总页面数
pages_sharing 文件中记录了当前共享页面数
# echo 1 > run //临时开启KSM
或者可以在/etc/rc.local 添加 echo 1 > /sys/kernle/mm/ksm/ 开机自启动
# cat run //查看KSM是否开启 0为关闭 1为开启
# echo 1000 > pages_to_scan // 决定每次查看多少个页面 默认100 最大不超过2000 越大越好
为了防止某个虚拟机无节制的使用资源
# virsh memtune test01 //查看虚拟机test01 内存限制
?
设置强制最大内存
virsh memtune test01 --hard-limit 1024000 --live //设置强制最大内存100MB 在线生效
?
?
提升大页后端内存,减少客户机消耗的内存并提高TLB命中率从而提升KVM性能
# cat /proc/meminfo //查看内存信息,无可用大页
# echo 25000 > /proc/sys/vm/nr_hugepages //指定大页需要的内存页面数(临时生效)
# sysctl -w vm.nr_hugepages=25000 //效果和上面一样(永久生效)
# cat /proc/meminfo | grep HugePage
?
编辑虚拟机的XML配置文件来使用大页分配内存
virsh destroy test01 //关闭虚拟机
# virsh edit test01 //编辑xml配置文件
<currentMemory unit=‘KiB‘>2097152</currentMemory>
<memoryBacking><hugepages/></memoryBacking> //添加使用大页
<vcpu placement=‘static‘>1</vcpu>
# mount -t hugetlbfs /dev/hugepages/ //挂载hugetlbfs文件系统
# systemctl restart libvirtd.service //重启服务
?
调整I/O的权重 ,权重越高写入磁盘的优先级越高。
# virsh blkiotune test01 //查看权重
# virsh blkiotune test01 --weight 500 //设置权重500 范围在100~1000
# virsh blkiotune --help //查看使用帮助
?
用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的。
# yum install tuned -y //安装tuned工具
# systemctl start tuned.service //启动tuned工具
# tuned-adm active //查看当前优化方案
# tuned-adm list //查看预先设定好的优化方案
标签:命令使用 ace 合并 分配 无法启动 static 默认 安装 nap
原文地址:http://blog.51cto.com/13630803/2155913