emui内核支持kvm吗_KVM虚拟化详解
1、开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),
2、一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。
3、x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
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 工作模式
1、Guest mode:执行客户机系统非 I/O 代码, Virtual Machine运行在这个模式下;
2、User mode:代表客户机系统执行 I/O 操作,Qemu运行在这个模式下;
3、Kernel mode:实现Guest mode的切换,处理因为I/O或者其他指令引起的从客户模式退出(VM_EXIT)的指令;kvm模块工作在这个模式下;
03Kvm 工作模式切换KVM 内核模块作为 User mode 和 Guest mode 之间的桥梁:
04Libvirt调用流程
1、libvirtd是一个daemon进程,可以被本地的virsh调用,也可以被远程的virsh调用。
2、Libvirtd调用qemu-kvm操作虚拟机:
05Kvm进程与服务
06配置文件和日志文件
配置文件
/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
08KVM巡检步骤
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迁移时间
从nova记录看,12:33开始,12:51结束。问题根因在迁移过程中,源端的qemu因为OOM被系统杀死,迁移结束。同时因为迁移不完整,目的端的qemu也被杀死。结果是两端的qemu都不存在了。相关日志
源端的messages日志:instance-000a183a因为OOM被杀
源端libvirt日志:qemu monitor被关闭
源端sa记录:内存占用在09:00PM时下降,原因是qemu被OOM目的端messages日志:qemu进程被systemd-machined杀死
10总 结KVM作为一个快速成长的Linux开源虚拟化技术,已经获得了许多厂商的支持,性能方面,KVM在逐渐显示其威力。另一方面,开源技术往往伴随很多不稳定因素,写这篇文章目的是希望大家在排查故障过程应该更加考虑全局问题,切勿头痛医头脚痛医脚。如在虚机宕机后,先看看是不是宿主机有内存溢出?Cpu使用率过高,后端存储读写异常等等导致。
本期作者
本期作者|东兴黄宗泽 从事云计算相关行业多年,熟悉vmware、kvm、xenserver等开源主流虚拟化维护,熟悉cloudstack,openstack等开源云管理平台维护。乐于助人,热爱生活,享受生活。
emui内核支持kvm吗_KVM虚拟化详解相关推荐
- emui内核支持kvm吗_Linux专题—使用kvm搭建虚拟机
Linux下使用kvm搭建虚拟机群 1.安装kvm 1.检查cpu是否支持虚拟化 [root@kevin ~]# grep vmx /proc/cpuinfo 如果有vmx信息输出,就说明支持VT;如 ...
- linux内核的块设备驱动框架详解
1.块设备和字符设备的差异 (1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位.大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作; (2)块设备对于 I/O 请求 ...
- 内核启动流程分析(二)配置详解
总体概述 配置详解 配置的最终目的,是生成了.config文件,查看下这个文件, # # Automatically generated make config: don't edit # Linux ...
- STM32F1系列以及CM3内核的时钟与中断内容详解
Stm32F1系统架构 STM32主系统有由四个驱动单元和四个被动单元: 驱动单元:内核DCode总线,系统总线,通用DMA1,通用DMA2 被动单元:AHB到APB的桥--连接所有APB设备, 内部 ...
- linux内核中send与recv函数详解
Linux send与recv函数详解 1.简介 #include <sys/socket.h> ssize_t recv(int sockfd, void *buff, size_t n ...
- KVM虚拟化详解以及如何创建KVM虚拟机
一.何为虚拟化 虚拟化是云计算的基础,是通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运 ...
- 智能服务器虚拟化,详解四大服务器虚拟化架构
在本指南中,你将了解到服务器虚拟化.操作系统虚拟化.主机式虚拟化(hosted virtualization)和裸机虚拟化(bare-metal virtualization)的一些细节和它们的差异. ...
- linux内核 删除文件_Linux内核与根文件系统的关系详解
Linux内核与根文件系统的关系 开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题! 一语破天机: "尽管内核是 Linux 的核心,但文件却是用户与操作 ...
- 一站式linux0.11内核head.s代码段图表详解
阅读本文章需要的基础: 计算机组成原理:针对8086,80386CPU架构的计算机硬件体系要有清楚的认知,我们都知道操作系统是用来管理硬件的,那我们就要对本版本的操作系统所依赖的硬件体系有系统的了解, ...
最新文章
- Altium Protel PCB Layer
- boost::mp11::mp_list_c相关用法的测试程序
- java 加密解密编程,java 加密解密容易实现
- 1/4美国理工博士生中途离学 | Science:原因何在?
- mysql 分类_MYSQL数据类型分类
- 空值用前值填充_用Excel进行数据处理
- 前端开发 图片的插入 。。。。需演练
- 微信录音滑动撤销 html5,微信中这个被取消的功能悄悄上线了,将语音上滑即可转换成文字...
- 采集浏览器访问某网站时产生的流量,并保存为pcap文件
- Django Ajax发送请求使用方法
- phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址)
- Get!读懂数据科学和机器学习,看这文就够了!
- 用php写圣诞祝福页面,圣诞祝福文案 抖音圣诞节一句话祝福
- 章节3.4----队列的实现与应用
- codeblocks17.12安装及汉化
- IDEA 导入p3c-formatter 格式化代码
- 计算机视觉 什么是图像配准?
- 如何提高你的个人价值
- [02]时区时间获取
- 我为SEO代言,屌丝为我代言
热门文章
- 聚焦国内名企开源!OSCAR 开源先锋日(1020)全部议程首次曝光
- python3 yield_Python3基础 yield 在函数中的用法示例
- cgo 调用dll Failed to load xxxxx.dll: The specified module could not be found.
- java8使用stream操作集合类,如何使用bigDicemal计算工资?
- 计算机更新阶段,较旧的计算机开始自动升级到Windows10 2004版
- 我在暴躁同事小张的胁迫下学会了Go的交叉编译和条件编译
- Java虚拟机JVM的内存管理
- 问题:org.apache.dubbo.remoting.TimeoutException
- 浅析多线程中的各种锁
- 浅出Vue 错误处理机制errorCaptured、errorHandler