浅谈虚拟化基础知识
|
通过集群部署、双网卡、双电源以及OS盘的RAID策略都可以为我们提升基础架构的可靠性。通过对集群设置,我们可以实现虚拟机的冷热迁移,故障恢复甚至容错等,从而在架构上实现了高可靠。 4.提高资源利用率 摆脱传统架构单台服务器单个应用,通过虚拟化技术,资源可以以更小的单位提供,可以实现一比多的形式,很大程度提高了物理资源的利用率,同时,可对虚拟机进行隔离,保证了安全性。 5.动态资源调度(DRS) 通过DRS可以实现机房节能环保,降低功耗,在资源闲置时自动迁移并关闭部分资源,资源紧张时可自动开启资源并负载均衡 Part D.几种虚拟化关键技术 一、内存复用 a.内存共享:虚拟机内存只读时,可共享同一内存空间,需要写时,再分配空间。 b.内存气泡:虚拟机之间的内存交换负载,即内存使用低的释放给内存使用较高的虚拟机。 c.内存置换:暂时不用的内存置换到存储中,从而提高内存使用。 二、CPU相关 CPU虚拟化的开启,物理在BIOS里面设置相关Virtual Technology项,如果需要开启虚拟化嵌套,则需要在VMwareworkstation设置相关虚拟化模式,如果是kvm的嵌套则可能需要升级内核。 三、ServerSan ServerSan通常基于传统的X86服务器,配以SSD做缓存和万兆网卡做传输,同时满足了计算和存储资源,从而实现了计算和存储的融合,大多数的ServerSan都基于开源的Ceph,不仅可以实现高性能,也可以实现数据的多副本,更可以实现存储的高级功能,如快照、链接克隆、精简配置等。 1.服务器虚拟化,计算、存储、网络和IO的虚拟化 2.存储虚拟化,如Serversan,支持虚拟化的存储阵列等 3.网络虚拟化,如vlan、虚拟防火墙、虚拟分布式交换机 4.桌面(应用)虚拟化,即桌面云 其他分类这里不在细说,下面给大家分享下KVM和XEN的一些区别: 【对比KVM和XEN】 Xen作为***秀的半虚拟化引擎,在基于硬件的虚拟化帮助下,现在也完全支持虚拟化MS Windows。被设计成一个独立的内核,它只需要Linux执行 I/O,这样使得它非常的大,并且它有自己的调度程序、内存管理器、计时器和机器初始化程序。 做华为虚拟化的同学应该都知道有个Dom0,这个Dom0是个什么东西呢?这个Domain 0(特权虚拟机)是其他虚拟机的管理者和控制者,可以构建其他更多Domain,并管理虚拟设备。它还能执行管理任务,比如虚拟机的休眠、唤醒和迁移其他虚拟机。此外,还有个Dom u,这个是指除了Dom 0之外的普通虚拟机。 KVM是一个独特的管理程序,其让Linux内核自身变成一个管理程序,通过KVM作为一个内核模块实现,在虚拟环境下Linux内核集成管理程序将其作为一个可加载的模块,可以简化管理以及提升性能。KVM使用标准Linux调度程序、内存管理器和其他服务。将虚拟技术建立在内核上而不是去替换内核。
KVM架构
Xen架构 此外,还有微软的Hyper-V、OpenVz,这里不再跟大家介绍! CPU的运行级别,Ring 0也称为核心态,操作系统需要直接访问硬件和内存,使用特权指令,控制中断、修改页表、访问设备,因此它的代码需要运行在***运行级别。Ring 3也称为用户态,需要访问磁盘、写文件时,则需要调用系统函数,这样的操作称为用户态到核心态。
大家都知道宿主机的操作系统运行级别是Ring 0,虚拟机的操作系统就无法在Ring 0级别运行,但是虚拟机OS不知道这一点,执行的命令与物理机无异,但是没有执行权限是会出错的。所以这时候虚拟机管理程序(VMM)需要避免这件事情发生。 虚机怎么通过 VMM 实现 Guest CPU 对硬件的访问,根据其原理不同有三种实现技术: 1. 全虚拟化 2. 半虚拟化 3. 硬件辅助的虚拟化 主要区别见下图:
A.全虚拟化 一般采用优先级压缩技术(Ring Compression)和二进制代码翻译技术(BinaryTranslation)。优先级压缩技术让VMM和Guest运行在不同的特权级下。对x86架构而言,即VMM运行在***特权级别Ring 0下,guest OS运行在Ring 1下,用户应用运行在Ring 3下。因此,Guest OS的核心指令无法直接下达到计算机系统硬件执行,而是需要经过VMM的捕获和模拟执行(部分难以虚拟化的指令需要通过Binary Translation技术进行转换)。
B.辅助虚拟化 当前主要有Intel的VT-x和AMD的AMD-V这两种技术。其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS运行在Ring 0下。通常情况下,Guest OS的核心指令可以直接下达到计算机系统硬件执行,而不需要经过VMM。当Guest OS执行到特殊指令的时候,系统会切换到VMM,让VMM来处理特殊指令。 虚拟化是云计算的基础,基于虚拟化我们可以实现私有云、公有云、桌面云等。
虚拟化是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和数据存储。 (编辑:南昌站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

