openstack部署运维实战

上传人:m**** 文档编号:498114000 上传时间:2023-06-11 格式:DOC 页数:13 大小:265.50KB
返回 下载 相关 举报
openstack部署运维实战_第1页
第1页 / 共13页
openstack部署运维实战_第2页
第2页 / 共13页
openstack部署运维实战_第3页
第3页 / 共13页
openstack部署运维实战_第4页
第4页 / 共13页
openstack部署运维实战_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《openstack部署运维实战》由会员分享,可在线阅读,更多相关《openstack部署运维实战(13页珍藏版)》请在金锄头文库上搜索。

1、OpenStack部暑运维实战本文为您介绍了网易公司基于OpenStack开发的一套云计算管理平台,以及在开发、运营、维护过程中遇到的问题和经验分享。网易作为大型互联网公司,IT基础架构需要支撑包括生产、开发、测试、管理等多方面的需要,而且需求和请求的变化几乎每天都存在,这就需要内部的IT基础架构能够足够灵活和健壮来满足各部门和团队的实际需要。网易私有云平台团队也希望通过本文和广大的OpenStack使用者进行一个交流,分享他们在实际项目中收获的成果。OpenStack简介OpenStack是一个开源的IaaS实现,它由一些相互关联的子项目组成,主要包括计算、存储、网络。由于以Apache协议

2、发布,自2010年项目成立以来,超过200个公司加入了OpenStack项目,其中包括AT&T、AMD、Cisco、Dell、旧M、Intel、RedHat等。目前参与OpenStack项目的开发人员有17,000+,来自139个国家,这一数字还在不断增长中。OpenStack兼容一部分AWS接口,同时为了提供更强大的功能,也提供OpenStack风格的接口(RESTFulAPI)。和其他开源IaaS相比,架构上松耦合、高可扩展、分布式、纯Python实现,以及友好活跃的社区使其大受欢迎,每半年一次的开发峰会也吸引了来自全世界的开发者、供应商和客户。OpenStack的主要子项目有:?Comp

3、ute(Nova)提供计算虚拟化服务,是OpenStack的核心,负责管理和创建虚拟机。它被设计成方便扩展,支持多种虚拟化技术,并且可以部署在标准硬件上。?ObjectStorage(Swift)提供对象存储服务,是一个分布式,可扩展,多副本的存储系统。?BlockStorage(Cinder),提供块存储服务,为OpenStack的虚拟机提供持久的块级存储设备。支持多种存储后端,包括Ceph,EMC等。?Networking(Neutron)提供网络虚拟化服务,是一个可拔插,可扩展,API驱动的服务?Dashboard提供了一个图形控制台服务,让用户方便地访问,使用和维护OpenStack中

4、的资源。?Image(glance)提供镜像服务,它旨在发现,注册和交付虚拟机磁盘和镜像。支持多种后端。?Telemetry(Ceilometer)提供用量统计服务,通过它可以方便地实现OpenStack计费功能。?Orchestration(Heat)整合了OpenStack中的众多组件,类似AWS的CloudFormation,让用户能够通过模板来管理资源。?Database(Trove)基于OpenStack构建的database-as-a-service。网易私有云使用了Nova、Glance、KeystoneNeutron这4个组件。回页首网易私有云平台概况图1.网易私有云架构运维管

5、理支撑监控报笠计费自动部雷自助管理.平台,云主机基于0g鬲、KVKLXC俄拟化云网络jfc于Own&ack、帛DN技木,OVS云硬盘弹性块设备存储、ISCSI基础PaaS服务核心理#物硬Quc务网易私有云平台由网易杭州研究院负责研发,主要提供基础设施资源、数据存储处理、应用开发部署、运维管理等功能以满足公司产品测试/上线的需求。图1展示了网易私有云平台的整体架构。整个私有云平台可分为三大类服务:核心基础设施服务(IaaS)、基础平台服务(PaaS)以及运维管理支撑服务,目前一共包括了:云主机(虚拟机)、云网络、云硬盘、对象存储、对象缓存、关系型数据库、分布式数据库、全文检索、消息队列、视频转码

6、、负载均衡、容器引擎、云计费、云监控、管理平台等15个服务。网易私有云平台充分利用云计算开源的最新成果,我们基于OpenStack社区的keystone、glance、nova、neutron组件研发部署了云主机和云网络服务。为了与网易私有云平台其他服务(云硬盘、云监控、云计费等)深度整合以及满足公司产品使用和运维管理的特定需求,我们团队在社区OpenStack版本的基础上独立研发了包括:云主机资源质量保障(计算、存储、网络QoS)、镜像分块存储、云主机心跳上报、flat-dhcp模式下租户内网隔离等20多个新功能。同时,我们团队在日常运维OpenStack以及升级社区新版本中,也总结了一些部

7、署、运维规范以及升级经验。两年多来,网易私有云平台OpenStack团队的研发秉承开源、开放的理念,始终遵循来源社区,回馈社区”的原则。在免费享受OpenStack社区不断研发新功能以及修复bug的同时,我们团队也积极向社区做自己的贡献,从而帮助OpenStack社区的发展壮大。两年来,我们团队一共向社区提交新功能开发/bug修复的commits近100个,修复社区bug50多个,这些社区贡献涉及OpenStack的Essex、Folsom、Havana、Icehouse、Juno等版本。得益于OpenStack的日益稳定成熟,私有云平台目前已经稳定运行了2年多时间,为网易公司多达30个互联网

8、和游戏产品提供服务。从应用的效果来看,基于OpenStack研发的网易私有云平台已经达到了以下目标:1 .提高了公司基础设施资源利用率,从而降低了硬件成本。以物理服务器CPU利用率为例,私有云平台将CPU平均利用率从不到10%提升到50%。2 .提高了基础设施资源管理与运维自动化水平,从而降低了运维成本。借助于Web自助式的资源申请和分配方式以及云平台自动部署服务,系统运维人员减少了50%。3.提高了基础设施资源使用弹性,从而增强了产品业务波动的适应能力。利用虚拟化技术将物理基础设施做成虚拟资源池,通过有效的容量规划以及按需使用,私有云平台可以很好适应产品突发业务。回页首网易OpenStack

9、部署参考方案介绍在具体的生产环境中,我们为了兼顾性能和可靠性,keystone后端使用Mysql存储用户信息,使用memcache存放token。为了减少对keystone的访问压力,所有务(nova,glance,neutron)的keystoneclient均配置使用memcache作为token的缓存。由于网易私有云需要部署在多个机房之中,每个机房之间在地理位置上自然隔离,这对上层的应用来说是天然的容灾方法。另外,为了满足私有云的功能和运维需求,网易私有云需要同时支持两种网络模式:nova-network和neutron。针对这些需求,我们提出了一个面向企业级的多区域部署方案,如图2所示

10、。从整体上看,多个区域之间的部署相对独立,但可通过内网实现互通,每个区域中包括了一个完整的OpenStack部署,所以可以使用独立的镜像服务和独立的网络模式,例如区域A使用nova-network,区域B使用neutron,互不影响,另外为了实现用户的单点登录,区域之间共享了keystone,区域的划分依据主要是网络模式和地理位置。图2.多区域部署方法和典型OpenStack部署将硬件划分为计算节点和控制节点不同的是,为了充分利用硬件资源,我们努力把部署设计成对称的,即任意一个节点下线对整体服务不会照成影响。因此我们将硬件分为两类:计算节点,控制计算节点。计算节点部署nova-network,

11、nova-compute,nova-api-metadata,nova-api-os-compute。控制计算节点除了计算节点的服务外还部署了nova-scheduler,nova-novncproxy,nova-consoleauth,glance-api,glance-registry和keystone,如图3所示。对外提供API的务有nova-api-os-compute,nova-novncproxy,glance-api,keystone。这类服务的特点是无状态,可以方便地横向扩展,故此类服务均部署在负载均衡HAProxy之后,并且使用Keepalived做高可用。为了保证服务质量和

12、便于维护,我们没有使用nova-api,而是分为nova-api-os-compute和nova-api-metadata分别管理。外部依赖方面,网易私有云部署了高可用RabbitMQ集群和主备MySQL,以及memcache集群。图3.计算节点,控制计算节点网络规划方面,网易私有云主要使用nova-network的FlatDHCPManager+multi-host网络模式,并划分了多个Vlan,分别用于虚拟机fixed-ip网络、内网浮动IP网络、外网网络。运维上使用网易自主研发的运维平台做监控和报警,功能类似Nagios,但是更加强大。其中较重要的监控报警包括日志监控和进程监控。日志监控

13、保证服务发生异常时第一时间发现,进程监控保证服务正常运行。另外网易私有云使用Puppet做自动部署,以及使用StackTach帮助定位bug。回一首OpenStack各组件配置OpenStackHavana的配置项成百上千,大部分配置项都是可以使用默认值的,否则光是理解这么多的配置项的含义就足以让运维人员崩溃,尤其是对那些并不熟悉源码的运维人员来说更是如此。下文将列举若干网易私有云中较关键的配置项,并解释它们如何影响到服务的功能,安全性,以及性能等问题。Nova关键配置my_ip=内网地址此项是用来生成宿主机上的novametadataapi请求转发iptables规则,如果配置不当,会导致虚

14、拟机内部无法通过169.254.169.254这个IP获取ec2/OpenStackmetadata信息;生成的iptable规则形如:-Anova-network-PREROUTING-d169.254.169.254/32-ptcp-mtcp-dport80-jDNAT-to-destination$my_ip:8775它另外的用途是虚拟机在resizecoldmigrate等操作时,与目的端宿主机进行数据通信。该项的默认值为宿主机的外网IP地址,建议改为内网地址以避免潜在的安全风险。metadata_listen=内网地址此项是nova-api-metadata服务监听的IP地址,可以从

15、上面的iptables规则里面看出它与my_ip的配置项有一定的关联,保持一致是最明智的选择。novncproxy_base_url=vncserver_proxyclient_address=$private_ip_of_compute_hostvncserver_listen=$private_ip_of_compute_hostnovncproxy_host=$private_ip_of_host我们仅在部分节点上部署novncproxy进程,并把这些进程加入到HAProxy服务中实现novnc代理进程的高可用,多个HAProxy进程使用Keepalived实施HAProxy的高可用,对外只需要暴露Keepalived管理的虚拟IP地址即可:这种部署方式好处是:1)实现novnc代理服务的高可用2)不会暴露云平台相关节点的外网地址3)易于novnc代理服务的扩容但也有不足:1)虚拟机都监听在其所在的计算节点的内网IP地址,一旦虚拟机与宿主机的网络隔离出现问题,会导致所有虚拟机的VNC地址接口暴露出去2)在线迁移时会遇到问题,因为VNC监听的内网IP在目的端计算节点是不存在的,不过这个问题nova社区已经在解决了,相信很快就会合入J版本。resume_guests_state_on_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号