《企业私有云建设指南》一2.3 计算资源管理

举报
华章计算机 发表于 2019/06/03 20:04:27 2019/06/03
【摘要】 本书摘自《企业私有云建设指南》一书中的第二章,第2.3节,作者是孙杰 山金孝 张亮 张婷婷

       2.3 计算资源管理

       在企业IT基础设施云架构下,计算资源、存储资源、网络资源在统一的云平台管理下被封装整合成不同的资源池,以云服务的方式提供给服务使用者。
       云计算在企业的落地涉及多个方面。除了资源池管理,还有监控管理、运维管理和云服务管理,只有相关方面联动起来,才能真正让云计算在企业落到实处、发挥价值。
       下面我们通过VMware和OpenStack这两个比较常用的IaaS管理平台来看看它们在计算资源管理方面的具体技术和实现。

       2.3.1 VMware

       按照技术平台类型,计算资源池的组成可分为x86平台和非x86平台。非x86平台包含AIX小型机和HPUX等。在这里x86平台则可具体分为VMware虚拟化平台架构和x86物理服务器组成的数据集群类架构。

       1.资源池的分区

       在企业级IT基础设施环境中,为了保证风险可控以及业务安全性要求,从网络上划分了多个不同的安全区域。基础架构网络中,部署计算资源池一般有以下几个分区:
    ◆    业务生产区:运行企业各类线上生产系统。
    ◆    开发测试区:方便开发测试的各类业务测试系统。
    ◆    管理区:部署各类管理用服务器。
    ◆    物理区:部署各类数据库和不方便虚拟化的物理服务器。
    ◆    DMZ服务区:实现互联网接入及部分需要连接互联网的应用部署。

       2.资源池部署规划

       为了满足应用系统上线的需求,在相关区域中将选择不同标准的计算资源池以进行部署,部署区域和资源池类型的对应关系见表2-1。

       3.部署单元(主机和集群)

       具体来说,计算资源池(Resource Pool,RP)有两种,CPU资源池和内存资源池。

image.png

        图2-1中一台EXSi主机有36GHz CPU资源和96GB可用内存资源,并且创建了两个资源池。其中OA系统获得1/3的资源,也就是12GHz CPU资源和32GB内存资源。HR系统获得剩下的2/3的资源。

image.png

       一个集群(Cluster)的资源池包含集群中所有主机(Host)的资源总和。比如一个8主机的集群,每个主机都有32GHz CPU和64GB内存,那么这个集群的资源总和就是256GHz的CPU和512GB的内存。在这个集群中创建的资源池就从这个总的可用资源中分配。
       集群的可用资源总是小于集群的总资源,这是因为每台主机都会占用一部分CPU和内存资源,以留给自己的Hypervisor和OS使用。
       虽然集群资源池是所有主机资源的总和,但是并不意味着某一VM(虚拟机)可以使用超过某一台主机的资源。比如,两台32GB内存的主机组成集群,集群中创建了一个64GB内存的资源池,但是任何单台VM都不能使用超过32GB的内存,因为VM不能跨主机使用资源,即VM的可用资源受到单台主机物理资源上限的影响。
       另外一种情况:如果考虑VM的SWAP的话,这台大于32GB内存的VM可以被创建,也可以被运行。虽然这台VM不能跨主机使用资源,也就是它最多可以使用32GB的内存,但是别忘记它还有SWAP,因此,20GB的SWAP保证了Guest OS的运行。
       同VM一样,资源池也有份额(Shares)、预留(Reservation)和限制(Limit)这3个配置项,见图2-2与图2-3。

image.png

       ◆       限制
       资源池的限制与VM的限制类似,不同的就是这个限制是资料池中所有VM可用物理资源的上限值。
       虽然“限制”项不会限制VM的创建,但是它限定了可用物理资源,影响了资源池中运行的VM的性能。
             份额
       资源池中的资源通常通过份额来分配,有3种预设的份额分配方式:High、Normal和Low,比重分别为4∶2∶1。反映在数字上则如表2-2所示。

image.png

       比如说一个集群有5个资源池:1个High、2个Normal、2个Low。那么High资源池可以获得4/ (4+2×2+1×2) = 40%的资源,Normal资源池各可以获得20%,Low资源池各可以获得10%资源。
       资源池下可以建子资源池。资源按份额的比例分配。
       ◆       预留
       资源池的Reservation(预留)不是决定其中的VM能用多少CPU/内存资源,而是分配给VM的Reservation使用的。如果资源池的可用预留不够VM预留需要的量,VM将不能被启动,或者正在运行中的VM不能被移动到该资源池中。这种检查叫作准入控制(Admission Control)。
       比如资源池中可用内存预留是1500MB。位于该资源池中的VM1和VM2的内存预留都是1024MB,当我们启动VM1时可以正常启动,但是再启动VM2时,剩下的可用内存预留只有476MB(小于1024MB),于是VM2无法启动,用户将收到“Insuff?icient Memory Resource”的报错。
       资源池有两种类型:Fixed和Expandable。从图2-2和图2-3可以看出,CPU和内存资源都可以勾选“不受限制”(Expandable Reservation),默认是勾选的。如果手工去掉这个勾选,就可以更改为Fixed。
       Fixed类型即其中的VM的Reservation只能使用自己的预留资源,而Expandable类型就是不仅可以使用自己的预留资源,而且当资源池中的可用预留资源不够VM使用的时候,可以使用父资源池中的。
       VM开机时才会申请预留,关机时就把这部分预留还回资源池了。
       RP(资源池)预留中的内存/CPU资源并非被这个RP独占,而其他RP无法使用。如果某一个RP预留中的内存没有被用完,则其他RP的VM还是可以使用这部分内存的。
       例如,主机有3GB内存,在完全竞争下RP1获得1GB,RP2获得2GB。RP1设置了1GB的预留,但是其中没有VM。RP2中有且仅有一台VM并配置了2.5GB内存,运行一个消耗内存的程序,那么这个VM可以获得2.5GB的内存,其中0.5GB来自RP1,而无视其预留。
       但是,增加某个RP的预留就减少了其他RP可以获得的预留。
       开启一台VM所需要的物理内存,不仅与内存预留有关,也与内存开销有关。当可用内存预留小于开启一台VM的需求(等于内存预留和开销的总和)时,VM就无法启动。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。