云主机

本章节重点讲解云主机基本工作原理、功能特性和应用场景,作为资源模型的基础知识,以便在项目实施时,正确选择和配置对应的资源模型。

基本原理

典型的云主机基本架构如下:

_images/06_cloud_host_structures.png

资源虚拟化由 Node Client 控制,由Hypervisor承载

  • 云主机CPU计算能力通过物理CPU时间分片模拟的vCPU来实现
  • 云主机内存通过映射物理内存承载
  • 云主机磁盘映射到磁盘镜像文件,云主机对磁盘读写都会转向到对磁盘镜像文件的读写
  • 云主机网络通过虚拟网卡,借助物理网络设备与外部通讯
  • 云主机的图像数据由虚拟显示设备处理,并可以通过网络进行访问

Control ServerIntelligent Router 是与云主机进行交互的主要组件。 Intelligent Router 负责处理外部网络与云主机之间的网络通讯,Control Server 主要处理与云主机相关的控制请求,必要时会根据用户请求,控制 Intelligent RouterNode Client 变更云主机相关的设置。

本图仅供参考,各种模式下,云主机组成会有较大差别,详情请继续浏览后续章节。

访问与控制

_images/08_cloud_host_data_flow.png

对于一个已经创建成功的云主机,通常会产生三类交互数据,如上图所示:

  • 控制数据,主要是由 Control Server 发来的主机起停、修改等控制操作,这类数据通常是通过致云内部通讯协议发给 Node Client 节点处理。
  • 业务数据,用户访问云主机内部网络服务产生的业务数据,比如Http、FTP请求和响应等,通常通过二三层网络转换后发给云主机的虚拟网卡处理,具体模式根据不同的网络连接模式有差别,后续章节会有详细描述。
  • 监控数据,用户通过远程桌面协议,从网络监控云主机运行情况时产生,主要通过 Node Client 节点映射端口访问虚拟显卡和交互设备实现。

网络连接模式

致云云管理平台将云主机的网络连接模式分为两大类: 直连模式沙盒模式 ,两种模式差别如下:

_images/07_1_cloud_host_connection_direct.png
直连模式
每个云主机都拥有自己的独立MAC地址,通过宿主机网络设备,由链路层桥接到工作网络里。此种工作模式下,云主机由客户工作网络分配IP,与传统物理主机工作模式完全一致,能够完全兼容传统的网络分配和管理模式,无需单独通过云管理平台控制,模型容易理解,学习成本和维护成本都最低。
沙盒模式
每个云主机被封闭在自己独立的三层网络中,沙盒主机与宿主机之间,沙盒主机之前无法通讯,云主机只能通过NAT转换与外部网络交互。 沙盒模式云主机的IP地址由 Node Client 内部管理分配,不需要占用工作网络IP。沙盒模式主要是用于公有云服务场景,当某台云主机被感染或者恶意控制时,无法攻击其他云主机或者管理平台,从而确保整个云服务平台的可用性。

沙盒模式下,有三种子连接模式可以选择,分别是:私有模式独享模式共享模式

  • 私有模式 ,云主机无外网连接,只能通过宿主机NAT端口访问和监控,如下图:

    _images/07_2_cloud_host_connection_private.png
  • 独享模式 ,每个云主机拥有自己的独享公网IP,请求者访问云主机的公网IP时,会由智能路由(Intelligent Router)转发到对应的云主机。请注意,当系统中部署了多个智能路由节点时,发到任意智能路由节点的请求,都可以转发到目标主机。

    _images/07_3_cloud_host_connection_mono.png
  • 共享模式 ,多个云主机使用端口方式共享一个公网IP,同一个公网IP的不同端口会映射到不同的云主机端口,请求者访问该公网映射端口时,会由智能路由(Intelligent Router)转发到对应的云主机。共享模式主要用于公网IP资源不足的场景。

    _images/07_4_cloud_host_connection_share.png

请注意,上述云主机网络连接模式,都是通过计算资源池来设置的,致云云管理平台允许创建多个计算资源池,而计算资源池允许各自设置不同的网络连接模式,所以同一套云管理平台内,能够允许多种网络连接模式的云主机共存。

存储模式

致云云管理平台目前提供了两种基本存储模式: 本地存储共享存储 ,用户可以根据自己的项目实际需要进行选择:

本地存储

默认模式,也是基本模式,此模式下,计算节点使用自己的本地磁盘存储云主机磁盘文件,本地存储模式允许在一个计算资源节点挂载多个磁盘,计算节点会自动在多磁盘之间均衡负载,同时也支持磁盘在线扩展,以便用户随时根据需要扩充新磁盘,如下图所示:

_images/09_1_host_storage_local.png

本地存储模式的主要优点在于部署简单,不依赖后端存储系统,成本低,响应速度快,可以使用固态硬盘(SSD)搭建高性价比的高速桌面云系统,也可以简单叠加 Node Client 节点,实现超融合架构的扩展。

共享存储

共享存储模式下,系统需要部署后端共享存储系统,同一资源池内计算节点都在同一存储空间内使用统一的访问路径存储云主机磁盘文件。当某计算节点故障时,系统可以选择新的承载计算节点,利用共享存储中的云主机磁盘文件,重新恢复云主机实例。同时共享存储模式下,可以直接扩充存储系统磁盘容量来提升整个系统的可用空间,无需对单计算节点扩容。

_images/09_2_host_storage_share.png

共享存储虽然成本较高,但是当用户对云主机有高可用以及故障恢复需求时,必须使用该模式。设计共享存储模式方案时,由于数据均通过网络传输,对数据网络压力较大,必须充分考虑网络的带宽、时延、多链路等因素,还应当考虑存储系统本身的高可用设计,避免共享存储系统故障时,导致整个云平台无法工作。

处理磁盘文件存储位置的选择之外,致云云管理平台同样为用户的磁盘文件处理模式提供更多的增强模式,以满足用户不同的业务需要。

Thin Provisioning

Thin Provisioning模式允许用户仅按照云主机内部实际使用的磁盘空间,分配磁盘文件大小,在云主机磁盘实际利用率不高的情况下,可以非常有效地提高物理磁盘利用率和复用程度,提高设备资产回报率。

_images/09_3_host_storage_thin_provisioning.png

`` 请注意 :Thin Provisioning模式下,应当及时监控物理磁盘用量,当利用率超过阈值时,及时扩充磁盘,避免因磁盘满而影响用户使用。``

Backing Image

Backing Image允许云主机依赖一个特定的根镜像文件创建增量磁盘镜像文件,根镜像保持只读状态,云主机的写入变更都保存在增量镜像文件中。当同一资源池中,有多个云主机使用相同或者近似操作系统时,云主机的系统镜像文件中大部分数据是相同的,该场景下,可以将系统镜像文件设定为根镜像,而所有使用该操作系统的云主机均对该根镜像做Backing,可以大幅度节省磁盘空间占用,如下图所示:

_images/09_4_host_storage_backing_image.png

多个云主机共通的基本数据保存在只读的根镜像中,每个云主机自己的增量镜像保存自己的用户数据,大幅度节省同一资源池内的磁盘占用。 Backing Image 必须依赖共享存储模式使用,同时,当多个云主机共同依赖同一个根镜像的情况下,性能损耗较大,必须保障存储系统的IOPS和数据吞吐量,而且一旦根镜像损坏,则所有依赖此镜像的云主机均无法使用,所以要谨慎使用。

QoS

云计算通过资源复用方式提高整个IT资产的利用率,但是当系统中存在多个云主机同时运行时,必须提供QoS机制,保证云主机之间不会相互影响,保障整个云平台的服务质量。

致云云管理平台目前对云主机的CPU、磁盘IO、网络带宽均提供了QoS控制。

CPU QoS

为了简化管理模型,我们将云主机的CPU QoS简单划分为高、中、低三个等级,根据不同等级决定各云主机对物理计算资源的占用分配,如下图:

_images/10_qos_cpu.png

CPU QoS的分配规则如下:

  1. 在同一个物理CPU核心中,高优先级云主机可以获得最大100%的时间片,中优先级50%,低优先级30%。
  2. 在一个CPU时钟周期内,分别按照4:2:1的权重分配时间片。
磁盘IO QoS
允许为每个云主机设定读写IOPS的限量设置。
网络带宽 QoS
允许为每个云主机设定最大传输带宽。