虚拟化特性介绍

集群:集群是一种把一组计算机组合起来作为一个整体向用户提供资源的方式,在虚拟化集群中可以提供计算资源、存储资源、网络资源,只有包含这些资源,集群才是完整的。

集群特性

HA

集群的高可用特性

原理

使用集群技术,克服单台物理主机的局限性,最终达到业务不中断或者中断时间减少的效果。虚拟化中的 HA 只保证计算层面,虚拟化集群一般使用共享存储,虚拟机由配置文件和磁盘文件组成,而磁盘文件是保存在共享存储上的,配置文件则保存在计算节点上。当计算节点出现故障时,虚拟化管理系统,会根据记录的虚拟机配置信息在其他节点重建出现故障的虚拟机。

如何发现主机故障?

管理员定期和集群内所有的节点建立通信,一旦某个节点无法通讯,则证明该节点可能出现故障,管理系统和虚拟节点之间保持心跳连接。

虚拟机无法正常启动怎么办?

启用业务层面的 HA,一旦主用的虚拟机出现故障或者不能恢复时,业务会借助浮动IP、Keeplived 等与高可用相关的技术,将业务在备用的虚拟机上恢复。虚拟机层面的 HA 一般会和应用层面的 HA 配合使用,可以缩短业务恢复的时间,提高业务恢复的几率。

负载均衡

负载均衡是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(防火墙、服务器等)或多条链路,从而提高业务处理能力,保证业务的高可用性。虚拟化环境中,负载均衡的对象一般是计算节点,判断依据为计算节点的 CPU 和内存的利用率。

优势

  • 高性能:负载均衡技术将业务较均衡地分配到多台设备上,提高整个系统的性能;
  • 可拓展性:负载均衡技术可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求;
  • 高可靠性:单个甚至多个设备或链路发生故障也不会导致业务中断,提高了整个系统的可靠性;
  • 可管理性:大量的管理工作都集中在应用负载均衡技术的设备上,设备群或链路群只需要常规的配置和维护即可;
  • 透明性:对用户而言,集群等同于一个可靠性高、性能好的设备或链路,用户感知不到也不必关心具体的网络结构。增加和减少设备或链路均不会影响正常的业务。

易扩容

虚拟化中,所有的资源进行池化,承载业务虚拟机的资源全部来自于资源池,当上面业务量持续增加的事情发生时,只需要增加资源池中资源即可,具体实施时只需要增加服务器数量即可。

内存复用

在物理服务器内存一定的情况下,通过综合运用内存复用单项技术(内存气泡、内存置换、内存共享)对内存进行分时复用。通过内存复用,使得虚拟机内存规格总和大于服务器物理内存规格总和,提高服务器中虚拟机密度。

  1. 内存气泡:系统主动回收虚拟机暂时不用的物理内存,分配给需要复用内存的虚拟机。内存的回收和分配均为系统动态执行,虚拟机上的应用无感知。整个物理服务器上的所有虚拟机使用的分配内存总量不能超过该服务器的物理内存总量;
  2. 内存置换:虚拟机长时间未访问的内存内容被置换到外部存储中,并建立映射,系统需要使用这些数据时,再与预留在内存上的数据进行交换;
  3. 内存共享:多台虚拟机之间共享同一物理内存空间,此时虚拟机只对内存做只读操作,当虚拟机需要对内存进行写操作时,另外开辟一内存空间,并修改映射。

价值:

  1. 当计算节点的内存数量固定时,可以提高计算节点的虚拟机密度;
  2. 当计算节点的虚拟机密度固定时,可以节省计算节点的内存数量。

虚拟机特性

虚拟机快速部署

可以通过按模板部署和虚拟机克隆的方式实现虚拟机的快速部署。

模板部署虚拟机

模板的本质也是一台虚拟机,同样包含虚拟机磁盘文件和配置文件,使用模板部署虚拟机能够节省配置新虚拟机和安装操作系统的时间。虚拟机模板和部署出来的虚拟机是相互独立的,对于大量部署虚拟是非常有用的,可以保持虚拟机的一致性,同时还能将有差异的参数(主机名、SID 等)修改。

虚拟机克隆

使用虚拟机本身快速的部署出一台虚拟机,虚拟机克隆是在某个时间点对源虚拟机进行完全的复制,被克隆出来的虚拟机的所有设置,包括主机名,IP 地址等个性化数据,都和源虚拟机一模一样。

虚拟机资源热添加

在虚拟机处于开机状态,增加虚拟机的计算、网络、存储资源。对管理员而言,虚拟机的 CPU、内存等参数只是配置文件中的一部分,只需要修改配置文件中对应的参数,就可以修改虚拟机的硬件配置。虚拟机的热添加也需要操作系统的支持,否则,需要重启虚拟机,经过操作系统对硬件资源的识别才可以使用。

虚拟机 Console 控制

可以不依赖虚拟机的网络,而通过 VNC、Remote Console 等方式实现对虚拟机的控制。

虚拟机快照

快照是特定数据集的一个完整可用拷贝,该数据集包含源数据在拷贝点的静态映像;快照可以是数据再现的一个副本或复制。一般应用在对虚拟机进行升级、打补丁、测试等破坏性实验前,一旦虚拟机出现故障,使用快照可以对虚拟机进行快速的恢复。一台虚拟机可以创建多个快照形成快照链,对其中任意一个快照做操作时,都不会对其他快照产生影响。

特点

快照可以快速生成,并可用作传统备份和归档的数据源,缩小甚至消除数据备份的窗口;

快照存储在磁盘上,可以快速直接存取,提高了数据恢复的速度;

基于磁盘的快照使存储设备有灵活和频繁的恢复点,可以快速通过不同时间点的快照简易恢复意外擦除或损坏的数据,对其进行在线数据恢复。

快照模式

COW(Copy-On-Write)写前拷贝快照

当执行一个新的写操作时,首先读出写操作将要覆盖地址的当前数据,将读出数据保存至专用空间并建立索引,新的写操作执行(写入目标地址)。

ROW(Redirect-On-Write)

到源盘的新的写操作被存入日志(并索引),读源卷时,先检索日志;读快照时,源卷需要引用,当快照取消时,写日志必须全部执行以与源卷保证数据状态同步更新。

NUMA

NUMA,(Non Uniform Memory Access Architecture)非统一内存访问,是一种可以提高数据读写速度的技术。

在单个 CPU 的运算速度已经到达瓶颈时,所以设计者采用多核多路 CPU 的方式来提高计算机的运算速度,CPU 和内存通过北桥的方式相互连接,由于 CPU 数量增加,内存也相应增加,这就导致在北桥上的响应速度变慢,于是,设计者就把内存平均绑给每个 CPU ,这样可以避免共享北桥而出现的拥塞。

内存和 CPU 绑定, CPU 从绑定的内存中读取数据的响应时间较短,而如果跨 CPU 访问内存读取数据的响应时间较长,所以就让程序在运行时全部使用一个 CPU 和其相绑定的内存,这样就可以提高速率,这就是 NUMA。

使用 NUMA 之后, 会把 CPU 和与其绑定的内存当做一个 NUMA Node,每个Node 都有自己内部 CPU、总线和内存,如果跨 Node 访问需通过 CPU 之间的 Interconnect。对应到虚拟化中,使用 NUMA 技术可以让虚拟机使用同一 NUMA Node 上的硬件资源,以提高虚拟机的响应速度。


THE END