
KVM虚拟化
文章平均质量分 73
虚拟化云计算技术
这个作者很懒,什么都没留下…
展开
-
操作系统真的可以感知是在VM中运行吗?
操作系统可以检测它们是否正在VM中运行吗?为什么抛出这个问题呢,是因为很多软件会自动检测自己是否是运行在虚拟机环境下,软件本身对运行环境是由要求的。所以当一个软件无法运行的时候,可以考虑是不是虚拟机环境造成的。本文分别在Windows和Linux下检测一下操作系统是否运行在虚拟机中。Windows下在电脑属性中看不到任何虚拟机的信息:使用systeminfo可以查看更加详细的信息,从下图可以看出系统制造商是QEMU:下面介绍Linux系统下识别VM的九种方法Linux下第一种方法:dmes物理机:root@原创 2021-10-26 19:05:28 · 692 阅读 · 0 评论 -
英伟达显卡虚拟化vGPU实践指南
在前面的一篇文章中介绍了Intel、AMD、NIVIDA三个厂家的GPU虚拟化技术,有兴趣的可以看看本号之前的文章,今天就具体的实践一下英伟达的vGPU。如何选择GPUNVIDIA 虚拟 GPU 软件产品包括 GRID 虚拟 PC (GRID vPC)、GRID 虚拟应用程序 (GRID vApp),以及 Quadro 虚拟数据中心工作站 (Quadro vDWS)。GUP推荐对比看这里:https://www.nvidia.cn/data-center/graphics-cards-for-v原创 2021-10-23 21:35:18 · 5989 阅读 · 1 评论 -
网络硬件卸载简介
OpenStack的Pike版本中引入了对switchdev的支持,实现了Open vSwitch硬件卸载offloading功能。本文简介一下网络硬件卸载。网络Offload:说起网络offload,主要是指将原本在内核网络协议栈中进行的IP分片、TCP分段、重组、checksum校验等操作,转移到网卡硬件中进行,CPU的发包路径更短,消耗更低,提高处理性能。一开始这些offload功能都是在网卡上针对特定功能设计一个专门的电路并且带有很小的缓存,去做专门的事情。后来直接在网卡上部署一个可编程的通用的小型原创 2021-10-08 22:12:06 · 1049 阅读 · 0 评论 -
如何实现一个虚拟路由器
本文通过linux网络虚拟化的基础功能NameSpace、veth pair、bridge、tap实现一个路由器的最小模型,从而实现云计算环境下处于不同网段的虚拟机可以跨网段互通。虚拟网卡Tun/tap驱动是一个开源项目,tap表示虚拟的是以太网设备,在 Linux 中通常使用 tap设备来实现虚拟网卡,使用 Linux Bridge 来实现虚拟交换机。Network NameSpace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,每个 Network Namespace 有自己独立的网卡、路由原创 2021-10-08 22:03:27 · 1079 阅读 · 0 评论 -
如何实现一个虚拟路由器(2)
在《如何实现一个虚拟路由器》中描述了如何通过linux网络虚拟化的基础功能NameSpace、veth pair、bridge、tap实现一个路由器的最小模型,从而实现云计算环境下处于不同网段的虚拟机可以跨网段互通。本文在此基础上继续拓展,从而实现内网访问外网的功能。主要设计思路为:在上节所提及的虚拟路由NameSpace内添加一个端口,我们称之为external端口,设置此external端口的IP为外部网络的固定IP。在虚拟路由NameSpace内通过设置路由表可以将内部网络(上文例子中的192.168原创 2021-10-08 22:02:25 · 570 阅读 · 0 评论 -
NVIDIA显卡虚拟化vGPU终于支持KVM了
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)2018年5月14日,NVIDIA发布NVIDIA virtual GPU software 6.1 (390.57/391.58),正式增加了对RedHat KVM虚拟化上NVIDIA virtual GPU支持。软...原创 2018-05-26 20:21:57 · 48304 阅读 · 6 评论 -
qemu-guest-agent原理及实践
QEMU Guest Agent是运行在虚拟机内部的一个守护程序(qemu-guest-agent.service),用它来辅助Hypervisor实现对Guest的管理。QEMU为宿主机和虚拟机提供了一个数据通道(channel),这个通道的两端分别是在虚拟机内看到的串口和在宿主机上看到的unix socket文件。宿主机与虚拟机内的qga通讯就扩展了对虚拟机的控制能力,例如在宿主机上获取虚拟机...原创 2018-05-04 21:56:53 · 11057 阅读 · 0 评论 -
最少的qemu代码实现一个qemu-kvm模拟器demo
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)本文依据qemu2.11的源码,把整个初始化和运行虚拟机的代码拿出来,完成一个可以运行的模拟器demo。从中可以很清晰的看出qemu-kvm的初始化以及虚拟机的运行过程。编译运行:# gcc main.c -o qem...原创 2018-03-23 16:36:16 · 2317 阅读 · 0 评论 -
guestfs-访问和修改虚拟机磁盘的强大工具
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)简介libguestfs 是Redhat开源的一组工具集,主要用来访问和修改虚拟机的磁盘。其功能非常强大,我们常用的查看虚拟机磁盘使用率、P2V、V2V、备份克隆虚拟机、格式化重置虚拟机磁盘大小等功能libguestfs都能提供。...原创 2018-02-27 20:08:34 · 4395 阅读 · 0 评论 -
GPU虚拟化-Intel的KVMGT、NVIDIA的vGPU、AMD的MaxGPU
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) GPU全虚拟化的方式由于其性能和多虚拟机共享性方面的优势,一直是GPU厂家所努力支持的方向。本文通过几张架构图,看一下GPU全虚拟化中的Intel GVT-g和NVIDIA vGPU以及他们的统一架构Mediated Devi...原创 2018-02-27 20:01:55 · 21767 阅读 · 0 评论 -
KVM虚拟机内进行GPU计算
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) 我们知道CUDA是由NVIDIA推出的通用并行计算架构,使用该架构能够在GPU上进行复杂的并行计算。在有些场景下既需要使用虚拟机进行资源的隔离,又需要使用物理GPU进行大规模的并行计算。本文就进行相关的实践:把NVIDIA显卡...原创 2018-02-27 16:51:28 · 11098 阅读 · 0 评论 -
kvm虚拟化之虚拟机的FT(容错)方案
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)KVM中的FT(fault tolerance),也叫non-stop service。在有些场景下也被称为虚拟机热备。现在qemu-kvm社区出现过的FT方案:Features/FaultToleranceFeat...原创 2018-02-13 09:20:39 · 5130 阅读 · 2 评论 -
kvm虚拟化之硬件辅助IO虚拟化之设备透传
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) 现在IO虚拟化有很多方式,有软件模拟、半虚拟化、设备直接分配、单根IO虚拟化。在《说一说虚拟化绕不开的io半虚拟化》一文中介绍了io的全虚拟化和半虚拟化。下面介绍一下IO的硬件辅助虚拟化。Device Pas...原创 2018-01-27 20:30:47 · 5628 阅读 · 0 评论 -
kvm虚拟化之时钟虚拟化
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) 我们知道kvm有一个半虚拟化的时钟kvm-clock,但是现在只对Linux Guest支持,半虚拟化的时钟具有准确高效的有点,而使用TSC和RTC等时钟存在效率低高延迟的缺点,本文具体介绍一下虚拟化下的时钟原理。...原创 2018-02-05 22:53:04 · 6867 阅读 · 0 评论 -
kvm虚拟化之IO虚拟化
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) QEMU-KVM作为一个VMM提供了全虚拟化环境,guest不经过任何修改就能运行在KVM环境中。不过KVM在IO虚拟化方面,使用QEMU纯软件的方式来模拟IO设备,效率并不高。在KVM中,要想提高IO虚拟化的效率,就要使用半...原创 2018-01-27 20:24:42 · 7787 阅读 · 0 评论 -
kvm虚拟化之硬件辅助IO虚拟化之SR-IOV
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)SR-IOV是什么,它和virtio、Device assignment的IO虚拟化的技术有什么区别,本文中将会解答。SR-IOV简介SR-IOV(PCI-SIG Single Root I/O Virtualizati...原创 2018-01-27 20:43:18 · 6528 阅读 · 1 评论 -
kvm虚拟化之cpu虚拟化
(文章来自作者维护的社区微信公众号【虚拟化云计算】)(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问) 讲到intel的cpu虚拟化,就不得不提到vt-x。vt-x是intel的CPU硬件虚拟化技术,但是在操作系统内部查看cpu的flag时,是否支持硬件虚拟化的的判断标准是是否有vmx,vmx是什么,它和虚拟化有什么关系,本文将...原创 2018-01-27 12:48:45 · 18094 阅读 · 1 评论