emui内核支持kvm吗_KVM虚拟化详解

 2023-09-16 阅读 18 评论 0

摘要:01Kvm 概述1、开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),kvm虚拟化网络配置。2、一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。3、x86架构且硬件支持虚拟化技术(如intel VT或AMD-V)的Linux全虚拟化
01Kvm 概述        

1、开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),

kvm虚拟化网络配置。2、一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。

3、x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。

kvm vmware,4、包含一个为处理器提供底层虚拟化 ,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。

5、KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。

6、KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。

7、在主流的Linux内核,如2.6.20以上的内核均已包含了KVM内核模块。        02Kvm 工作模式     5953b2231617f1229178c50658dae06f.gif

1、Guest mode:执行客户机系统非 I/O 代码, Virtual Machine运行在这个模式下;

2、User mode:代表客户机系统执行 I/O 操作,Qemu运行在这个模式下;

3、Kernel mode:实现Guest mode的切换,处理因为I/O或者其他指令引起的从客户模式退出(VM_EXIT)的指令;kvm模块工作在这个模式下;

5953b2231617f1229178c50658dae06f.gif        

ddc24af632064ef4fa6a877b963f3ac9.png

03Kvm 工作模式切换KVM 内核模块作为 User mode 和 Guest mode 之间的桥梁:

a4b7695d9e7fc9eeb3022f4ed3fec1b1.png

        04Libvirt调用流程        

1、libvirtd是一个daemon进程,可以被本地的virsh调用,也可以被远程的virsh调用。

2、Libvirtd调用qemu-kvm操作虚拟机:

b2e982835c1a2067118d96e09fe51e62.png

05Kvm进程与服务

23aeb60e225a4ec8bf34f52c71f594f0.png

06配置文件和日志文件bf517854e97f1e86dd65665d6ced36e3.gif

配置文件

/etc/libvirt/libvirtd.conf

虚机配置文件

/etc/libvirt/qemu/instance-0000xxxx.xml

虚拟化守护进程日志文件

/var/log/libvirt/libvirtd.log

虚机日志文件

/var/log/libvirt/qemu/instance-0000xxxx.log

07虚机日常管理与配置        管理配置工具集: virtsh , virt-manager ,  virt-install , virt-viewer  等。

virsh: 命令行交互式管理工具实现

查看virsh语法

 virsh help  查看所有virsh子命令     

查看某子命令详细语法virsh  help  attach-devicevirsh  help  migrate

e0ee56b1bf6b54c858f7c43bf8e5fbb2.png

        08KVM巡检步骤        397e89f9e347f14ad5a9ffc944c283c1.png

1、执行lsmod |grep kvm ,确认kvm内核模块正常加载;

2、执行systemctl status libvirtd,确认libvirt服务正常运行;

3、执行ps -efww |grep qemu-kvm,确认每一个kvm虚机进程存活;

4、执行netstat -tunlp |grep qemu-kvm ,确认虚机控制台端口能被正常访问;

5、执行virsh list --all,确认所有虚机能被正常罗列;

09Kvm问题云主机排查过程(向上滑动查看内容)

问题描述:

Kvm虚拟化云主机热迁移后异常关机虚机:5f3689f6-df22-4928-ad8e-220dcedb17c7       instance-000a183a出问题的迁移操作:PSC-BCEC-YW-SV777 -> PSC-BCEC-YW-SV801迁移时间

79354c10a6f25a65380d8bcca92e112c.png

从nova记录看,12:33开始,12:51结束。问题根因在迁移过程中,源端的qemu因为OOM被系统杀死,迁移结束。同时因为迁移不完整,目的端的qemu也被杀死。结果是两端的qemu都不存在了。相关日志

源端的messages日志:instance-000a183a因为OOM被杀

17f5c416210a28fa0af4f895c037b8f4.png

源端libvirt日志:qemu monitor被关闭

8716886ea42c1ebdedb4d31505d9f49e.png

源端sa记录:内存占用在09:00PM时下降,原因是qemu被OOMfb41c970d75b0321a817cb721712ff9e.png目的端messages日志:qemu进程被systemd-machined杀死

b56e2c4f798b3b815d666f2c214f21bf.png

10总 结46440ac9c7a75d1da5c2a144a460d2a2.pngKVM作为一个快速成长的Linux开源虚拟化技术,已经获得了许多厂商的支持,性能方面,KVM在逐渐显示其威力。另一方面,开源技术往往伴随很多不稳定因素,写这篇文章目的是希望大家在排查故障过程应该更加考虑全局问题,切勿头痛医头脚痛医脚。如在虚机宕机后,先看看是不是宿主机有内存溢出?Cpu使用率过高,后端存储读写异常等等导致。46440ac9c7a75d1da5c2a144a460d2a2.pngd468414b9cb5ad27234bf53b5e9e43a2.png        

本期作者

4201104e89d9087d1ab10c95157ffc89.png

本期作者|东兴黄宗泽    从事云计算相关行业多年,熟悉vmware、kvm、xenserver等开源主流虚拟化维护,熟悉cloudstack,openstack等开源云管理平台维护。乐于助人,热爱生活,享受生活。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/67667.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息