当前位置:首页 > 虚拟机 > 正文

kvm虚拟机迁移原理(kvm虚拟化介绍)

关于KVM虚拟化的虚拟机

镜像文件是虚拟机的镜像文件。每个虚拟机对应一个镜像文件,类似于VMware的vmdk文件。
镜像文件的大小取决于您的虚拟机的大小。6G并不是很大。。。
关于多个虚拟机使用一个镜像文件,vmware有链接,这是一种类似的技术。有兴趣的话可以百度

什么是虚拟化技术,为什么要虚拟化技术?

1.什么是虚拟化?
简单地说,虚拟化是创建某些组件的虚拟(而不是物理)版本的过程。虚拟化可以应用于计算机、作、存储设备、应用程序或。然而,服务器虚拟化是虚拟化的核心。当今的x86服务器设计为一次运行单个作和应用程序,这给IT部门带来了挑战。因此,即使是小型数据中心也需要部署大量服务器,而每台服务器的容量利用率只有5-15%,无论以任何标准衡量,效率都非常低。
虚拟化使用软件来模拟硬件并创建虚拟计算机。这使得企业可以在一台服务器上运行多个虚拟,即多个作和应用程序,从而实现规模经济并提高效率。
2.为什么要虚拟化?
虚拟化技术可以解决很多以前我们无法解决的技术:
1.服务器集成技术:如果没有虚拟化技术,这项技术很难实现。因为一切都是物理的,所以很难集成两个工作相对较少的服务器。然而,随着虚拟化技术的出现,这种服务器整合技术变得非常简单。这项技术需要我下面介绍的2或3种技术的帮助。
2.负载均衡技术:
负载均衡技术是在每台服务器上只安装一个负载均衡器,然后设置多种调度算法和阈值。来判断此时服务器的压力是轻还是重。然后根据严重程度进行服务器合并,并基于第三种技术进行合并。
3.热迁移技术:该技术构成了前两项技术的基础,但不限于前两项技术。其目的是在服务器运行时将服务器虚拟机迁移到其他服务器。一般工作原理是先在目标服务器上模拟服务器硬件状态,然后迁移数据,最后发布服务器信息。
4.技术:该技术与上面的技术非常相似,但又有所不同。技术就是配置一台服务器的环境,让其他机器通过技术达到与这台机器相同的效果。如果你想配置100台甚至1000台服务器,这种技术是非常令人印象深刻的。这和热迁移的区别在于,当服务器没有关闭时,热迁移需要被迁移的对象互相共享内存,而则没有这个。
5.容灾技术:容灾是所有大型企业都需要考虑的问题,因为当意外发生时,比如突然停电、财产损失、洪水、等一系列情况,如何应对灾难?所造成的数据丢失被最小化甚至消除。这就要看第六项技术了。
6.虚拟快照技术:虚拟快照技术将虚拟机的当前状态记录为照片。当然,我说的很简单。实现原理一定很复杂,包括处理器的工作状态和内存中的数据等。通过这种方式,这些虚拟化技术得以保留,并可以在发生灾难或某些错误导致虚拟机出现问题时快速恢复。
7.提高可用性。这里的可用性只能是一台没有故障的机器。在这种情况下我们可以限度地提高效率。归零机的原理是每台服务器都必须有一个镜像。主虚拟机和辅助虚拟机之间有一条心跳线来维护两者之间的关系。当心跳线停止时,辅助虚拟机立即启动。,代替主虚拟机。
8.安全性:我们在硬件层一直到虚拟化都有一层VMM,可以随时检测每个虚拟机的动向,包括捕获异常、解决门事件、执行调度等。所以,当某些风险因素出现时,由于VMM的存在,我们可以很快地发现问题并解决它。这比之前作直接位于其之上的硬件层要快得多。

kvm功能特性包括?

KVM本身不进行模拟,需要用户空间程序通过/dev/kvm接口设置虚拟访务器的空间,为其提供I/O,并将显示映射回主机屏幕。程序该程序是QEMU

内存管理

1。KVM具有Linux强大的内存管理功能,可以以大页的形式进行交换,也可以以文件的形式在磁盘上共享。NUMA支持(非统一内存访问,多处理器的内存设计)允许虚拟机有效地访问大量内存

2。支持Intel的扩展页表(EPT)和AMD的嵌套页表(NPT),也称为快速虚拟化索引-RVI),实现更高的CPU利用率和吞吐量

3。通过核心相同页面合并(KSM)功能支持内存页面共享。KSM扫描每个虚拟机之间共享的页面,仅存储一份副本,并将这些页面合并为虚拟机之间共享的单个页面。如果任何客户发生变化,他们将获得自己的专用副本

存储

1。KVM可以使用LInux支持的任何存储来存储虚拟机映像,包括具有IDE、SCSI和SATA的本地磁盘、附加存储(NAS)(包括NFS和SAMBA/CIFS)或具有iSCSI和光纤通道支持的SAN

还支持全局文件(GFS2)和其他共享文件,以允许虚拟机映像在多个主机之间共享或使用逻辑卷共享。

原生磁盘格式为QCOW2,支持快照并允许多级快照、压缩加密等功能

设备驱动

支持混合虚拟化,即在来宾作中安装半虚拟化驱动程序,允许虚拟机使用优化的I/O接口,而无需使用模拟设备。

半虚拟化驱动程序使用VirtIO标准,该标准是用于构建于管理程序的设备驱动程序的接口。可以为多个虚拟机管理程序使用同一组设备驱动程序

性能和可扩展性

继承了Linux的性能和可扩展性,虚拟化的很多方面可以达到非虚拟化原生环境95%以上

2。KVM还具有良好的扩展性,可以支持多核CPU和大容量内存

虚拟化技术介绍

虚拟化技术最早出现在20世纪60年代的IBM大型机中,并在1970年代的System370系列中逐渐流行起来。这些机器使用一种称为虚拟机(VMM)的程序来生成许多虚拟机实例(VirtualMachine),这些实例可以在物理硬件上运行的作软件。随着近年来计算机技术的进步,无论是服务器市场、桌面市场还是嵌入式市场,处理器频率和核心数量都有了巨大的提升,从而带动了处理能力的快速增长,使得虚拟化技术再次。它发展迅速,从最初的机虚拟化技术开始,发展到主机虚拟化、混合虚拟化等更复杂的虚拟化模式。在此基础上,发展出了目前的云虚拟化技术。大地降低了IT成本,提高了的安全性、可靠性和可扩展性。在计算领域,虚拟化是一个广义的术语。简单来说,虚拟化就是对计算机资源的抽象。虚拟机最初由Popek和Goldberg定义为物理机的一个或多个的有效副本[16]。和RaviNair给出了更具体的定义:虚拟机是添加到物理平台上的软件提供的一个或多个不同的平台。虚拟机可能具有作、指令集或两者,并且可能与底层真实硬件不同。虚拟化技术的本质在于计算机软硬件资源的共享和抽象。计算机的高度复杂性是通过不同的抽象级别来控制的。每层通过层与层之间的接口对底层进行抽象,隐藏底层的具体实现,向上层提供更简单的接口。计算机包括五个抽象层:硬件抽象层、指令集体系结构层、作层、库函数层和应用层。因此,可以在每个抽象层实现虚拟化。不管它实现在哪个抽象层上,本质都是一样的,就是通过一定的手段来管理和分配底层资源,并将底层资源反映给上层。传统的作进程模型受益于虚拟化的思想。作对物理内存进行划分和抽象,为每个进程呈现远远超过物理内存空间的4G空间,并使每个进程实现有效的隔离,使得一个进程的崩溃不会影响其他进程的正常运行。虚拟化平台是作层虚拟化的实现。在虚拟化中,虚拟机(VM)在与实际底层硬件相同的硬件平台上模拟一个或多个的执行环境。每个虚拟执行环境都可以运行不同的作,即客户作(GuestOS)。GuestOS通过虚拟机提供的抽象层来实现对物理资源的访问和作。目前虚拟机有很多种,但基本上所有虚拟机都是基于“计算机硬件+虚拟机(VMM)+客户作(GuestOS)”的模式。虚拟机是硬件和GuestOS之间的抽象层。它运行在权限级别,负责抽象底层硬件资源,提供给上层运行的多个虚拟机。它还为上层提供了多个虚拟机隔离的执行环境,使每个虚拟机都认为自己独占了整个计算机资源。虚拟机可以将不同物理机上运行的作和应用程序合并到同一台物理机中,降低管理成本和能源消耗,并简化迁移。根据虚拟机在虚拟化平台中所处的位置,可以分为以下3种类型:虚拟机所使用的虚拟化技术分为以下4种:嵌入式是一个新的重要方向虚拟化技术的一个分支。嵌入式处理器的快速发展使得嵌入式在多个方面得到了广泛的应用。嵌入式设备应用的普及导致对软件和硬件的需求不断增加。硬件体现在不断增强的计算能力和各种各样的外部设备,软件体现在日益复杂的新功能。这些问题导致嵌入式开发复杂并增加了软件维护成本。原有的SMP、AMP等多核作解决方案无法满足日益复杂的安全隔离、硬件资源分配和复用等需求。因此,嵌入式作领域引入了服务器和桌面上的虚拟化技术,并且借助硬件辅助的虚拟化技术,虚拟化技术的便捷性与嵌入式的实时性要求之间的差距已经存在。这种矛盾导致了LinuxKVM、Xen等嵌入式虚拟化平台的快速发展。虚拟化平台在硬件和作之间引入了一个新的抽象层次,称为虚拟机(VMM),它接管所有硬件并管理所有虚拟机(VirtualMachine,简称VM),并且每个虚拟机都可以运行自己的作。虚拟化的优点是实现了资源的复用,使得