根据百度百科的定义,私有云(Private Cloud)是为一个组织单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该组织拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。
狭义地讲,就是自己弄一套设施、实施虚拟化,通过统一接口对所有的资源进行分配、调度以及日常管理。与阿里云、腾讯云这样的公有云相比,私有云的规模小很多,没有计费模块,其他功能基本差不多。
大概是在2012—2013年的时候,笔者做了几套私有云放置在IDC机房,其中有一套印象比较深刻,具体的情况介绍如下。
所用软件如下。
● 操作系统:CentOS 5。
● 数据库:Oracle 11g。
● 管理平台:Oracle VM 3.1。
所用硬件设施如下。
● 服务器:4台DellR410,包含2块SSD固态硬盘(做成RAID 1),2颗6核心12线程CPU(共24个线程),24GB内存,双电源。
● 存储阵列:双控制器DellMD3200i,插满2.5英寸300GB 10000转SAS硬盘,共计24块(也可支持3.5英寸的15000转600GB SAS盘)。
● 交换机:两台全千兆华为可网管交换机,一台用于访问网络,一台用于数据网络(物理节点之间的通信、访问共享存储等)。
实施概况如下。
● 存储做成RAID 5,以NFS方式共享给计算节点(也可以用iSCSI方式)。
● 控制节点部署Oracle 11g数据库及管理软件VM Manager。
使用效果如下。
● Web平台统一管理计算资源,包括物理节点、网络、存储、虚拟机等(如图1-1所示)。
图1-1
● 实现了虚拟机高可用,某一物理节点故障,运行其上的虚拟机能自动漂移到其他存活的物理节点。在同一时期,笔者还为某市的智慧旅游做了一套CloudStack的云平台,同时也了解一些开源的云管理平台,甚至包括大名鼎鼎的VMware,都不能做到实例自动漂移。
存在的问题如下。
● 管理节点存在单点故障,发生故障恢复难度大。管理平台的运行在Weblogic上,加上数据库,十分笨重(启动就要数分钟)。
● 共享存储存在单点,既要考虑容量,又要考虑I/O。
随着技术的进步,市场需求的推动,私有云发展突飞猛进、今非昔比。趋势朝着去中心化、超融合、高可用的方向发展,更加注重易用性和通用性。
个人认为,只要有重要业务的场景,都可以部署到私有云上,以获得更高的可用性、更高的使用效率。
虽然当前公有云的发展很迅猛,但不是所有的机构都适合,或者都愿意把重要服务放在公共云中。组织机构的信息化,不太可能一步到位,需要分阶段建设。于是可以看到,财务系统占用一台服务器,邮件系统占用一台服务器,OA(办公室自动化)占用一台服务器……很可能这些不同的业务系统,由不同的软件服务商开发或者提供服务。看起来设备不少,但只要任意一台设备故障,与之关联的服务就无法正常提供。
在早期的信息化建设过程中,很少有人考虑系统的高可用,即便存在,也多以“一主一备”的方式部署,即一个系统运行应用(Active),另一个系统待命(Standby);还可以做成交叉方式的Active-Active,两个物理节点虽然都安装了多个应用(一般为两个,管理软件和数据库),但A机只运行应用,B机只运行数据库。这样把两个物理节点的资源都利用上了。比单独的“一主一备”,要先进一些。
组织结构自建私有云,把分散的、存在单点故障的服务迁移到云端,带来的好处显而易见,主要表现在以下几个方面:
● 消灭单点,提高可用性。不担心单个服务器硬盘损坏,就是整个物理机故障也无须担忧。
● 整合资源,提高资源利用率,降低固定投资成本。以前以数十个物理节点承载的业务,现在可能数个物理节点就够了。
● 单一管理入口,管理所有计算资源(物理节点、网络、存储、虚拟机等),降低管理成本和难度。浏览器登录,资源状态一目了然。
● 应用部署、迁移或者撤销易如反掌。创建好模版,以模版生成所需应用。不使用云平台,而使用物理机,则需要安装系统,设置网络,部署应用,非常耗时。
互联网行业适合部署私有云的场景如下。
● 内部开发测试环境,可部署到组织内部的私有云中。笔者曾经给一个做外汇服务的机构做IT咨询,主要是安全和性能方面的。一次去该公司现场沟通,顺手为对方解决了一个因上网行为管理设置不当而导致办公网络上网缓慢的问题。对方技术人员又咨询一些关于内部测试服务器的问题,带笔者进入内部机房参观。机柜里、地上乱七八糟地放了20多台台式电脑,装上CentOS用作开发及测试的服务器用,既占地方又费电,而且管理难度大。我建议他们用几台配置高的服务器,安装Proxmox VE做成集群,把开发测试环境全部迁移上来,淘汰这20多个台式电脑,不仅能节省空间,而且用服务器虚拟化代替台式电脑,能效也能提升好多。
● 与公有云互为补充。公有云并非像它所宣称的那样坚不可摧,对于完全依赖服务商的组织机构来说,一旦云端故障,除了等待别无他法。一些机构已经认识到这些的风险,通过另建机房部署私有云作为业务可用性辅助手段。2018年6月27日,到北京某金融公司一起测试六节点Proxmox VE超融合、高可用功能及使用效果,刚测试完故障自动转移功能,为模拟物理节点失效、运行在其上的虚拟机自动漂移到其他节点而兴奋,就传来了阿里云控制台不能登录的坏消息(如图1-2所示),更加快了该公司自建私有云的节奏。
● 基础设施、计算平台升级换代。老旧的、配置较低的物理服务器,需要逐步淘汰,再用传统的单机单应用的模式来补充,既不经济,也不环保,更谈不上效率和有效的资源利用。而采用自建私有云,把服务逐一迁移到云端,在经费和空间上的节省立竿见影。近期笔者正好在实施服务迁移到Proxmox VE私有云的整合,核心业务所用的服务器占用了整整两个标准机柜,据说仅机柜托管费,每个柜子每年大约就要9万元;这些设备从笔者一接手就上架运行,到现在差不多已运行了八年,虽然应用架构都是高可用的,但机器配置低、使用年限长,维护起来还是比较恼人(时不时坏个硬盘、主板啥的)。考虑到托管合同快要到期,正好趁此机会升级换代,自行部署Proxmox VE私有云,平滑迁移服务到云端,带来的最低获益,可退租一个机柜。等运行稳定之后,再置换高配服务器,可把物理服务器缩减到只占半个机柜。
图1-2
对于用户来说,有商业与开源两种方案可供选择。
商业私有云方案,分硬件派和软件派。硬件派以开源软件为核心(如OpenStack,也有用原生的Libvirt),对其进行优化、封装,与硬件一起打包出售。典型的厂商有华为、深信服、锐捷等,虽然是用开源软件进行二次开发,但其售价并不低。
软件派主要代表有VMware与Critix,前者重点目标在服务器虚拟化,后者则在桌面虚拟化占据较大的市场份额。这两家都不生产硬件。
商业私有云方案的共同点就是四个字:非常昂贵!
OpenStack是当之无愧的领先者,不光私有云采用OpenStack做管理平台,公有云也有不少使用OpenStack做二次开发和封装,对外提供服务。虽然OpenStack大名鼎鼎,但因其组件多,部署、配置复杂,一般人难以驾驭。
其他开源私有云管理平台,笔者使用过的有Apache旗下的CloudStack与本书重点介绍的Proxmox VE。Proxmox VE名气虽然不大,但非常易用,而且功能强大——去中心化集群、去中心化存储、超融合(支持各种各样的存储方式)。
Proxmox VE易于部署、便于管理,初学者按照文档,按部就班即可上手。相比于HAProxy,新手按官方文档能把服务运行起来还是有些困难的。
当然,要熟练掌握私有云技能,还有些功课是需要做的。
● 熟悉Linux操作系统,能以命令行进行各种操作,如编辑文件、查找目录及文件、配置网络、查看系统及应用日志。
● 熟悉私有云体系结构,包括硬件组成及软件组件。
● 多多实践。