1.1.2 云计算操作系统
云计算操作系统是云平台的核心,其中常见的开源版本是OpenStack,当一些企业需要对大量服务器进行虚拟化时会选择它。但是它能够管理的服务器的数量有限,满足企业定制化需求的能力弱,需要一支专业技术团队来维护,因此在主流云计算厂商中鲜有选用OpenStack来架构的。
大多数云平台采用基于Linux内核提供核心资源虚拟化方案的KVM技术,KVM的核心工作就是提供计算资源的虚拟化支持,上层通过libvirt来管理KVM虚拟化后的资源,与用户触发的操作API进行对接。在KVM之上再增加分布式存储虚拟化、网络虚拟化和资源调度管理的功能,逐步形成稳定可靠的云计算操作系统。
提示
云计算操作系统(Cloud Computing OS)应具备以下三种功能:
1.基于基础设施对服务器进行虚拟化、分布式存储虚拟化、网络虚拟化;
2.为上层应用提供标准统一的访问接口;
3.对资源与服务进行统一调度、对资源与服务进行监控、提供安全管理的能力。
在云计算中将基础设施的数据中心封装成了可用区(Available Zone,AZ),部署云计算操作系统并进行统一资源调度的一个或多个数据中心称为一个可用区。同一个城市或相距几十公里以内的一个或多个可用区共同组成了地域(Region)。反过来说,云服务商一般在全球能提供几十个地域(通常每个地域对应一个城市),每个地域中包含1个或多个可用区(用户创建云资源时的最小可选范围),每个可用区由一个或多个物理数据中心构成(物理数据中心是物理概念,对普通用户不可见,托管服务器等场景的用户则对其有部分管理权限)。
同地域的不同可用区采用独立的“风火水电”,防止因为电力、空调降温、网络出口等因素造成可用区级别的单点故障,可用区内的风险都会被隔离在有限的范围内。同地域的可用区之间的物理距离在几十公里以内,并且默认通过光纤连通,具有较低的网络延迟(约1~2ms)。通过可用区既隔离了风险,又降低了数据连通的延迟。