OSC第 60 期高手问答 — OpenStack企业云平台架构与实践

阿娇OSC 发布于 2015/01/14 19:07
阅读 6K+
收藏 37

OSCHINA 本期高手问答(  1月 15 日- 1月 21 日)我们请来了 @清凉的西风 (张小斌)为大家解答关于OpenStack方面的问题。

@清凉的西风  张小斌:拥有15年丰富的计算机软件设计、开发和管理经验,分别于西安交通大学和中科院计算所完成本科和硕士研究生学业,现在是苏宁北京研发中心云计算研发部负责人。他曾在朗讯贝尔实验室和硅谷Terawave等公司工作多年;在HP担任解决方案架构师;在赛门铁克任主任工程师,研发存储备份软件,曾参与公司全球“Cutting Edge”技术大会并做技术报告;在北电网络、Websense、TrustGo分别担任技术经理、研发经理和研发总监职位,曾负责邮件安全、移动安全、移动互联网搜索引擎等的研发管理工作;在VMware和IBM的云计算部门负责云计算产品的架构设计和解决方案等工作。 

他现在专注于云计算的研究探索,即关注社区,更注重OpenStack在企业的实践和落地。在企业级计算、网络和存储的整体解决方案、高可用性、安全以及应用管理自动化和弹性等领域都有所拓展。作为国内早期的OpenStacker,于IBM工作期间研发基于OpenStack的企业私有云与数据中心解决方案,产品在一年中先后完成了政府机构、运营商、高校、超大型保险公司、著名网游等公司的10多起部署案例,并在公司内部进行有VDI、SED等多个合作项 目。所领导项目获得大中国区创新大赛Top12, 获得多个美国专利,并作为OpenStack香港峰会的展示项目。另外,在苏宁工作期间,负责OpenStack在苏宁落地的研发、设计、规划、项目管理、迁移等,并带领团队搭建大型多数据中心基础架构云等。在OpenStack巴黎峰会也有技术方案录取而获邀成为发言者。

OpenStack是一个开源的平台、开放的设计、开放的开发、开放的社区。它让你在商用硬件平台之上,搭建自己的IaaS,无论大小。OpenStack包括许多相关的项目,提供了各种各样的软件组件,可以非常容易地让你搭建自己的公有云或私有云平台。OpenStack项目由全球顶尖的开发者、公司和云计算技术协作,推动着开放标准的、适合公有云与私有云的云计算平台。

为了鼓励踊跃提问,@博文视点  会在问答结束后从提问者中抽取 5 名幸运会员赠予《OpenStack企业云平台架构与实践》一书。

购买链接:http://item.jd.com/11583884.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就OpenStack方面问题向@清凉的西风(张小斌)提问,请直接回帖提问。

加载中
0
晴风晓月
晴风晓月
@清凉的西风 :你好,我特别想知道OpenStack对于服务器地域分布很广,网络条件比较差的情况,适不适合?
尧尧尧
尧尧尧
[5][5][5][5]
清凉的西风
清凉的西风
所以,对于“OpenStack对于服务器地域分布很广,网络条件比较差的情况”简而言之,适合,但具体部署,一套openstack最好规划成一个region,可以用多region方式来解决这个问题。一套openstack region里,服务器并不一定非在一个网段,用DHCP中继,可以解决大规模部署问题
清凉的西风
清凉的西风
OpenStack需要管理网来通讯,通过queue发送各种消息,许多服务要访问数据库。所以搭建openstack环境,最好是一个地域(机房、数据中心)规划一个或多个region,包含完整的openstack服务。openstack代码和配置里有许多超时的设置,在网络连接不好的情况下,很容易超时。可以将这些时间调大,但如真的发生问题要等很长时间才能返回,这个结果可能大家都不可接受,特别是生产环境。
0
noday
noday
@清凉的西风 :openstack安装部署和设置对于初级用户来说有什么建议。
清凉的西风
清凉的西风
网络情况比较复杂:首先考虑是flat网络是否就够了?如果够了,用nova-network足矣。一般生产环境使用的是vlan,这个可以基于nova-manager, 但目前普遍的是用neutron;另外研究可以使用neutron,去研究下GRE/vxlan。如果确定什么网络适合,剩下的是具体的配置/起服务把他们跑起来,当然事先要准备好IP地址池,网关,vlan段等信息在手边
清凉的西风
清凉的西风
配置:初始化keystone, 包括service, admin tenant, endpoint...这些可以用RDO/DevStack装个环境看下,基本都一样;数据库,有类似于db-sync之类的脚本,可以把各个项目需要的数据库创建出来。配置文件:如果没有特殊要求,只需要把里面的mysql, rabbitmq配置需要的IP填写对即可。如果需要详细步骤,可以单独微信我,我发手工步骤给你
清凉的西风
清凉的西风
如果是初级用户,建议先用DevStack搭建单机环境,总共只有4步;搭建完毕,查看mysql,各个配置文件(/etc/xxx/xxx.conf);其次可以用RDO或者Mirantis, Mirantis Fuel刚发布6.0,但目前还有一些问题,建议用他们的5.0/5.1。唯一的有界面的openstack部署工具。
0
Sephiroth
Sephiroth

@清凉的西风 :你好

1.OpenStack适用于企业哪些业务?

2.OpenStack和VMware、KVM有哪些本质区别?

3.使用成本和团队学习成本如何?

Sephiroth
Sephiroth
回复 @清凉的西风 : 感谢给予解答!
清凉的西风
清凉的西风
关于#3:小规模环境,比如50个节点一下,搭建单控制节点,其余计算节点,用LVM,还是比较稳定的;一般可能会遇到网络问题,这需要了解neutron, openvswitch, vlan等;dhcp可能有时候分配不到IP,Nova-compute可能有时候创建不了虚机。但所有一切,除了网上有大量资料可以参考,另外只需要重启下服务,一般都足以解决问题。所以这类使用,大可放心
清凉的西风
清凉的西风
关于#3:学习成本还是比较高,因为用openstack不会是纯粹把它跑起来而已,一般都想上生产环境,这里问题来了:网络(扁平网络,vlan,GRE/vxlan, 交换机,路由器,广播/组播...), 存储(LVM, 共享存储,对象存储,块存储...), 监控,自动化部署,安全,用户管理、迁移;大型环境还有各种高可用,多region,多可用域;性能、可靠性,都需要考虑
清凉的西风
清凉的西风
关于openstack与vmware对比可参考这个文档:https://www.mirantis.com/why-mirantis/openstack-technology/comparing-vmware-and-openstack/。VMware也是openstack基金会的黄金会员
清凉的西风
清凉的西风
补充#2: openstack可以通过nova服务来管理调度vmware, 类似于一个hypervisor,这个社区已经支持。而KVM只是openstack一普通但最常用的hypervisor(其他还包括zen, docker, LXC, 裸机, Power等). 也就是一套openstack环境,可以同时管理运行KVM, Power, VMware, LXC/Docker等。
下一页
0
Soi
Soi
@清凉的西风 :您好,我想问一下,学习 openstack需要哪些储备知识?
清凉的西风
清凉的西风
一套可运行环境至少要包括keystone, nova, cinder, glance, neutron,都串起来,放到合适的物理环境(物理机,包括CPU,内存,磁盘,网口,操作系统,磁盘分区),网络(千兆、万兆、vlan,IP地址池,网关),存储(LVM, Gluster, Ceph, Swift, ...), IP地址池,网关...具体配置参数...所以还是需要先了解整体,先规划再实施
清凉的西风
清凉的西风
在书里第2.9节列举了一些知识点;其实对于具体某个项目的某个服务,因为是python代码,要读和修改代码都不难,难在于把整个都串起来,而且整个平台运行起来是期望的那样,这个是最难的。因为具体那一块都可能出问题,而且很多问题都不很直观,甚至很难定位。如果某人拿没有规范搭建的环境问我为什么不工作,我也没法回答,可能的情况太多了
0
hanky cheng
hanky cheng
@清凉的西风 :你好,我正在研究使用 Openstack 為公司建立私有雲,我個人網上爬了很多文章,對於 Openstack for multi node的解說比較少,由於OpenStack由幾個部件組成,我也不知道如何分配硬件去配合 Openstack。另外你對 Devstack 和 packstack 或 RDO 的看法如何? 如果用在 Production 環境下那套較好?還有是 OpenStack 到目前還未能提供熱升級, 級難題如何解決?
清凉的西风
清凉的西风
升级,这个比较麻烦,社区一般都支持N->N+1的升级,但考虑到比如操作系统版本变化,数据库变化,还有自行开发的如运维自动化,监控,安全加固,工作会比较多;特别如果是生产环境,那些运行的虚机不是想停就停的,而且如果比如Apache-JBoss-Mysql,分布到多个节点,IP能不能变化,那升级顾及的东西很多。
清凉的西风
清凉的西风
所以生产环境,如果需要现成好用的,可以考虑RDO, Mirantis Fuel(这个对于了解openstack的功能,非常全,而且图形化界面,说明,文档);但这些搭建基本环境,包括生产的都没有问题,万一有问题,只需要参照网上/社区,对openstack代码/配置进行调整即可,已经脱离了RDO/Mirantis的范围;里面包装的,也是社区里的OpenStack Icehouse, Juno版本
清凉的西风
清凉的西风
DevStack一般是初学/开发使用较多,适合单机环境,我觉得不适合生产环境,里面封装太厉害,需要修改时改不动;RDO可控性稍强,可以搭建多节点环境,里面而且带有基于Nagios的监控。正式环境,没有监控,就和夜间开车没有开灯一样容易翻车;但RDO,如果考虑到运维自动化,里面虽然也是封装puppet的,但也比较复杂。
清凉的西风
清凉的西风
硬件配置可参考本书第八章,但是取决于规模大小,在内存/CPU上可以调整,比如我常用的有CPU: 2*6 core, hyperthread; 128/256G 内存;控制服务和计算服务对磁盘空间要求都不大;也可以这样计算:一个虚机50G,每个节点20个虚机,就可以算出存储空间需求;块存储也可以同样计算;考虑到虚机不一定占满整个空间,可以乘以0.75
清凉的西风
清凉的西风
计算节点只运行虚拟机,可以有单独的存储服务器组成共享存储(支持热迁移,Host evacuate等),块存储等。但如果服务器是通用的(如都是128G内存,2*6core, hyperthread, 几十T的硬盘),也可以把nova-compute, cinder-volume部署于一起。
下一页
0
Inchin
Inchin
@清凉的西风 :您好,Openstack作为一个开源的云计算管理平台,目前在政府、企业尤其是没有开发运营能力的企业内取得足够的信息,用户仍然会采购各大主流厂商的Iaas,由此将带来vendor lock-in问题。在Openstack的官网主要是支持KVM,对于vcenter也是有限支持,国产IaaS基本空白。请问在构建异构IaaS的统一管理上Openstack能做哪些工作?Openstack开发者可以做哪些贡献?非常感谢!
清凉的西风
清凉的西风
关于vendor lock-in,可以看到一个变化就是vendor不再强势,更加虚心,注重服务,开源对于客户有更多vendor选择,对于客户也是个好的变化;对于vmware, power的支持社区正在推进,但基本的使用问题都已经解决,配置也相对简单好上手;国内基于云/openstack也有不少新兴公司,社区参与者也非常活跃;需要稍微给他们些时间
清凉的西风
清凉的西风
您的这个问题很大,不好回答:-). 从openstack角度,需要做的更适合企业用户,比如快速安装部署,监控,运维,安全方面。现在部署问题已经初步解决了(RDO, Mirantis Fuel,自己基于Puppet/chef), 但高可用需要自己解决;其他的社区已经关注,但这个内容实在太大,参与公司太多,还是需要假以时日
0
拼了命装可爱
拼了命装可爱
@清凉的西风 :您好,openstack目前SDN还是OVS,请问flat模式下如何组织内网broadcast storm? 
清凉的西风
清凉的西风
flat模式下阻止广播的手段不太多,这种模式就是用于小型的环境中,想隔离就要上升到3层了。可以利用二层防火墙适当减少些广播流量,比如ebtables,对虚拟机的出口流量过滤
0
noday
noday
@清凉的西风 :使用openstack搭建小的私有云需要准备些什么,网络和硬件怎么规划
清凉的西风
清凉的西风
关于“使用openstack搭建小的私有云”:选择操作系统(CentOS/Ubuntu);选择openstack版本(I/J/H);选择queue/DB(没有特殊需求,考虑用社区普遍使用的即可,可搜索openstack用户调查报告参考);如何部署(RDO/Fuel/手工);准备网段(管理/数据网);考虑那种存储(缺省LVM足够或者Gluster/Ceph);但没有把握不要用Ceph,出问题很难解决
清凉的西风
清凉的西风
第八章有“常用应用类型特性分析”,计算/存储可以先分析业务类型,是计算/网络/IO密集型,根据这些来选择硬件配置;简单环境,只有资源不是太少,也都可以运行;控制节点,小型环境可以从16/32G内存开始,硬盘从50G开始,根据规模往上调;网络本身选择余地不大,企业里可能大部分是千兆,但可能是百兆或万兆,只能适应;
0
JonL
JonL
@清凉的西风 : 我们在云项目选型中,首要考虑的是虚拟资源的调度和迁移以及虚拟化环境下的安全。调度需求主要是对宿主机负载情况进行探测,动态调整各宿主机的负载,保障客户体验。迁移需求主要为在上述动态调度,或宿主机故障的情况下虚拟机迁移。虚拟化环境下安全需求主要为不同业务属性虚拟资源的VLAN动态管理(目前还没考虑超4096VLAN限制的情况),各VLAN的IP资源分配,默认网关,防入侵等。想了解 openstack在解决上述需求中的设计方向思路。非常感谢。
JonL
JonL
回复 @清凉的西风 : 非常感谢您的回复
清凉的西风
清凉的西风
关于您说的安全,可能还有主机安全,网络攻击,入侵检测,通过KVM的攻击,这些都有一些开源工具+自行开发一些内容来解决;KVM安全HP/Symantec讲的很多。还有内部消息的安全等,这个openstack自己可以解决
清凉的西风
清凉的西风
迁移要结合监控,可通过(live)migration, (host)evacuate来实现手工/自动迁移,但自动化判断逻辑还的自己实现;另外live-migration, evacuate等需要共享存储支持,但NFS不推荐生产环境,节点数上升到10台以上性能就不好了,而且有单节点失效危险;没有共享存储带宽也要考虑;另外,迁移有的会freeze虚机,对业务影响也需要评估
清凉的西风
清凉的西风
块存储也一样,但相对手段少些;一般也不推荐超分;如果需要将虚机和块调度到同一物理机,则需要自己修改代码(但修改代码量也不多,看懂了就可以改了)
清凉的西风
清凉的西风
调度还有Strip:即根据虚机需要的计算资源平均到各个物理机; pack: 类似与省电模式,将虚机尽可能集中到少数服务器上去;还可以根据剩余的计算资源来调度;所以管理程序需要综合运用这些手段,来满足实际需要
下一页
0
AndroidMe
AndroidMe

@清凉的西风 : 您好,在使用Fuel 安装工具安装OpenStack 时,网络有 Nova-Network, Neutron GRE,Neutron VLAN 。后两种目前除官网外找不到太多资料,而看书中说 Nova-Network 以后会去除,用 Neutron 代替,同事朋友说目前在使用Nova-Network。

想知道现在搭建,建议使用 OpenStack 哪个版本,使用哪种网络模式?谢谢。

AndroidMe
AndroidMe
回复 @清凉的西风 : 谢谢你详尽的回复。
清凉的西风
清凉的西风
目前最新的是Juno版本,一般社区发布(每年4月和10月)后等两三个月,此时该版本的很多问题都已经解决,可以直接拿来用;Icehouse, Havanna版本也足够稳定,可以直接拿来用。我曾经搭建的Havanna版本,除了Dashboard里稍微改动之外,其他服务代码未动一行,运行半年也很稳定,偶尔有ovs agent丢失流表,最简单办法是重启就好了
清凉的西风
清凉的西风
Neutron-GRE/vxlan还在演进,建议新环境还是观察跟踪即可。vlan对于绝大多数企业很适合,因为vlan本身企业就在用,改动成本最低,配置也相对方便:neutron里配置queue和数据库IP地址;ovs agent里配置vlan模式,也可以配置vlan范围(缺省配置2~4095也可以);网上博客里有大量资料可以参考
清凉的西风
清凉的西风
OpenStack网络确实让人眼花缭乱。但是我个人的观点是适合自己的就好。如果扁平网络足够了,用Nova-network也可以的,说是nova-network要退役,但实际上一直存在,许多企业(包括一些早期大型环境)还在用,而且代码量并不大;许多企业里neutron-vlan也足够了。没有太多企业会超出4096的范围。
返回顶部
顶部