开发者学堂课程【高校精品课-长安大学 -基于混合式教学的云计算课程建设:2.4.2资源管控层 资源管理技术】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1073/detail/15466
2.4.2资源管控层 资源管理技术
内容介绍
三、关键的资源管理技术
三、关键的资源管理技术
这里面从关键的资源管理技术的计算,存储,网络三个方面来进行讲解。计算:超线程,内存页面共享,动态内存分配,在虚拟机管理程序之间进行虚拟机负载平衡,服务器闪存缓存;存储:虚拟存储资源调配,存储池重新平衡,存储空间回收,自动化存储分层,缓存分层,在存储卷之间进行动态虚拟机负载平衡;网络:在节点之间平衡客户端工作负载,网络风暴控制,服务质量(QoS),流量修整,链路聚合,网络接口卡组合,多路径。
1,计算资源管理
(1)超线程
超线程使单个的处理器核心看起来像两个逻辑处理器核心,这允许支持超线程的操作系统能同时计划两个线程,以免处理器限制。但是这两个超线程无法同时执行,因为两个逻辑核心共享一个单个的物理核心。当核心资源未由当前线程使用的时候,特别是处理器停止的时候,将使用该核心的资源来执行下一个切换线程。当服务提供商支持使用超线程的服务器和操作系统构建计算机主架构时,那么这些架构上运行的总体性能就会得到改善。
(2)内存页面共享
在云环境中,多个虚拟机通常是在一个计算系统上运行,这可能会增加多个内存页面中存在相同的内容的可能性。例如:多个虚拟机可能运行相同的来宾操作系统并包含多个相同的应用程序,这就可能会创建内存页面的冗余拷贝导致内存使用率增加。虚拟机管理程序接住内存管理的共享技术,扫描内存页面并识别出冗余页面,而无论冗余页面是由于哪一个虚拟机创建的,在识别出候选的内存页面后,虚拟机内存指针更新为指向共享位置,冗余内存页面将被收回,删除这些冗余的内存将允许有效的利用内存资源并被同时为所需的服务实例分配更多的内存资源以满足需求。
下图说明使用一个内存页面管理技术回收内存页面的过程。这是物理计算系统,在上面运行了三台虚拟机,虚拟机1,虚拟机2,虚拟机3。在这个方案中,虚拟机管理程序扫描物理内存位置并发现虚拟机1,虚拟机2,虚拟机3的内存页面1内容完全相同,虚拟机管理程序的管理机管理系统将这三个虚拟内存和管理页面的内存映射更新为指向物理内存的页面1,如果没有内存页面管理技术将使用三个物理内存来存储这三个冗余的内存页面。同样,虚拟机2和虚拟机3的内存页面也具有相同的内存页面2。共享页面是如何更新的呢?
虚拟机管理程序通常使用携入式拷贝的技术。例如:当虚拟机3要更新共享页面的时候,虚拟机管理程序就会用一种透明的管理方式为该虚拟机的物理页面5创建一个私有的拷贝6。同时,指针映射将更新到指向虚拟内存页面的这个私有拷贝,通过这种方式可以在不中断的情况下修改共享的虚拟内存页面。
(3)动态内存分配
动态内存分配是一种用来回收内存页面的技术,当虚拟机必须释放内存时,最好让虚拟机的来宾操作系统选择要放弃的内存页面。虚拟机的来宾操作系统了解哪些页面最近最少被使用并且可以释放,那么在该技术中,每个虚拟机的来宾操作系统中都安装有一个与虚拟管理程序通信的代理,该代理的功能就是向来宾操作系统请求内存并放弃虚拟及管理程序对内存的控制。当计算系统没有内存压力时,每个虚拟机中运行的代理不会采取任何措施。但是,当内存变得缺乏的时候,虚拟及管理程序会选择虚拟机,并指示虚拟机中的代理向其来宾操作系统请求内存。在代理回收内存之后,代理会保存内存并将其放回内存池中,虚拟机管理程序随后会将池中释放的内存页面分配给其他需要更多内存的虚拟机。
例:在一个虚拟机实例上运行的应用程序面临负载的噪声的问题,该虚拟机需要在不影响服务级别的情况下,用额外的处理能力和内存来处理工作复杂的噪声问题。动态内存分配技术会通过从环境中的其他虚拟机回收内存来为虚拟机分配更多的内存资源。
(4)负载均衡
为了提供冗余和负载均衡,会将多个虚拟级管理程序聚集在一起形成一个集群。在这样的环境中,当打开新的虚拟机的时候,管理服务器会检查所有虚拟及管理程序上资源的可用性,它会将虚拟机放在具有充足资源的虚拟机管理程序上并确保虚拟机管理程序之间的负载均衡,尽管管理服务器执行虚拟机初始分配时实现了各个集群虚拟机管理程序之间的负载均衡,但是随着虚拟机的负载和资源可用性的变化可能会又导致变得不平衡,为了应对这种负载的不平衡,管理服务器会监视所有虚拟机管理程序的资源,并作出负载平衡的决策。管理服务器会执行负载均衡决策,将虚拟机从过度利用的虚拟及管理程序
迁移到未得到充分利用的虚拟机管理程序上,以免造成性能瓶颈。管理服务器会基于所配置的阈值作出负载平衡决策,阈值是用来度量虚拟及管理程序上可接受的资源的不平衡程度。
(5)程度服务器闪存缓存技术
在服务器闪存缓存技术中,闪存缓存卡安装在计算系统中可增强应用程序的性能。服务器的闪存缓存技术使用计算系统上的智能缓存软件和闪存卡。缓存软件可将最常用的数据放在闪存卡上,从而使数据更靠近应用程序,这会显著改进应用程序性能并避免与通过网络对存储系统进行的 I/O 访问相关联的延迟。服务器的闪存缓存技术为读取密集型工作负载提供性能加速,在实时服务器的闪存缓存技术之后,最热数据的拷贝会自动位于计算系统中的上存卡上,这样可以改进性能。服务器的闪存缓存技术在实现显著的性能改进之前需要有一个预热的时间,那么预热时间是指将大量数据移入服务器闪存缓存所需的时间,这通常在安装了服务器闪存缓存窃其为空的时候发生的。
2,储存资源管理
(1) 虚拟存储资源调配
管理员所面临的最大挑战之一就是分配其 IT 基础架构中运行的各种应用程序或者服务所需的存储空间。使用传统的存储资源调配时,管理员通常基于应用程序的预期存储要求,向应用程序分配存储容量。管理员通常会为应用程序过度调配存储资源,这样做的目的是为了避免在LUN的容量用尽时频繁调配存储资源,或者是为了减少在添加新的存储时对应用程序可用性的中断,过度分配会导致有些存储空间未被使用,而且会降低容量的利用率,除此之外,过度分配还会导致获取过多的存储容量。这会导致更高的成本以及能耗。
虚拟存储资源调配允许了像应用程序呈现的容量多余在存储系统中实际分配给它的容量,物理存储从物理容量的存储之中按需分配给应用程序,这样可以减少已分配但未使用的物理存储量,从而更加高效的利用存储。存储池可以快速的动态扩充或者缩小,并维护所需的服务级别,从而实现存储资源的快速弹性以适应工作负载的变化,虚拟存储资源调配通过增加容量的利用率并简化存储管理,使服务供应商能够降低存储成本。因此,虚拟存储资源管理调配已成为绿色计算的一部分。
(2)存储池的重新平衡
在扩展存储池的时候,突然引入的新的空的驱动器与相对满载的现有驱动器结合使用会导致数据失衡,还可能会因新数据主要添加到新添加的驱动器上而导致性能受到影响。存储值的重新平衡是一项技术。那么,再将新的磁盘驱动器添加到池时,它可以自动的重新平衡整个池的物理磁盘驱动区上分配的数据区。重新平衡会在共享存储池中的所有磁盘驱动器,包括现有的和新的磁盘驱动器,在他们之间重新条带化数据,那么这允许在共享池中的所有物理磁盘驱动器上平均分配数据,确保整个池中每个磁盘驱动器的已用容量一致,并且实现更高的总体的持的性能。
(3)存储空间回收
通过虚拟的存储资源调配,运营管理员可以显著减少为应用程序过度分配存储的情况,并可基于容量的使用情况管理容量。这就允许管理员维护一个公共的未分配存储空间,其他应用程序或服务可以很方便的按需使用该存储空间。但是如果不回收已删除的数据块中的空间,即时使用虚拟存储资源调配,精简 LUN 中也可能存在未用的存储。例如,我们经常删除大型文件,而且没有将未使用的大量存储数据块从精简 LUN 回收到存储池中,在这类情形中从精简 LUN 回收未使用的空间,将有助于提高物理存储空间总体可用性。精简 LUN 的存储空间回收技术可以识别出精简 LUN 中的未用空间,并将其重新分配给存储池,可以使用多个选项来回收精简LUN上的未用空间。例:零数据回收和基于API的回收。零数据区回收方法通常在存储系统上实施,通过它可以释放或取消分配精简 LUN 中包含全零的存储数据区,这些已取消分配的数据区会重新添加到池中,从而可供其他应用程序使用;另一种方法是使用精简 LUN 存储空间回收 API ,该 API 将精简 LUN 上所有以识别出的未用空间的位置通知给存储系统,这使得存储系统能够将所有未使用的物理存储回收到池中,使其可供其他的精简 LUN 使用。
(4)自动化分层存储
自动化分层存储是一种为不同的数据类别建立不同的存储类型分层结构的一种技术。可用于将正确的数据自动存储的相应的层,以满足服务级别要求,许多应用程序都有可预测的活动高峰,而其他时间的活动会少得多。那么,理想的情况是自动存储分层解决方案既能够解决这些周期性波动,又能够解决还可能发生的无法预测的高峰。
自动存储分层有可能替代繁琐的首度存储管理,而且会使云环境大大受益。自动存储分层中的层是基于保护,性能和成本来区分的,例如:高性能的固态驱动器 SSD 可配置为第零层居住存储,用于存放频繁访问的数据,同时将低成本的 SAT 驱动器配置为第一层存储,用于存放不经常访问的数据,将频繁使用的放置数据放在 SSD 中可以改建应用程序的性能,将不经常访问的数据移至更经济的容量更高的SAT驱动器可释放高性能驱动器的存储容量,并降低总体的存储成本。例如,如果云服务的焦点是提供低成本或无成本而且不需要较高性能的存储能力,那么则可以选择使用具有较高容量或较高能效的 HDD ,那么另一方面,如果服务既要求响应时间段,又要求支持大量的活动客户,那么则 SSD 就是一个不错的选择。那么,基于所定义的分层策略在各层之间移动数据是自动分层存储常采用的方法。分层策略通常基于文件类型,访问频率等参数。例如,如果策略指明将最近30天内未访问的数据移到较低层,那么则符合此条件的文件将转移到较低层,那么不同层之间的数据移动,它既可以发生在存储阵列内部,也可以发生在存储阵列之间。
(5)缓存分层
存储系统中的大型缓存可将大量频繁访问的数据存储在缓存中,大部分的读取操作都直接从该缓存实现,因而可以提高性能。但是,在存储系统中配置大型的缓存会产生更高的成本,增加缓存大小的一个备用的方法就是在存储系统中利用 SSD 主缓存和存储系统的磁盘驱动器之间创建一个大容量的辅助缓存,这就允许在 DRAM 主缓存和 SSD辅助缓存之间进行分存,缓存分层还允许存储系统在缓存层上存储大量经常访问的数据,那么大多数的读取操作直接由高性能的分成缓存来实现。这样带来的好处,一个是可以提高工作负载高分期间的性能,而且他是无间断且对应用程序透明的。
(6)负载均衡
在虚拟机的存储资源调配过程中通常会随机的选择卷,并为这些卷上的虚拟机创建虚拟磁盘,这就可能会导致卷的过度利用或者利用不足。那如果在存储卷之间进行动态的虚拟机负载均衡,则可以在创建虚拟机期间基于虚拟机管理程序的本级SS卷或 NFS 卷上的 I/O 负载和可用存储容量以智能的方式放置虚拟机。这个技术是在用来管理虚拟化环境的集中是管理服务器上实施的,管理服务器在由多个卷组成的集群中执行持续的动态虚拟机负载均衡。这个集群的卷是一系列或者一池聚集成单个卷,而且位于虚拟机管理程序本机的SS或者是NFS的FS卷。通过它可以快速而又高效的放置虚拟机并对现有的工作负载进行负载均衡,那么,为了确保空间效率,并避免发生 I/O 瓶颈可以定义可由用户配置的空间利用率或者 I/O 延迟阈值。这些阈值通常都是在配置集群卷的期间定义的,他们可以避免发生资源瓶颈,而且可满足应用程序的服务级别。
3,网络资源管理
(1)在节点之间平衡客户端工作负载
网络资源管理可以通过控制云的网络的基础架构中的网络流量来优化云服务的性能和可用性。管理员他可以使用不同的网络资源供应商支持的若干流量管理技术。其中的一些技术允许在节点或者并行网络链接之间分配流量负载以防过度利用或未充分利用这些资源,其他技术允许将网络流量从故障网络组件自动故障切换到其他可用组件。那么,还有一些技术还可以确保其他类的帧用网络带宽的流量类实现所保证的服务级别。客户端链接通常是在一组同时处理客户端请求的节点之间的平衡。客户端工作负载的平衡服务通常由专门构建的设备,我们称作负载均衡器来提供。负载均衡器在多个节点之间分割客户端流量。负载均衡器的工作原理可能因供应商实施的不同而有不同,一个常见的一个负载均衡方法就是将负载平衡器放在节点集群和 Internet 之间,那么这样所有的客户端流量均可以通过负载均衡器。客户端使用负载均衡器的 IP 地址发送请求,此 IP 地址称作公共 IP 地址,因为它可供大众访问和使用,公共的 IP 地址对集群内所有节点的真实的 IP 地址进行抽象化,只有负载均衡器掌握着节点的专用 IP 地址,那么,由该负载平衡器决定要将每个请求转发到的位置.示例:示例当中有三台应用服务器,每台服务器有一个专用的 IP 地址。负载平衡器放在网络中的应用程序放在负载的应用程序的前面。它提供了一个可以供大众访问的 IP 地址和一个域名,那么这个地方的域名叫做 yebapp.sample.com 。当使用者法问位于这个域名的应用程序的时候,云使用者就会被定向到负载均衡器,那么随后被重新定向到这些应用程序的后端的服务器,也就是这三台服务器准则的一个。
(2)网络风暴控制
网络风暴是因 LAN 或者 VLAN 中的帧泛滥导致的,会产生过多的流量并降低网络性能,网络风暴可能是由于网络配置错误或者拒绝服务攻击所产生的.网络风暴控制技术用于防止 LUN 或者 VLAN 中的常规网络流量传输被网络风暴中断从而避免网络性能下降.如果在受支持的 LAN 交换机上启用了风暴控制。他会监视在特定的时间间隔内传入交换机端口的所有帧,交换机计算在该时间间隔内到达交换机端口的特定类型的帧的总数,随后,那么交换机将此总和与预先配置的风暴控制预值进行比较,当达到预值时交换机端口将阻止流量,并在该时间间隔结束之前将后续帧筛选掉。
(3)服务质量(QoS)
服务质量 QoS 是一种网络功能,可确定业务关键型网络流量和延迟敏感性网络流量的优先级,并为这些流量提供优于非关键流量的服务。 QoS 使应用程序获取一致服务级别的技术。例如,那么如果组织使用网络路由,路由器语音呼叫,那么就希望该数据分配高于外部电子邮件流量的优先机,几毫秒的延迟对外部或邮件流量影响很小,但可能会实时语音无法理解。Internet 工程任务组 IETF 为 QoS 定义了两种方法:集成式服务和差异化服务。那么在集成式服务中,应用程序向网络发出信号,将所需的 QoS 通知给网络组件,该信号携带了一个有关应用程序网络流量的网络带宽和可允许的延迟时间的请求,如果每个网络组件及其数据路径可以预留必须的带宽,则原来的应用程序可以开始传输.应用程序只有在收到网络的确认之后才能通过网络传输数据.对于差异化服务,它是根据每个数据包所指定的优先级,不同的网络流量获得的 QoS 可能会有所不.,网络使用所指定的优先级对流量进行划分,然后基于流量类管理网络带宽,为数据包指定的优先级可以由应用程序,交换机或路由器插入,可通过不同的方法指定优先级.例如, IP 数据包头的服务类型字段中的三个优先顺序,三个优先顺序位用于指定优先级。
(4)流量修整
流量修整限制了网络接口处的流量速率,这有助于限制低优先级网络流量的速度,从而缩短高优先级流量的延迟时间,增加可供其使用的网络带宽,为了确保满足业务关键性应用程序所需的服务级别外,他还帮助控制每个客户端或租户的流量数率,从而避免网络拥塞。流量调整可以由节点互联设备进行,流量修整允许管理员针对网络接口接口上的流量速率设置限制。如果发生了超出限制的流量,触发流量修整会将多余的数据包保留在队列中,然后计划在稍后时间传输这些多余的数据包,通过这种方式确保网络接口保持一致的流量速率并满足所需的服务级别。
(5)链路聚合
链路聚合是将两条或更多条平行并行的网络链路合并成单条的逻辑线路。这样产生的带宽就比单条链路所能提供的带宽高,通过链路聚合可以在多条链路之间分配网络流量,并且可以在链路出现故障时进行流量故障切换。如果参与聚合的某条链路中断,则该链路上的所有网络流量都将在剩余链路之间重新分配,可以对两个交换机之间的链路和一个交换机与一个节点之间的链路执行链路聚合。
(6)网络接口卡组合
这是一种链路聚合技术。它以逻辑方式对网络接口卡进行分组,使他们看上去像一个逻辑网络接口卡,他在网络接口卡之间分配网络流量,并在网络接口卡发生故障时提供流量故障切换。
(7)多路径技术
多路径技术通过在所有主动路径之间分配 I/O 来执行负载均衡。当一条或者多条主动路径出故障时,备用路径就会变成主动路径。如果主动路径出故障,多路径过程可以检测到出故障路径,将出故障的路径的 I/O 重定向到另一条主动的路径。
资源完成管控层的这个内容的学习后将会学习服务层,也就是云服务参考模型的第四层服务层的内容。