OpenStack系统架构设计实战.html.pdf

上传人:紫竹语嫣 文档编号:5514643 上传时间:2020-05-27 格式:PDF 页数:82 大小:13.31MB
返回 下载 相关 举报
OpenStack系统架构设计实战.html.pdf_第1页
第1页 / 共82页
OpenStack系统架构设计实战.html.pdf_第2页
第2页 / 共82页
OpenStack系统架构设计实战.html.pdf_第3页
第3页 / 共82页
OpenStack系统架构设计实战.html.pdf_第4页
第4页 / 共82页
OpenStack系统架构设计实战.html.pdf_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《OpenStack系统架构设计实战.html.pdf》由会员分享,可在线阅读,更多相关《OpenStack系统架构设计实战.html.pdf(82页珍藏版)》请在三一文库上搜索。

1、推荐序 2009年第一届中国云计算大会的盛况仿佛还在眼前,转眼间7年快过去了。在这7年间,云计算在中国从萌芽到发展,如今云计算的浪潮正在影响着数据中心、应用系统的建设,甚至无时无刻影响着人 们的生活。随着云计算技术的成熟,运营商、互联网公司、政府企业都纷纷在自身的IT建设中使用了云计算。 云计算的来龙去脉是什么?为什么工业界需要云计算?其背后的技术背景、相关公司、非营利化开源组织、商业利益集团在云计算方面的策略是什么?随着云计算技术的成熟,企业如何部署自己的云 计算,选用什么样的云计算、云平台来搭建IT系统?另外,云计算领域出现了许多分支公有云、私有云、混合云等,其各自的布局和未来发展如何?

2、这些都是相关领域的国家技术发展政策研究人员、企业CIO/CTO、高级研发人员、高校研究人员必须了解和能够回答的问题。本书和云计算基础架构及关键应用1,深入浅出地解释了上述问题, 是难得的好书。 云计算相关的技术书籍已经有一些,且各有亮点,如虚拟化、OpenStack、KVM等方面,都有大量的参考书籍。这两本书的特点是从云计算技术及应用全貌进行完整介绍,兼顾了系统与细节:包括云 计算的虚拟资源层、IaaS云管理层、PaaS等各个平台服务层次;详细介绍了KVM、Xen、Docker、OpenStack、Cloud Foundry、Ceph、SDN等云计算的关键技术;介绍了计算、存储、网络虚拟化的

3、技术发展和应用;介绍了NFV、公有云、私有云、混合云的架构、部署和应用场景。这两本书的作者是长期从事云计算的一线研发专家,他们从云计算的关键技术着手,同时站在云计算提供者、使用者、 IT建设决策者的多方角度来考虑云计算的应用场景和技术,非常难能可贵。 本人近年来一直从事分布式存储编码与系统的研发,部分理论成果基于G2域的二进制纠删码(Binary Reed-Solomen,BRS)成功融入中兴通讯公司的大数据存储系统中。这一合作的过程使得我 对这两本书的作者的专业水平有了更深入的了解,因此强烈推荐计算机、网络、系统和相关专业的研发人员阅读此书。我相信,通过对这两本书的阅读,大家将会进一步加强对

4、云计算的全面认识,综合理 解SDN、NFV、云存储、云计算的部署和运维,全面掌握云计算的整体技术知识。 北京大学信息工程学院 北京大学大数据技术研究院存储编码及系统实验室 深圳市云计算重点实验室 1 云计算基础架构及关键应用已由机械工业出版社出版,书号是9787111531760。编辑注 前言 早在20世纪90年代,云计算就已作为一种全新的技术模型被提出,但直到2007年,才因Google、亚马逊等云计算先驱将其付诸于商业实践并获得丰厚利润,从而得到业界的广泛重视。与互联网、物 联网等技术一样,云计算是电子信息技术和信息社会的需求发展到一定阶段的必然产物。从2007年至今,云计算已经成为人们进

5、行信息交互与存储的重要方式,云管理平台也成为大数据处理和深度挖掘的 主要平台。 高盛研究公司在2015年的一份报告中指出,花在云计算基础建设以及云管理平台上的费用在20132018年的年均增长率为30%,而整个IT行业的预计增长率仅为5%。面对这个蓬勃发展的市场,许多 咨询公司和研究机构都对云计算市场有着不同的预测,但是他们都一致认为,在全球范围内,云计算的发展正在加速。在巨大需求的刺激下,云计算核心得到快速发展,商业云计算与开源云计算技术在竞 争中共同推进,而云计算与行业结合,也形成了形态各异、特色鲜明的电子政务云、教育云、医疗云、金融云、环保云、旅游云等云计算服务,云计算大数据的发展空间则

6、更加广阔。 中兴通讯公司在云计算方面有多年的技术积累和应用实践。本书结合云计算最新技术趋势和中兴通讯公司的长期实践,对云计算技术提出系统性的阐述,对云计算实践提供了思路和建议。本书首先从 云计算的需求和现状出发,分析目前云计算面临的问题,针对这些问题分析了IaaS云管理平台、IaaS云平台部署,并对PaaS(平台即服务)等概念进行了充分的探索和讨论。 本书结构 本书由12章组成。 第1章对各主流云管理平台进行介绍及对比,并对OpenStack平台进行了重点介绍。第2章系统地介绍了Nova的各个子模块,以及Nova的基本运行原理。第3章重点介绍了OpenStack项目的存储管理 (Cinder)

7、模块,描述了Cinder的架构、API、主要功能和工作流程。第4章从网络虚拟化主要面临的问题出发,讨论了Neutron架构及其具体功能。第5章从Ceilometer的体系架构谈起,首先简单介绍了 Ceilometer的起源和几个重要概念,之后介绍Ceilometer的架构及关键组件,使读者对Ceilometer有整体的了解,然后详细剖析Ceilometer的数据采集机制,包括计量数据采集、计量数据转换和发布、 计量数据存储,并介绍Ceilometer的二次开发。第6章重点讲述OpenStack中编排子系统(Heat)的相关概念、架构及其实现,并分别介绍Heat模板、Heat资源类型以及Heat

8、引擎,结合典型的场景,对 基于Heat的业务弹性伸缩流程进行深入的分析与阐述。第7章从介绍裸机管理的PXE、IPMI通用技术开始,对Ironic的架构、基本运行原理和流程,以及Ironic的完全安装、简化安装等进行介绍。第8章系 统地介绍OpenStack的消息总线及其基本运行原理,让读者对OpenStack的消息队列协议以及常用的消息队列方案有一个全面了解。第9章通过对Sahara使用模式、架构的介绍,及其与Amazon、 VMware解决方案的对比,让读者对大数据即服务的概念建立清晰的认识。第10章对Trove总体架构、主要功能和API接口、安装和配置,以及二次开发进行全面的介绍。第11章

9、通过对Keystone的介绍, 阐明OpenStack作为云管理平台,如何应对云计算带来的包括虚拟化安全、数据安全、身份和访问管理安全等新的安全挑战。第12章分别从使用场景、逻辑架构等视角对当前OpenStack社区中比较活跃的 孵化项目,例如,消息队列服务(Zaqar)、共享文件系统服务(Manila)、DNS管理服务(Designate)、密钥管理服务(Barbican)、容器管理服务(Magnum)进行介绍。 本书适合高校计算机相关专业学生、云计算研究人员、云计算开发者和工程技术人员阅读参考。由于作者水平所限,书中难免存在一些谬误和不足之处,敬请读者批评指正。本书在写作过程中得到了 很多

10、领导和同事的大力支持,在此一并表示谢意。 作者 2016年5月 第1章 云管理平台概述 云服务的核心在于服务所运行的技术平台,云平台在计算、存储和网络等方面为云服务提供支撑,为用户提供所需要的IT资源。云管理平台允许开发者或将写好的程序放在“云”里运行,或使 用“云”提供的服务,或两者皆有。至于这种平台的名称,现在可以听到不止一种,比如按需平台(on-Demand Platform)、平台即服务(Platform as a Service,PaaS)等。但无论它叫什么,这种新 的支持应用的方式无疑有着巨大的潜力。云平台是云计算的重要组成部分,如图1-1所示。云平台将虚拟化的计算资源、存储资源、

11、网络资源统一管理,并面向用户提供服务,形成了云服务。可以说没有云 平台,就没有云计算和云服务。 图1-1 云平台基础架构 1.1 主流云管理平台对比 目前,业界中有4种有影响力的主流开源软件平台,分别是OpenStack、CloudStack、Eucalyptus、OpenNebula。同时VMware作为云的商业软件提供商,也有很大的影响力。本章节对这几个云平 台做简单的对比。 如表1-1所示,对4种开源云平台从背景、架构、商业模式等方面进行了全面的对比,希望读者有更全面的认识。 表1-1 4种开源云平台对比 VMware与OpenStack相比,两者在设计原则、商业模式等方面都有所不同,导

12、致其在架构、功能、实施和维护性方面有一定的差异。VMware软件套件是以虚拟化技术为核心,自底向上的架构,下 端边界为虚拟机管理器。像VMware的vSphere和vCloud director产品都依赖于免费的ESX(i)虚拟机管理器,ESX(i)虚拟机管理器能提供非常优秀的部署架构。VMware的软件套件也是经过全面测试 的,并且都有单一部署框架。总的来说,VMware的产品由于其架构的健壮性,很多高规格用户在多数据中心规模的环境中都会使用。而OpenStack作为一个开源系统,没有任何一家单独的公司控制 OpenStack的发展路线。OpenStack本身是年轻的,但是却具有巨大的市场动

13、力,与此同时,很多大公司都在支持OpenStack的发展。有了如此多公司的资源投入,OpenStack的发展将是多元化的。 从具体功能来看,VMware的核心功能是VMware vMotion。它是vSphere DRS、DPM和主机维护三大功能的集合,同时VMware具有FT高容错、跨数据中心的容灾迁移等特色功能。OpenStack也 支持虚拟机的动态迁移,KVM动态迁移允许一个虚拟机由一个虚拟机管理器迁移到另一个,说详细一点,你可以基于共享存储来来回回地将一台虚拟机在AMD架构主机与Intel架构主机上进行迁移。 OpenStack目前并不支持FT高容错等特色功能,但OpenStack的优

14、势在于开放的架构以及对广大的IT设备厂家硬件的支持,各个厂家可以基于OpenStack的架构,开发出很多特色功能。FT功能的实用性 存在问题,也并不能保证备机状态的完整性。因此从应用角度我们可以看到,在功能的支持和功能细节方面,OpenStack相比VMware还是有差距的。但是OpenStack还是有优势的,因为与VMware昂贵 的价格相比,OpenStack免费、开放的优势明显。对于VMware高投入带来的功能,OpenStack可以免费提供给客户大部分。从VMware在功能方面的领先优势可以看出,VMware还在继续研发除了 vMotion、高可用、容错以外其他的新功能,以保护它们的虚

15、拟;OpenStack一方面跟随VMware的脚步,另一方面也投入精力在支持更多的硬件厂商解决方案上。 关于OpenStack、OpenNebula、Eucalyptus、CloudStack社区的活跃度,这里借用蒋清野先生提供的一组对比数据,以对这些社区的活跃度进行分析和比较,如图1-2和图1-3所示。 图1-2和图1-3分别是上述4种开源项目的相关社区每个月所产生的讨论主题数量和帖子数量。可以看出: 1)从2012年开始,与OpenStack和CloudStack相关的主题讨论数量在同一水平上,与Eucalyptus和OpenNebula相关的主题讨论数量在同一水平上。 2)从2012年开

16、始,与OpenStack和CloudStack相关的主题讨论数量远大于与Eucalyptus和OpenNebula相关的主题讨论数量。 图1-2 4种开源云平台论坛主题数量对比 图1-3 4种开源云平台论坛帖子数量对比 如图1-4所示是4种项目的社区人数、上个季度的活跃用户数量,以及过去一个月的活跃用户数量。可以看出,OpenStack的社区人数最多,然后是Eucalyptus、CloudStack、OpenNebula。 图1-4 用户活跃度对比 如图1-5所示是4个项目每个月提交代码的人数。总体来看,针对OpenStack项目提交代码的人数远远超过其他3个项目,并且一直保持迅猛增长的势头。

17、针对CloudStack项目提交代码的人数也有所增 长,但是其增长速度较为缓慢。针对Eucalyptus项目和OpenNebula项目提交代码的人数相对较少,并且在一段时间内基本上没有增长。 客户希望将OpenStack作为下一代基础架构平台,并要求其有能胜任传统任务负载的特性(如灾难恢复、高可用性等)。OpenStack目前已经成熟,并能提供丰富的功能,它已经走出实验室和概念验 证阶段,成为生产级任务负载的主流技术。全球著名的综合性IT巨头,如IBM、EMC、HP、Cisco纷纷加入OpenStack的行列;RedHat、SUSE、Ubuntu等操作系统厂商也推出了OpenStack发行版;

18、 Rackspace、Mirantis、中兴通讯、华为、UnitedStack分别是全球及国内著名的OpenStack系统集成商。 OpenStack目前已经在许多垂直市场得到应用,如政府、金融服务、医药、大型企业和电信行业。2014年8月,沃尔玛将其全部的电子商务业务迁移到了OpenStack上,其中包括10万条核心数据和几 个PB的存储数据。到2014年年底,W整个美国的流量都由该平台支撑。沃尔玛的下一步计划是在这个平台上构建SDN和存储系统。另外还有汽车巨头宝马、视频领域的巨头时代华纳都将自己 的应用部署到了私有的OpenStack平台上。OpenStack在中国也不乏此类的成功案例,有

19、一批互联网公司采用OpenStack,其中包括百度、携程、爱奇艺、360、京东、阿里巴巴、高德等。而在传统企业 方面,著名的天河二号超级计算机就采用了OpenStack来部署其HPC云环境,涉及1.6万个节点。 图1-5 提交代码的人数对比 OpenStack的成熟度、影响力、部署规模、所提供功能的丰富性都是业界主流云管理平台中最强的。所以,在IaaS云管理平台部分,本书将主要以OpenStack为例进行介绍。 1.2 OpenStack简介 OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简

20、单、可大规模扩展、丰富、标准统一的云计 算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。 OpenStack是一个旨在为公有云及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务资源的通用前端。 OpenStack项目的首要任务是,简化云的部署过程并为其带来良好的可扩展性。本节通过提供必要的信息,帮助大家利用OpenStack前端来设置及管理自己的公有云或私有云。 1.3 OpenStack入门体验 1.3.1 初探OpenStac

21、k 由于OpenStack安装过程时间较长且复杂,并且构建不同的云环境可以选择各种各样的排列组合方式,为了避免初学者在较长时间的安装过程中失去对OpenStack探索的热情,我们先来认识一下 OpenStack的用户界面,以便对它有个感性认识。 OpenStack的用户界面由两部分组成:一是Web界面,二是Shell界面。Horizon负责展现Web仪表盘,用户可以通过浏览器直接操作、管理、运维OpenStack的一些功能。由于OpenStack项目队伍 不断壮大,Dashboard并不能展现所有的OpenStack功能,因此,最新的功能一般会先开发Shell命令行,也就是将CLI(Comma

22、nd Line Interface)提供给Linux用户操作。 通过浏览器输入仪表盘的地址,可以看到如图1-9所示的OpenStack登录界面。OpenStack仪表盘可以安装在任意节点处,通常将其安装在Nova API的管理节点处,以方便访问。Horizon与nova- client一样,需要Keystone的用户名及密码认证,以及Keystone的Token进行授权才能访问。这些都是在Horizon内部实现的,普通用户只要有用户名及密码就能登录仪表盘进行日常操作。这里,先登录 OpenStack的仪表盘,为了方便演示,可使用admin用户。 图1-9 OpenStack登录界面 登录控制面

23、板,可以发现有管理员视图(仅管理员可见)和项目视图(仅可以操作当前用户被授权的项目)。目前的仪表盘已经进行了国际化,中国用户可以使用熟悉的中文来管理“云”。管理员用 户可以从整体视角来观察“云”的一举一动,可以看到整个资源池的大小状况及健康状况。如果资源不够用,那么可以以人工方式进行干预。目前,因为OpenStack的Auto Scaling还不尽如人意,所以一 些工作只能通过人工干预的方式进行。 OpenStack界面的左侧是导航栏,如图1-10所示。在OpenStack的图标下可以看到两个选项:项目和管理员。这两个选项下面分别有各自的服务菜单。项目选项可以从概览(Overview)、实例

24、(Instance)、卷(Volume)、镜像和快照(Image #创建Trove库 MariaDB (none) GRANT ALL PRIVILEGES ON trove.* TO trovelocalhost IDENTIFIED BY trove; MariaDB (none) GRANT ALL PRIVILEGES ON trove.* TO trove% IDENTIFIED BY trove; 8)准备数据库服务。 初始化数据库: rootcontroller trove# su -s /bin/sh -c “trove-manage db_sync“ trove 创建数据库:

25、 rootcontroller trove# su -s /bin/sh -c “trove-manage datastore_update mysql “ trove 9)创建Trove镜像,即创建一个你想使用的、哪种类型的数据库的镜像,如MySQL,MongoDB等。创建这个镜像之前,必须保证Trove Guest Agent已经安装,并且必须配置好trove- guestagent.conf文件,使得可以连接OpenStack环境。 在trove-guestagent.conf文件中增加如下配置: DEFAULT rabbit_host = controller rabbit_passw

26、ord = RABBIT_PASS # 使用安装消息队列时默认用户的密码替换它 nova_proxy_admin_user = admin nova_proxy_admin_pass = ADMIN_PASSWD #安装Keystone时创建admin用户的密码 nova_proxy_admin_tenant_name=service trove_auth_url = http:/controller:35357/v2.0 10)使用trove-manage命令更新数据存储。 例如,创建MYSQL 5.5数据存储。 rootcontroller trove# trove-manage -con

27、fig-file /etc/trove/trove.conf datastore_version_update mysql mysql-5.5 mysql glance_image_ID mysql- server-5.5 1 11)在数据库模块中注册服务并指定Trove服务。 rootcontroller trove# keystone service-create -name trove -type database -description “OpenStack Database Service“ rootcontroller trove# keystone endpoint-creat

28、e -service-id $(keystone service-list | awk / trove / print $2) -publicurl http:/ controller:8779/v1.0/%(tenant_id)s -internalurl http:/controller:8779/ v1.0/%(tenant_id)s -adminurl http:/controller:8779/v1.0/%(tenant_id) s -region regionOne 12)启动Trove服务组件,并配置为随开机自启动。 rootcontroller trove# systemctl

29、 enable openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service rootcontroller trove# systemctl start openstack-trove-api.service openstack- trove-taskmanager.service openstack-trove-conductor.service 13)验证。 rootcontroller # source /demo-openrc.sh 检索Trove实例列

30、表。 rootcontroller # trove list 假设你已经创建了一个你想要的数据库镜像,并且已经升级数据存储来使用镜像,那么现在就可以创建Trove实例了。使用trove create命令: trove create name 1-size=1-databases DBNAME -users USER:PASSWORD -datastore_version mysql-5.5 -datastore mysql 10.5 Trove创建实例过程 Trove提供了便捷的图形操作界面,进行数据库创建、管理等,也可以通过命令行方式实现相同的功能。下面通过Trove创建一个数据库实例来讲解

31、Trove的工作流程。 1.创建数据库实例 1)命令行方式,创建一个数据库实例troveabc,并设置数据库用户和密码。 trove create TROVE_INSTANCE_NAME 1-size 10 -databases troveabc -users longgeek:password -datastore_version 5.5 -datastore mysql -nic net-id=9cbae051-78c7-4574-968e-2cb9b0f410aa 2)通过图形界面创建一个数据库实例。 创建一个Trove实例,输入实例名字,选择一个Flavor,以及使用的Cinder-v

32、olume大小,填入要创建的数据库名、用户名、密码,以及访问限制,完成创建。 通过上面的描述我们可以看出,通过Trove可以很便捷地在云化环境中实现对数据库的自动化创建和管理等。在创建一个数据库实例的过程中,包含了很多隐性的操作,那就看看在创建数据库实例过程 中,Trove调用了哪些主键,做了些什么操作。 1)Tove通过OpenStack其他主键的API接口调用了zone、volume、neutron、Security-Group、instance等。 2)admin用户创建的一个共享内网网络,同时也写在了trove.conf中。 3)在创建Trove实例时,分配5G的卷给虚拟机。 4)创建

33、Trove实例时会自动根据datastore_type来指定一个单独的安全组,默认开启了相关数据库服务端口号。 5)给实例添加网络资源浮动IP,可以通过浮动IP连接到数据库。 创建一个数据库实例内容的实现流程 1)启动VM,创建Nova实例。 2)创建数据库实例,执行cloud-init自动扩展根分区、Metadata以及Heat模板中自定义的脚本。 3)重启Tove-guestagent服务,而Trove-guestagent会监听RPC消息队列,Trove-guestagent服务启动后,更新状态为Running,发送RPC消息。 4)Taskmanager收到消息后,发送创建db请求。

34、5)Trove-guestagent收到请求后创建相应db,最后发送Active状态消息给RPC。 6)Trove-conductor同时收到trove-guestagent Active消息后,去数据库里更新trove instance的状态。 10.6 Trove二次开发 随着Trove的不断发展,已经提供了数据库即服务的基本功能,基本上能够满足小型环境的需求。但是海量数据的发展对数据库的容量和安全性能提出了越来越高的要求。Trove是基于OpenStack开发 的,上述创建数据库实例的过程可以借鉴过来,根据自身业务的特定需求,对Trove进行二次开发,实现数据库的一些扩展功能。 下面通过

35、一个二次开发实例,讲解如何在原有的Trove基础上,扩充特定的功能。Trove是在OpenStack的基础上开发的,并对外提供公开的源码,如果直接修改源码,需要对系统的实现逻辑及代码原 理有深入的了解,需要的开发验证维护工作量都非常大。我们可以从另外层面,通过编写Heat脚本,调用OpenStack和Trove对外提供的接口,实现相应的功能。 1.收集业务需求 得到的需求如下: 1)业务模型需要支持海量数据,并且随着业务的发展,数据库会越来越大,要求数据的存储可扩充。 2)单机数据库无法满足数据的安全性要求,在单数据库节点发生异常时,要有可靠的数据备份。 3)支持海量数据的同时要求支持业务的高

36、并发,单台DB已经无法满足业务的访问性能要求,需要实现数据库的读写分离功能,多个数据库同时对外提供读写服务,提高业务的访问性能。 2.基于Trove需要扩充的功能 1)Trove实现了在云化环境中,自动化创建数据库实例和管理数据库实例的功能。可以在Trove的基础上,根据业务的需求动态生成多个数据库实例,以满足海量数据的存储。 2)Trove实现了手工的数据库备份,并且提供了多种方式。但是无法实现数据库的实时备份,需要在流程中自动生成主备数据库,并提供自动化的配置,根据业务的需求配置数据同步模式,实现主备 数据库的数据实时同步。 3)基于第二点数据备份的实现,为了提高数据库系统的并发处理能力,

37、可以通过proxy代理实现数据库的读写分离。多个DB对外提供读操作,主DB提供写操作。 在原Trove的架构上,加入了数据库的主备和读写分离功能,如图10-3所示。 3.具体实现方案 1)增加Manager Server模块,Manager Server和Trove的API Server对接,调用Trove接口生成数据库实例。同时Manager Server和OpenStack对接,通过OpenStack接口自动申请DB Proxy节 点。 2)增加新的Horizon用户界面,和Manager Server对接,用户通过界面可以选择创建的数据库类型,包括是否主备复制、主备复制模式、是否需要支持

38、读写分离、数据库实例的配置CPU、内存、存 储等信息。Manager Server根据用户选择的实例类型,创建相应的数据库实例和DB Proxy节点。 3)增加Guest Agent模块,和DB节点部署在一起,实现数据库集群的管理。在做数据库镜像时,可以提供多种类型镜像文件,需要数据库集群管理时,则使用包含Guest Agent的DB镜像文件生成数 据库实例。 图10-3 主备和读写分离功能 4)新增DB Proxy模块,DB Proxy模块实现读写分离功能。DB Proxy根据SQL类型分析业务请求的SQL,如果是读操作则把请求信息下发到备机数据库实例上;如果是写操作,则把请求信息下发到主

39、数据库实例上,从而实现SQL请求的分发。DB Proxy对外提供外网访问IP,应用程序用这个外网IP访问数据库。 通过上面的二次开发,扩展了Trove原有的数据库基本功能,实现了数据库主备复制和读写分离的功能,从而改变了云化数据库单机DB提供服务的情况,提高了数据库的可靠性和并发性能。我们可以 根据自身业务的实际需求,在原Trove的基础上,增加相应的模块,实现更多更具扩展性的云化数据库系统。 10.7 小结 数据库即服务在OpenStack中孵化了很长时间,从E版本中就开始出现,一直演进到I版本,才正式成为OpenStack的核心项目。经过长期的发展,Trove已经日趋成熟,同时也有一些功能

40、需要进一步 的开发和完善。如在Trove中已经提供了多样的数据备份和复制方法,但是这些操作都必须进行手工操作,还无法做到自动化的数据备份,主从复制和HA等。Trove中实现了数据库的自动化配置,把管理 员从繁重的配置管理中解放出来,但是目前Trove版本中,支持的自动化配置项还有限,后续还需引进更全面的配置项。 Trove是基于OpenStack的数据库即服务产品,具有很强的可扩展性和可操作性,对我们数据库产品面向开发平台的设计和发展有重要的借鉴意义。同时也可以扩展Trove功能,二次研发Heat脚本, 实现适应应用要求的特定功能。 第11章 OpenStack安全方案 11.1 OpenSt

41、ack安全概述 近年来,云计算得到了很大的发展,但同时暴露出的安全问题也阻碍着用户对云计算的信任。云计算作为技术发展进步,为整个社会带来了新的生产力,但同时也带来了一些新的安全挑战。 1.虚拟化安全 云计算离不开虚拟化,虚拟化是云计算的一个关键技术。虚拟化技术在计算能力、网络、内存等方面应用扩展了多租户下的云服务。虚拟化技术使云计算完全区别于传统计算模式,同时也带来新的安 全挑战。它打破了物理结构的壁垒,把物理资源转变为逻辑可管理资源,但同时也使传统的网络边界变得模糊,不同虚拟机对应不同用户,用户对这些邻居未知。虚拟化使部分以主机为基础的传统安全策 略失效,而且虚拟机间(甚至同一物理机上的虚拟

42、机)可能发生攻击,而且这些虚拟机间的通信有可能不再经过网络交换机,使传统的入侵检测设备失效。这些都是需要面对的问题。如何有效地安全隔离 各个虚拟机,如何保护虚拟机的安全成为云计算中必须考虑的问题。 2.数据安全 由于云计算面向众多用户的固有特点,注定了数据安全威胁在云计算中面临严峻挑战,是云安全的重要方面。前面提到的一些公共安全事件就体现了数据安全对云计算安全的挑战。云服务提供商需要 保护云用户的数据不被窃取或丢失。强加密及密钥管理是云计算系统用以保护数据的一种核心机制,加密虽然不能保证数据不会丢失,但是对于无法获取明文的数据来说,数据被窃取的危害则降低了。 Keystone中引入令牌机制来管

43、理用户对资源的访问,同时引入了PKI(公钥基础设施)对令牌加以保护。 3.身份和访问管理安全 由于云计算是提供给众多用户访问的服务平台,那么有效的身份和访问控制是云安全需要考虑的必不可少的一个环节。云计算中的用户和服务认证,除了基于风险的认证方法外,还需要注意简单性和 易用性。云计算中需要注意合理定义系统管理人员的控制边界,以防来自内部的冲击所造成的危害。Keystone中通过Policy(访问规则)来实现基于用户角色的访问控制。 4.基础设施安全 基础设施安全包括服务器、存储、网络等核心IT基础设施的安全。在云计算的环境下,如何保证这些基础设施的安仝性具有更大的意义。可信计算池(Truste

44、d Compute Pools)通过对计算节点的硬 件以及系统内核进行度量来确定一个可信任计算节点的集合,可信计算池的引入提高了基础设施的安全性。 Keystone作为OpenStack中的一个独立的提供安全认证的模块,主要负责OpenStack用户的身份认证、令牌管理、提供访问资源的服务目录,以及基于用户角色的访问控制。用户访问系统的用户名 及密码是否正确、令牌的颁发、服务端点的注册,以及该用户是否具有访问特定资源的权限等,这些都离不开Keystone服务的参与。 可信计算池是Intel公司提出的一个特性,管理员可以通过可信计算池来将一组主机定义为可信任计算节点。可信计算池得益于Intel可

45、信任执行技术(TXT)提供的硬件层面上的安全特性,通过建立信 任链来保证计算环境上的软硬件经过正确的度量,经过度量且可信任的计算节点将可以被加入可信计算池中去,从而满足云用户对可信任计算环境的要求。也就是说,通过可信计算池,云用户可以将数据 或者业务只部署在可信任服务器上。 第11章 OpenStack安全方案 11.1 OpenStack安全概述 近年来,云计算得到了很大的发展,但同时暴露出的安全问题也阻碍着用户对云计算的信任。云计算作为技术发展进步,为整个社会带来了新的生产力,但同时也带来了一些新的安全挑战。 1.虚拟化安全 云计算离不开虚拟化,虚拟化是云计算的一个关键技术。虚拟化技术在计

46、算能力、网络、内存等方面应用扩展了多租户下的云服务。虚拟化技术使云计算完全区别于传统计算模式,同时也带来新的安 全挑战。它打破了物理结构的壁垒,把物理资源转变为逻辑可管理资源,但同时也使传统的网络边界变得模糊,不同虚拟机对应不同用户,用户对这些邻居未知。虚拟化使部分以主机为基础的传统安全策 略失效,而且虚拟机间(甚至同一物理机上的虚拟机)可能发生攻击,而且这些虚拟机间的通信有可能不再经过网络交换机,使传统的入侵检测设备失效。这些都是需要面对的问题。如何有效地安全隔离 各个虚拟机,如何保护虚拟机的安全成为云计算中必须考虑的问题。 2.数据安全 由于云计算面向众多用户的固有特点,注定了数据安全威胁

47、在云计算中面临严峻挑战,是云安全的重要方面。前面提到的一些公共安全事件就体现了数据安全对云计算安全的挑战。云服务提供商需要 保护云用户的数据不被窃取或丢失。强加密及密钥管理是云计算系统用以保护数据的一种核心机制,加密虽然不能保证数据不会丢失,但是对于无法获取明文的数据来说,数据被窃取的危害则降低了。 Keystone中引入令牌机制来管理用户对资源的访问,同时引入了PKI(公钥基础设施)对令牌加以保护。 3.身份和访问管理安全 由于云计算是提供给众多用户访问的服务平台,那么有效的身份和访问控制是云安全需要考虑的必不可少的一个环节。云计算中的用户和服务认证,除了基于风险的认证方法外,还需要注意简单

48、性和 易用性。云计算中需要注意合理定义系统管理人员的控制边界,以防来自内部的冲击所造成的危害。Keystone中通过Policy(访问规则)来实现基于用户角色的访问控制。 4.基础设施安全 基础设施安全包括服务器、存储、网络等核心IT基础设施的安全。在云计算的环境下,如何保证这些基础设施的安仝性具有更大的意义。可信计算池(Trusted Compute Pools)通过对计算节点的硬 件以及系统内核进行度量来确定一个可信任计算节点的集合,可信计算池的引入提高了基础设施的安全性。 Keystone作为OpenStack中的一个独立的提供安全认证的模块,主要负责OpenStack用户的身份认证、令

49、牌管理、提供访问资源的服务目录,以及基于用户角色的访问控制。用户访问系统的用户名 及密码是否正确、令牌的颁发、服务端点的注册,以及该用户是否具有访问特定资源的权限等,这些都离不开Keystone服务的参与。 可信计算池是Intel公司提出的一个特性,管理员可以通过可信计算池来将一组主机定义为可信任计算节点。可信计算池得益于Intel可信任执行技术(TXT)提供的硬件层面上的安全特性,通过建立信 任链来保证计算环境上的软硬件经过正确的度量,经过度量且可信任的计算节点将可以被加入可信计算池中去,从而满足云用户对可信任计算环境的要求。也就是说,通过可信计算池,云用户可以将数据 或者业务只部署在可信任服务器上。 11.2 Keystone Keystone是OpenStack的身份管理服务(Identity Service)。无论是公有云还是私有云,都会开放接口给众多的用户。为保证系统安全和用户的安全,就需要有完善的安全认证服务。Keystone包含 几个方面:用户认证、服务认证和口令认证。Keystone提供的认证

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1