说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

基于OpenStack的私有云开发部署实践

HTML文档下载 WORD文档下载 PDF文档下载
OpenStack作为目前十分主流的私有云平台,已经被很多组织应用于其内部。本文邀请了来自五八同城公司的高级云计算工程师赵龙,分享了他在企业内部设计、构建以及运维整个OpenStack系统的经验。

【编者按】OpenStack作为目前十分主流的私有云平台,已经被很多组织应用于其内部,提升其内部 IT 基础架构运行和管理的效率。对于很多入门的OpenStack 初学者来说,官方的标准文档已经很难满足他们在学习和实验过程中遇到的问题。本文是来自五八同城公司的高级云计算工程师赵龙,分享了他在企业内部设计、构建以及运维整个OpenStack 系统的经验,让更多希望能够了解和使用这个优秀的云计算平台的技术人员可以更有效地获得最有实用价值的信息。

文中简要介绍了OpenStack 在私有云平台中的一个应用,基于OpenStack 实现了企业内部的虚拟机资源分配管理平台。同时给出了一个OpenStack 企业级的云平台部署方案,在存储和网络上的探索和性能优化使得OpenStack 较好地满足了企业对外提供Web服务的需要。(阅读原文)


随着互联网技术的飞速发展和广泛应用,互联网公司对于产品迭代和技术升级的要求都更为迫切。相应地,研发测试人员对于机器的使用需求量也上了一个台阶。传统的虚拟化解决方案存在大量的问题和弊端,已经无法满足企业内部用户按需取用虚拟机资源的需求,运维人员和开发测试人员在虚拟机的使用管理上存在着很大的耦合性和关联性。探索更为自动化、快捷的虚拟资源使用分配方式已经成为无法回避的问题。

经过充分调研需求,我们在企业内部实现了一套基于 OpenStack 的虚拟机资源管理平台(VMMS),能够动态、实时地响应全公司开发测试人员申请、续借和其他日常使用虚拟机的请求。系统的架构设计如下所示:

图 1.系统架构图

用户通过客户端请求虚拟机时,VMMS 虚拟机资源管理系统会立即响应用户的请求,按照用户的具体需求分配一台配置合理的虚拟机。通过维护一个动态变化的虚拟机资源池空间,对于虚拟机资源的各种请求做到了秒级响应。而且,为了保证虚拟机资源的动态伸缩,系统中还加入了时间管理模块;另外,虚拟机的正常运行工作通过状态管理模块来负责。全部的虚拟机资源都是通过底层的 OpenStack 云平台提供,VMMS Server 以一定频率和 OpenStack 云平台进行通信,保证资源的可用性和请求的及时响应。

VMMS的设计哲学是在平台硬件资源有限的前提下,优先满足用户对虚拟机的各种操作需求,保证虚拟机资源平台的可用性和稳定性,对用户的申请操作和虚拟机资源配额、资源池大小都做了强限制。具体来说,VMMS 的开发管理策略主要体现在以下几方面:

虚拟机配置策略

58 同城是为用户提供本地生活信息的平台,主要提供覆盖广泛、定位精准的各类 Web 服务。使用虚拟资源的用户因为业务和具体场景的不同,对虚拟机的需求也不尽相同。应对普通的 Web 服务开发测试,例如快速接口调整、嵌入新的管理推广模块、页面样式变更等灵动项目的调整与测试,使用接近 PC 机配置的虚拟机就可以达到较好的响应效果,必要时可以通过横向增加机器数量的方法应对业务大规模推广测试和版本迭代;应对核心业务线的优化和部分基础服务就需要使用高配置的机器,这类业务大都具有 CPU 密集型和内存密集型的特点。典型的场景有信息管理中心索引重建、Redis 集群测试等,都需要分配多核 CPU 高内存配置的虚拟机。我们将虚拟机用户的潜在需求大致分为几类,并为之相应准备了配置适宜的虚拟机镜像和云主机类型。用户在申请时,只需要在用途和欲申请虚拟机配置标注,提单后系统就会匹配相应的虚拟机给用户使用。另外,还在部分镜像加入了集中配置和测试部署环境打通的相关配置,有利于减少用户重复配置安装的工作量。

请求响应策略

为了从根本上改善过去虚拟化服务资源分配效率低下的问题,VMMS 系统会在用户操作请求提交后瞬间响应用户的申请。这是基于一个自适应变化的虚拟机资源池实现的。系统初始化时会创建 n 台虚拟机作为原始虚拟机资源池,用户申请后资源分配模块会从已有资源中匹配然后响应用户,系统在后台会根据虚拟机申请周期和频率从全局上调整补全虚拟机资源的速度。VMMS 系统在平台总虚拟机数量 m 和当前维持可用的虚拟机数量 n 都做了一定的限制,为的是保证对虚拟机资源分配平台负载的有效控制。在局部时间内如果用户申请虚拟机操作的并发量超过了设定的阈值,系统会根据并发量调整 m 至 1.5 倍或 2 倍不等。相应地,资源池虚拟机数量 n 也得到了提升,优先保证用户正常进行各种虚拟机请求操作。在用户申请虚拟机操作请求频率回落后,VMMS 会再次将 m 和 n 的值收敛到正常范围。

资源控制策略

私有云平台受限于规模,所能够使用的硬件资源比较有限。为了及时有效地回收不在使用状态的虚拟机,VMMS 系统的时间管理模块会根据每台虚拟机的初始申请周期对在用虚拟机列表中机器进行定时扫描。查找到虚拟机使用周期已到而用户并没有后续的续借行为,系统会自动回收该虚拟机,释放物理资源。用户在申请虚拟机时有虚拟机重要性的可选字段,可根据业务和场景的具体情况给出重要性数值。针对工作数据和日志信息比较关键的虚拟机实例,如果到达指定时间还未收到续借请求,VMMS 会首先对虚拟机做停机处理,告知用户需要续借,没有后续操作的话虚拟机会在三天内回收。

虚拟机稳定性策略

状态管理模块会定时扫描每台在用虚拟机的状态,对不处于可工作状态的虚拟机首先尝试恢复,不成功则启用虚拟机重建和迁移策略来保证虚拟机的可用性。

虚拟机生成策略

为了减少人为干预,虚拟机的生成采用了完全自动化的策略。虚拟机从启动到划分所属网络、绑定浮动 IP、修改初始密码到进行业务上的初始化部署做到了完全借助系统本身流程进行。

借助 VMMS 虚拟机资源管理平台,开发测试人员能够自由便捷地按需取用虚拟机,在业务开发与测试环境的准备工作上提高了效率。VMMS 响应用户的各类虚拟机请求操作达到了每天上百次,简化了传统虚拟化解决方案下用户提单、运维审批,创建虚拟机再交付用户使用的流程,在无需人干预的情况下取得了较过去投入大量运维人力更好的体验;虚拟机的使用迭代周期相比过去大大缩短,每隔 10-15 天虚拟机资源池中的机器就会完整更新一遍,用户随用随取、不用归还,避免了资源的长期占有和浪费;在相同的硬件资源条件下能够管理和提供的虚拟机数量也较过去有了大幅提升。

OpenStack 云平台部署方案介绍

在实现了公司内部供开发测试人员使用的私有云平台后,需要将目光转向公司 Web 服务的虚拟化实现上来。与之对应,就需要部署一套企业级的 OpenStack 云平台环境。

网络方面根据平台需要,分别采用了 vlan 和 flatDHCP 模式,以项目为单位作为租户,进行网络的规划和设计;实现了多网络节点的 OpenStack 环境,保证了网络服务的高可用性。

存储上针对业务的访问特点,实现了基于本地存储、NFS 共享存储和 glusterfs 分布式文件系统共享存储的混合存储方案。将虚拟机的 disk 文件存储在宿主机本地硬盘上,数据盘即工作区间挂载分布式共享存储的卷。

方案上针对企业级生产环境可能遇到的问题实现了虚拟机在线迁移和物理机宕机迁移等功能。虚拟机在线迁移做到对用户基本透明,迁移过程不影响业务运行;物理机宕机迁移做到了虚拟机所在宿主机宕机后(硬盘损毁,网络不通,电源中断)能够在分钟级内迅速恢复虚拟机的正常使用,将由环境问题导致的事故风险降到最低。

经过实践和线上环境的使用统计,基于 OpenStack 的虚拟化解决方案相对于传统的虚拟化解决方案在主要性能上有了明显提升,下图是性能对比:


图 2.性能对比

高可用配置与平台性能优化

OpenStack 云管理平台部署后,在存储和扩展性上还存在诸多问题。例如,虚拟机的操作系统永久损毁或者宕机后,如何快速恢复虚拟机运行对外提供服务,业务负载高了以后如何在很短的时间内添加物理节点均衡线上压力,如何保证存储的 I/O 性能,避免操作系统 I/O 和数据业务 I/O 争夺资源。针对以上问题,做了以下几方面的高可用配置和优化工作:

  • 虚拟机在线迁移和物理机宕机迁移实现;
  • glusterfs 支持的分布式块存储功能实现;
  • OpenStack 本地仓库的搭建。

虚拟机在线迁移和物理机宕机迁移

基于NFS 共享存储的配置部署

  • 在存储集群上安装 NFS 服务;
  • 计算节点挂载 NFS 服务器的目录;
  • 配置计算节点使其能够免密码 ssh 登录;
  • 修改 nova.conf 文件;
  • 配置 libvirt 的相关文件;
  • 添加 iptables 的相关规则。

部署过程中需要注意一些细节:

1. 挂载点是有要求的,一定要挂载在 nova.conf 配置文件中指向的 instances 创建目录下。各计算节点上,这个路径要完全一样,通常情况下可以使用默认路径/var/lib/nova/instances。如果 NFS 的客户端即计算节点没有选择这个挂载点,也可以顺利创建虚拟机,但是迁移时会发生错误。

2. 确保计算节点有挂载目录的执行和查找权限。

chmod o+x /var/lib/nova/instances

3. 修改 nova 和 libvirt 的配置,使 vncserver 监听 0.0.0.0 而不是计算节点的 IP;同时设置 libvirt 监听 tcp。

更改以下配置项的值:

listen_tls=0listen_tcp=1auth_tcp="none"

4. 在计算节点添加 iptables 规则,确保试图途径 16509 端口的 TCP 连接可以顺利通过。16509 端口是 libvirt 专门用于虚拟机迁移的端口,在线迁移依赖于共享存储和 libvirt 工具在线迁移的配置。在各宿主机上添加如下的 iptables 规则:

iptables -I INPUT 3 -p tcp --dport 16509 -j ACCEPTiptables -I OUTPUT 3 -p tcp --dport 16509 -j ACCEPT

未完>>>关于OpenStack本地仓库搭建方法的更多精彩内容,请移步 IBM developerworks 查看

(责编/夏梦竹)

Android开发网将推出每天一类专题 ExifInterface使用,Android 2.0新增类 GraphableButton类实现Android UI开发 Android控件开发之ToggleButton原理 Android标题栏TitleBar全攻略 AsyncTask实例代码演示Android异步任务 重绘TextView类演示Android的Handler Android的SoundPool类使用与利弊 AsyncTask解决Android UI堵塞问题 Android自定义View实例AnalogClock源码 Android UI开发专题(五) Bitmap和Canvas实例 Android UI开发专题(四) View自绘控件 Android UI开发专题(三) 各种Drawable 提高Android开发效率-Eclipse快捷键大全 Android UI开发专题(二) 之绘图基础 Android UI开发专题(一) 之界面设计 Only the original thread that created a view hierarchy can touch its views的相关 Android上的Back键事件捕获 Android蓝牙API之BluetoothSocket类(2) Android蓝牙API之BluetoothSocket类 Android蓝牙API之BluetoothAdapter类(1) Android蓝牙API之BluetoothAdapter类(2) AndroidManifest.xml文件剖析 (三) AndroidManifest.xml文件剖析 (二) AndroidManifest.xml文件剖析 (一) MOTODEV初体验,高效Android开发工具 Simple让BASIC语言编写Android程序 MOTODev试用报告- Android开发效率之源 安装MOTODEV Studio for Android版方法 Android开发工具-motoDEV studio介绍 Android过后Chrome OS又是如何开发? 求助:这样定时运行SQL语句?? help!关于FTP! 甘肃办证要400元 那里能玩四国军棋,除了联众 大家帮忙看一下这个脚本错误! 如何控制 usb disk 弹出和刷新。 怎么保存到数据库中(在线等,马上送分) 我使用CListCtrl的REPORT风格,怎样对报表中的数据进行编辑? 我晕,http://127.0.0.1/index.php?page=3 传不了数据!!!HELP!!HELP!! 关于对ACCESS操作(VB6.0)时,出现乱码的问题???(急!!!) 征求数据库设计方案 sql语句 请大家看看为什么事件函数不能执行? 关于表关联 救命啊,使用FTP的问题! CSS中怎样设置字体的加粗? 我想把菜单可以拖动,就象office的菜单那样,要怎么做呀,谢谢 80分求救 C++Builder开发程序登录问题? 请问GridBagConstraints(有源码) 如何动态更换列表控件前面的小图标? 关于记录修改 用sdk编程怎样加入toolbar? table里的查询字段为什么不会显示数据? c#与interbase请教 C语言的大小问题都在这里面? 不要编译,你猜猜这个程序会有几个类型匹配的警告? 不要编译,你猜猜这个程序会有几个类型匹配的警告? 高分解问,请教高手!关天GIS! 如何判断窗体中的某个控件是textbox控件?或判断窗体中textbox的个数? 如何调用返回不定字段个数的存储过程 那里能找到rational rose 有关FORM与ACCESS数据库的连接 如何使用photoshop把图像缩小到指定大小? 关于某种文件关联的问题 为什么用net send发送的消息有关不掉,点了好多次确定也没用。 怎么保存到数据库中?急急急! 电脑出问题了。 tomcat4.01+apache2.046组合问题:单个的都能运行,...可以加分.. %u的问题 如何调整对话框上工具栏的状态 关于query控件的一个问题 如何结束一个线程? FastReport怎么将没有记录的地方也画上格子??? 我的oracle9装上去之后怎么有7。2G那么大??并且还连不上MANAGEMENT SERVER只能独立启动??请指教!! Fastreport与quickreport那个更好用? 进者有分. 强烈要求铲除全国所有的收容所!!! 要用什么软件才能将CMOS参数备份到某个文件夹中? 请问怎么在建表代码里定义关键字? 请问把数据写入ListView控件内,有什么办法可以快点? win2k server dns 求助! 文件保存的三要素是什么? 我想知道地球离太阳具体有多远? 在一个正方形中画一个最大的圆,已知正方形的面积与圆面积相差86平方厘米,求正方形的面积 给我一个支点,我就翘起地球.这句话的意思是什么你是怎么理解的? 什么叫做“相对论”?相对论是讲什么的? 相对论主要讲了什么? “给我一个支点,我会撬动地球. 452.75的十六次方乘以π 尼比鲁手机摄像头是索尼的吗 伤感Q名 短一点的,开头带单词,结尾带符号,要有 俨 字.急用,顺便,再取一个 带有 偌 的Q名,要唯美的.好的也会加分 光滑水平面上的两球做相向运动,发生正碰后两球均变为静止,判定碰撞前两球动量一定相等? 如何观测尼比鲁 "给我一个支点,我能支起整个世界."谁说的?意思是什么? 网络三要素是什么? 求作文向往高地的写作思路如题 茅塞顿开的意思!急用! SEO三要素写作时, 初二作文 《高地》600字 谢谢啦~~~ 9分4除去24等于多少? 出师表中的“为” 一词多义1.俱为一体2.若有作奸犯科及为忠善者3.众议举宠为督 《高地》 是哪区的作文题目2010某区语文作文题目 9 9 9 9如何等于24 作匀速圆周运动的物体运动一周后回到原处,这一周期内物体 (A) 动量守恒,合外力为零.(B) 动量守恒,合外力作匀速圆周运动的物体运动一周后回到原处,这一周期内物体(A) 动量守恒,合外力为零 有关重金属离子特征波长的问题最近导师让查几种重金属离子对应的特征波长,您帮我解释一下这个特征波长指的是什么吗?是与光的共振波长吗?哪里可以查到?比较急,请指教! 《越中览古》与《苏台览古》在表现手法上有何异同?主题有何相同? 存在阻力时,动量守恒吗 广告上说的,该不该相信?为什么?口语交际!广告上说的,该不该相信?为什么 找寻梦想的支点不知道市长咋想的,还搞什么征文,有关实践教育基地的感想帮忙想个题目嘛~急 请问,一支船的船头有水,用抽水机抽水并把水往河中送(向后),根据动量守恒,船一直向前运动.要是把水抽到船尾(船上)呢,是先船要向前运动,水碰到船尾呢,是要回到原来的位置(没有抽 请选择你熟悉的一种文化,从历史、艺术、名胜、民俗民居等角度设计一则广告语,并说明创意.广告语: 创意 谁会写“找寻梦想的支点的征文” 辩论赛. 才比德更重要的陈述、就是论点以及论据 请用哲学角度说明为什么要相信自己,相信他人? 1500字的作文怎么写啊,是关于寻找梦想的支点的作文 相对论主要说的是什么 谁知道详细的2009年3月的天文现象预测? 寻找梦想的支点 征文1500字怎么写能帮忙找点材料 或写些文章吗? 辩论赛 我方是近期目标比远大理想重要 100分跪求一辩陈述立论陈述立论2分钟~大约100字以上了吧. 地球对物体每一个点都吸引那么为什么可以把它的重力等效且集中在重心上呢?那这样的话是不是每一个点都可以看作为重心呢 太阳系有没有第十大行星 雅思作文开头有技巧:如何写好作文的三要素 世界上先有鸡还是单 盼望是什么意思 小电影是什么意思 有癌症的人吐那些口痰会不会传染给别人? 13 行星在什么情况下可以连成一线?多长时间出现一次?出现这种情况对地球有什么影响?会出现什么现象?是吉是凶? 请问“小电影”是什么意思? 太阳系内有一科未知行星正在告诉朝太阳飞来,人称尼比鲁,是真的吗,有谁知道,急! 如题 英语作文成为老师 相对论讲的什么 这个重力怎么分解求帮忙T.T- -为什么没法插入图片。 有十三颗行星排成一条直线的事吗?多少年一次? 如图所示,弹簧测力计的示数是10N,拉力F=4N,物体重G=10N,说法正确的是A物体G所受的合力是6NB物体G对支持面的压力是6NC滑轮的重力是2ND当弹簧测力计的示数是22N,物体G只受两个力请每个选项分析 作文的三要素是什么? 酸+ 什么氧化物→盐+什么 例如: 孤舞独影是什么意思 任何文件的保存必须都提供的三要素是哪三要素? 2012年世界末日是真的吗?我怕怕!1 在弹簧测力计下挂一实心物体,弹簧测力计的示数是10N,如果把浸没在水中,物体静止时弹簧测力计的示数变为2N,则该物体的密度 中美就推动朝鲜半岛无核化和重启六方会俄圣彼得堡将遭强飓风袭击 涅瓦河水位日本一办公室里种大麻盈利逾千万日元 美国14名男子因向未成年人传播色情图德联邦议院将召开特别会议商讨美监听事美一独臂独腿男勇闯火海协助救出两名儿美国14名男子因向未成年人传播色情图泰国美白产品广告被批有种族歧视之嫌已日本研发“织女”机器人助人感受与亲友美16岁少年因被没收手机心生不满将母黎巴嫩毒品走私严重 被指可能用于资助国际奥委会主席称赞索契为冬奥会准备工美国一男子被误判坐牢20余年后被释放法媒称索马里“青年党”一头目被美国无新加坡突查检查起重机安全 90家公司美气象学家发现预知高热天气方法 可提英国夫妇靠生孩子领社会福利 已生9名安倍访问土耳其 称日援建地铁象征日土美一父亲因将1岁幼儿独自留在家中遭到调查称法国火葬增加致扫墓鲜花减少影响分析称纽约需50亿美元修复因飓风毁坏柯文哲妻子办“脸书粉丝见面会” 只来昆明为一线执法执勤警察配发枪支广东高州塌桥曾被勒令停工 坍塌或因赶互联网“黑市”大曝光:毒药、杀手明码男子约前女友叙旧 被女方友人拳打脚踢香港少女疑与男友闹翻 坐天台企图跳楼民进党内台北市长选举整合最快本周民调姚晨晒老公儿子亲密合影 网友赞长相\\"5·7飙车案\"当事人胡斌再发车\"5·7飙车案\"当事人胡斌再发车安倍政权修宪企图遭日本社会批评北京大学图书馆展出2万余册从日本回购男子盗窃被发现为抗拒抓捕持刀威胁 被湖南衡阳火车站连续两天发生砍人事件 中时:开放才能振兴竞争才能壮大连胜文:盼国新一起办活动声势会更大“五一”自驾游唱主角 河北旅游收入廊坊遭遇持续大风天气过程 导致部分地杭州70码事件主角胡斌再出车祸 交警江苏南通首届海峡两岸象棋赛成功举行辽宁鞍山试点公共资源交易新体制:腐败
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘