Openstack 实践:开放的艾普云

来源:互联网 发布:易辅客栈模块源码 编辑:程序博客网 时间:2024/06/08 04:52

Openstack 实践:开放的艾普云


近日,在Openstack中国社区(www.openstack.org.cn)负责人王达夫博士指导下,由我负责的云团队(成都-子凡,romizhang1968@gmail.com; alex,chenyan,xukun) 负责实施的基于Openstack的艾普云-云服务器功能及云门户软件部分(www.ip66yun.cn),已完成了以Openstack社区内专业人员的线上测试,系统运行良好,从系统进入测试期至今,系统已正常运行半年多的时间,目前正在系统待机上线。在云建设过程中,我得到了社区内专家北京-YZ,北京-陈沙克、上海-梁博、IBM-龚永胜、Cisco-卓超的支持与帮助,在此表示感谢!


由于国内很多关注开源云系统的企业或个人都对Openstack能否用于7x24小时的生产环境缺少更多参考,因此,本着COSUG社区的“一起分享、共同成长”的原则,特将我们在实施艾普云系统过程中的相关信息公布出来,以资社区内或国内其它用户参考,不足之处亦希望得到社区的指导与帮助.


云系统的构成与功能

艾普云由四川省艾普网络股份有限公司(www.ip66.com)投资建设,由验证环境与生产环境两套系统构成。

艾普云主要由验证环境与生产环境两套系统构成:

  验证环境:作为生产系统的镜像系统,用以软件开发测试、生产系统故障及解决方案测试以及Openstack新版本、新功能测试平台。

  生产环境:用以对用户提供以云服务器、云存贮以及云应用等主体功能服务,降低用户的IT成本的同时,提高用户IT对市场业务开拓的的快速支撑及响应能力

艾普云将主要由以下几部分主体功能构成,并渐进开发:

  云服务器功能:

    虚拟机功能:用于用户创建并运行虚拟机,并管理自身的租户、主机、网络、防火墙

    快照功能:用于用户随时备份虚拟机的运行环境,并可以选择从不同的快照启动;

    镜像上传与下载:用户可以将云中运行的虚拟机镜像下载到企业内部运行或将企业内部的虚拟机镜像上传到云系统内部运行,充分体现Openstack开放云“不锁定客户,能进能出”的系统特色

    卷功能:用于用户在线增加云服务器硬盘数量,扩充服务器存贮空间

  云存贮功能:一份数据至少同时备份到三台不同的硬件存贮服务器中,数据丢失可能性接近于零:

    云服务器数据在线备份:云用户可以将云中的服务器关键数据备份到云存贮系统

    数据灾备功能:云用户可以购买一定的云存贮空间,将企业的重要数据备份至云存贮系统之中

云应用功能

  云应用运营商可以将各类OA、CRM、ERP、营销、财务等各类应用软件放至云平台上,供云用户选择

 

云生产系统(www.ip66yun.cn)

生产系统目前基于E版结合了其它的技术实现高可用性容错布署,意即核心系统任一台服务器、交换机出现硬件问题,云系统仍能正常运行;后期将根据G、H等更新版本的成熟度渐进升级。现将实现模式及要点揭示如下,以资国内其它用户参考:

1. 系统采用E版的multihost network + VLAN模式布署:

  a) 可顺序扩充支持至4000个左右的租户,每个租户内部提供一个C段的内部IP地址,并以vlan隔离,租户内可创建100-200台左右的私有云服务器;

  b) 在少量修改代码后,每个租户间的fixed_ip内网完全隔离,避免了某一租户从内部发起对其它租户系统的攻击。

2. 系统服务与网络的冗余模式布署

  a)控制节点与计算节点均以双网络通道与控制网络连接;

  b) 系统的控制节点服务均采用双机主备模式处理,弥补了Openstack系统原始设计中控制服务均为单点的不足,确保某一服务器硬件出现问题时,不影响系统的正常运作;

3. 系统设计中,采用云公共Firewall/NAT+计算节点服务器的方案:

  a) Openstack系统原始设计中,计算节点服务器将直接裸露到互联网上,运行在其内的虚拟机则通过floating 公网IP直接与互联网连接;这种模式下,云系统将承受着来自互联网的直接安全风险

  b) 艾普云系统的设计是,通过一个或多个公共的高性能云firewall/NAT设备将内部的计算节点服务器与互联网隔离,不允许互联网直接接触到云内部的计算节点服务器;内部每台虚拟机则采用单一Fixed_IP的方案(不分配floating IP),即每台云服务器在系统内部只有一个IP地址,内部IP通过中央强大的Firewall/NAT完成内外网IP映射,从而对外提供业务,这样做的益处是:

     i. 实现两层防火墙机制:除了云用户本身可以设置虚拟机的软件防火墙外,当用户准备对外提供业务时,艾普云管理员再单独在云系统的硬件防火墙上为用户打开指定的业务端口。因为通常情况下,云用户对复杂的防火墙端口设置均达不到专业水准,难免有漏洞,因此,艾普云两层防火墙机制可有效地避免因用户对防火墙设置不完整而带来的安全风险;

    ii. 有效地节约公网IP地址:IP地址不足是国内所有运营商面临的大问题,NAT+私有IP地址模式再配合IP地址共享技术,可有效地利用已有的公网IP地址资源,并满足客户业务及云系统本身的日志要求;

    iii. 满足中国法律要求:中国法律要求对公网IP地址的使用必须备案,如果直接采用Openstack 的floating IP技术,用户在备案前即可自由获得IP地址的话,则与国内法律相违;当然,使用NAT+私网IP地址方法的不足是,用户无法即时获得公网IP地址以迅速开通对外服务,需要向云运营商技术人员申请开通,需要消耗一定的时间,但这是技术与法律间的妥协方案。

4. 系统设计中,云服务器的管理通道独立于业务通道,极大地提高了云系统的安全性:

  a) Openstack 原始设计中,租户管理云服务器需要通过业务通道进行,意即业务通道必须开放虚拟机的管理端口,虽然linux类服务器可以使用RSA key的方法登录以提高管理安全性,但对很多windows服务器用户来说,通过业务通道直接管理服务器,将承担很大的安全风险;

  b) 在艾普云的设计中,我们将管理通道与云服务器的业务通道拆开,意即云用户管理服务器时,走的是单独的管理通道,而此通道由专业SSL VPN硬件构成,只有先通过SSL VPN的用户身份验证后,云用户才能够访问到与其租户相关的云服务器IP地址;而在业务通道中,只打开用户指定的业务端口,linux/windows服务器的管理端口则封闭。

5. 系统设计中,用户数据采用分散存贮模式,即云服务器数据存贮于计算节点服务器本身的硬盘组上。

 

a)   相对于中央存贮亦存在的双机冗余、网络性能而带来的高昂布署成本而言,分散存贮模式则是可靠性、性能与成本间的折中方案。艾普云为云用户提供二种数据可靠级别:Raid5+2与Raid10+2:

b)  普通的业务应用以Raid5+2为基础,这一类业务多是网站、邮件、办公等业务;

c)  对金融类等关键业务提供Raid10+2服务,这一类业务多是数据库、ERP、财务管理等业务;

d)  对数据库类高I/O要求的应用,艾普云将提供基于SSD的计算服务器来满足要求;

e)  为确保出现无法预知的灾难性后果,艾普云将自动离线备份所有的云服务器数据;

f)  注:目前首期投入线上测试的系统均为Raid5+2配置。

6. 云门户软件:云门户软件目前主要实现云服务器的功能,其特点如下:

软件架构:

a)      基于Python

b)      大容量可伸缩web请求并发处理架构

c)      确保Openstack API 稳定工作的异步架构

d)      支持多Openstack 区域的软件架构

主要功能包括:

  a) 云用户自由注册、下单定购云服务器;

  b) 云用户可以自由定义防火墙规则、生成RSA管理Key、选择镜像创建服务器、重启、重装服务器等功能;

  c) 云用户可以通过SSL VPN或云门户web界面对服务器进行管理;

  d) 采用二级验证机制确保云用户Web界面操作服务器动作的合理性;

  e) 将进一步在云系统硬件条件具备的前提下,提供用户创建快照、上传及下载快照/镜像的能力;

  e) 将进一步在云系统硬件条件具备的前提下,将提供卷功能,允许用户在线扩充硬盘;

  f) 将在云系统升级至G、H等版本后增加用户对网络的操纵能力,即用户可以在云中规划各自的网络,比如创建vlan,IP,Router等。

e)  EC2接口、云存贮、云应用等功能将渐近开发;

f)       计费模式采用预付费的时段制,后期考虑采用计时制。

 

7. 生产环境中不完全提供的功能:

  a) 艾普云生产系统中并没有提供卷服务,原因是E版的卷服务达不到生产环境的稳定性的要求,将进一步考查在G、H版中的Cinder服务的表现;

  b) 有限的快照/镜像上传与下载功能支持,用户需要此方面的操作时,需要与艾普云的管理人员进一步联系以获得支持;

  c) 云存贮功能正在建设之中。

 


试用测试情况:

资源临界满载测试:

艾普云邀请了Openstack 社区大约130名对Openstack比较熟悉的专业人员,共计160台云服务器进行了试运行测试,系统运行比我们想像的稳定,由于测试之初我们没有限制虚拟机的资源,系统中出现了很多32G内存的、8核CPU的虚拟机,直接至将系统的第一期试运行环境资源耗尽,意即出现满载的情况。此时,后续虚拟机无法创建成功,但在清除了多占资源的虚拟机后,再次创建虚拟机,系统仍工作正常。

同一时间大并发创建虚拟机测试:

在我们内部的自测中,我们同时向API发出创建占整个系统资源所能支持的95%数量的虚拟机,系统表现很正常,没有我们想像中的某种问题发生。

无法测试的情形:

系统满载数量虚拟机以重负载运行的系统表现如何,目前未经过充分测试,Openstack技术爱好者可以找机会做更多测试。

 

测试小结:

Openstack虽然是开源软件,但稳定性我认为可以满足商用要求,毕竟其底层是已经经过证明的linux与KVM虚拟化技术。随着更新的G、H等后续版本的提供,除了增加了周边的辅助功能外,核心的计算功能会更加稳定。艾普云从测试开始至今已过半年的时间,系统运转经过了考验。

 

Openstack 的应用辩板与探讨


在实施云系统过程中,有以下几点考虑,供参考:

  1. 企业或运营商在享受使用Openstack建设低成本的公有云或私有云的同时,亦需要面对Openstack系统本身的复杂性,需要一个专业的技术团队提供咨询设计、安装实施以及运行维护服务;

  2. 在强有力的技术服务团队支持下,Openstack 可以与Vmware,Citrix 等商业系统软件媲美,TCO远远低于商业软件,值得企业私有云尝试;

  3. Openstack 不同于以往的开源、开放的软件之处是,它是由Openstack基金会提供支撑,在专业技术委员会领导下采用社区开发机制的开放软件,技术支持与未来发展均有可靠保障,国内运营商大可不必过于担心Openstack的未来;

  4. Openstack 系统本身提供的虚拟机安全机制,使得云运营方都没有能力获得对系统中云服务器的管理特权,用户对云系统中运行的虚拟机中的数据是否会泄露的担心完全是多余的,这一由全球80多个国家,在Openstack基金会技术委员会领导下的,由数千个开发人员参与开发的开放云平台如同linux一样经得起检验;

  5. Openstack可以满足许多传统IDC运营商的主机托管业务,使用Openstack 系统替代传统的硬件主机托管业务,对客户与运营商来说成本均降低,是一个双赢的技术选择;

  6. ……


小结

        我们的实践表明,基于Openstack系统的、开放的云系统相较于其它采用封闭技术的云系统来说,用户不会受到云服务商的技术限制而出现“只能进无法出”的被云运营锁定的情况,而是可以自由地上传镜像或下载镜像,意即企业小时可以将服务器在云中运行,企业成长大时,可以将云中运行的服务器移出来;同时,在Openstack 基金会技术委员会的领导下,采用社区开发机制,由全球数千人参与开发的云系统软件成熟度也在不断提高,通过使用周边技术强化,Openstack基本上已可满足生产类系统的7x24小时运行要求;另外,由于Openstack基于linux环境运行的开放性,使得专注于此的相关技术人员有足够的办法找到提高可靠性、安全性的补充方案。

        我们相信,Openstack 云系统将能为企业节省大量的IT投资,帮助企业降低成本;同时,云系统本身对业务需求响应的速度与灵活性也比传统IT 技术更优异,也使用企业IT部门能够更好地为企业经营提供更好的保障。