于OpenStack企业私有云的设计与部署

上传人:沈*** 文档编号:68069883 上传时间:2022-04-01 格式:DOC 页数:46 大小:2.27MB
收藏 版权申诉 举报 下载
于OpenStack企业私有云的设计与部署_第1页
第1页 / 共46页
于OpenStack企业私有云的设计与部署_第2页
第2页 / 共46页
于OpenStack企业私有云的设计与部署_第3页
第3页 / 共46页
资源描述:

《于OpenStack企业私有云的设计与部署》由会员分享,可在线阅读,更多相关《于OpenStack企业私有云的设计与部署(46页珍藏版)》请在装配图网上搜索。

1、本科毕业设计(论文)基于OpenStack企业私有云的设计与部署Design and Deployment of OpenStack Enterprise Private Cloud 院 (系)计算机学院专 业网络工程班 级三班学 号16210220318学生姓名陈 露指导教师冼敏仪提交日期2019年 4 月 19 日毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包人已含他经发表或撰写的作品及成果。对本文的研究作出贡献的

2、个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日成绩评定成绩项论文成绩(百分制)折合比例实得成绩(折合分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评成绩注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。摘要为了解决传统数据中心经常需要采购服务器、网络、存储、负载均衡、安全设备等大量的网络设备,资源利用率不高,动化程度比较低等问题,提出了部署企业私有云的方案。应用目前比较成熟的主流的开源云技术OpenStack,设计与部署基于OpenSta

3、ck的企业私有云。本文详细介绍了虚拟化技术以及如何使用OpenStack的主要组件搭建私有云平台,为此设计了一套基于OpenStack构建企业私有云的方案。通过尝试从添加ceph存储后端、网络设计、负载均衡、动态迁移、数据库备份计划等方面对私有云进行设计与部署,深入了解构建企业私有云所应该具备哪些条件。最后从部署地过程中掌握私有云的知识,提出对私有云的发展看法和建议。关键词:云计算;虚拟化;OpenStack;私有云AbstractIn order to solve the problems that traditional data centers often need to purchas

4、e a large number of equipment such as servers, networks, storage, load balancing, and security equipment, the source utilization rate is not high, and the degree of automation is relatively low. A solution for deploying an enterprise private cloud is proposed. Design and deploy an enterprise private

5、 cloud based on OpenStack using the relatively mature mainstream open source cloud technology-OpenStack. This article details the virtualization technology and how to use the main components of OpenStack to build a private cloud platform. For this purpose, I designed a set of solutions to build an e

6、nterprise private cloud based on OpenStack. By trying to design and deploy a private cloud from the aspects of adding ceph storage backend, network design, load balancing, dynamic migration, database backup plan, etc., we have an in-depth understanding of what conditions should be in place to build

7、an enterprise private cloud.And from the deployment process to master the private cloud knowledge, the development of private cloud views and Suggestions.Keywords:CloudComputing;Virtualization;OpenStack;PrivateCloud;Designanddeployment目录第一章 绪论11.1课题背景和意义11.2企业私有云现状21.2.1国外现状21.2.2国内现状21.2.3现有的搭建私有云技

8、术21.3章节安排3第二章 虚拟化技术与OpenStack的介绍42.1云计算42.1.1云计算的基本概念42.1.2云计算的分类及特点42.2虚拟化技术52.2.1什么是虚拟化52.2.2虚拟化的特点和分类52.3 OpenStack62.3.1 OpenStack背景62.3.2 OpenStack各个组件62.4本章小结7第三章 OpenStack企业私有云设计与部署93.1部署高可用平台准备93.1.1硬件资源准备93.1.2 OpenStack环境准备103.2MariaDB Galeria集群113.2.1安装与配置MariaDB113.3 HAProxy123.3.1 HAPro

9、xy性能123.3.2 HAProxy配置123.4 部署Keystone133.4.1 Keystone的配置143.4.1.1安装Keystone与修改配置文件143.4.1.2创建域,项目,用户和角色结果153.5 部署Glance镜像服务173.5.1配置Glance173.5.2启动Glance服务、测试镜像183.5.2.1启动Glance服务183.5.2.2镜像测试183.6控制节点配置Nova集群193.6.1 Nova(计算资源)193.6.1.1 Nova的基本概念和特点193.6.1.2 Nova架构包括以下主要组件193.6.2部署Nova节点193.6.2.1控制节

10、点Nova部署193.6.2.2 Nova部署在计算节点203.7 Neutron部署213.7.2控制节点Neutron部署223.7.1计算节点Neutron部署223.8 Horizon集群233.8.1 Horizon部署233.9 Cinder集群233.9.1控制节点部署243.9.2存储节点部署243.10 Ceph集群253.10.1各个节点安装Ceph253.10.2创建Ceph集群253.10.3 OpenStack集成Ceph263.10.3.1 Glance集成Ceph263.10.3.2 Cinder集成Ceph263.10.3.3 Nova集成Ceph273.11热

11、迁移283.11.1热迁移配置283.12本章小结29第四章 私有云平台测试304.1测试环境与测试方案304.1.1测试环境304.1.2测试方案304.1.3测试结果304.2本章小结32第五章 总结与展望335.1工作总结335.2展望34广东东软学院本科生毕业设计(论文)第一章 绪论1.1课题背景和意义在大数据的时代,传统的企业数据中心需要负荷的应用越来越多。比如在2G信号的时代,人们使用手机只是打电话或者发信息,传统地数据中心应付这些数据是搓搓有余。但是随着4G信号的覆盖,人们对于手机的使用已经不仅仅是打电话和发信息这些简单的操作了,上网购物,观看视频等等网上活动,使得现在的数据量越

12、来越庞大,传统的数据中需要不断地增加硬件设备(网络、内存、服务器等等)和软件设备(数据库、负载均衡器等等)才可以处理这些日益增长地数据。这就带来一个些新的问题,这些设备非常的昂贵,这样就大大地曾加了企业的成本。有些时候只是某一个时刻用户量突然增加,之后又会降低(如淘宝的双十一),如果按照这个峰值来购买设备的话,就会造成资源的浪费。企业还需要专门组建一支专业团队来维护这些昂贵硬件设备和软件设备正常运行。需要进行维护的工作包括,安装软件、测试软件的性能、升级软件的版本,还有硬件的维修和维护。从经济效益角度来说,这样会大幅度地增加了企业的运营成本,光用在购买设备就是一笔巨大的资金,而且会随着数据中的

13、规模的扩大,费用也会增加。然而对于中小企业或者创业者来说,这是一笔无法承担地费用。基于此,云计算就应运而生了,它更加强大,更加大量,更加快速。用户只需要将应用部署到云端上,不需要头痛那些硬件软件地问题,更加重要地一点,它是按用户地需求来支付费用,这样就大大降低了企业的部署应用的成本。OpenStack是现在最有影响力的云计算管理工具,同时也是一种开源的云计算标准,所以它成为了大多数企业和个人搭建企业私有云的首选。OpenStack简单点来说就是一个操作系统,一套开源的软件。所谓的开源就是见将源码公开,所有人都可以查看,因此很多公司在此基础上做了二次开发,如先电云平台。它为用户提供了部署云的操作

14、平台或工具集,其主要特点是:用虚拟机作为载体,完成对全部计算、网络和存储资源的分配与管理。目前,开源的OpenStack与商业的Vmware解决方案占了全球私有云绝大部分市场,在不断创新和发展中,OpenStack正在变得成熟、可靠、简单和方便。1.2企业私有云现状1.2.1国外现状众所周知,亚马逊是”云计算“的鼻祖,在”云计算“领域上一直都是领头羊,一直不断地将云扶服务推广到不同的领域,他们发布的AWSIoT平台更是占领了云计算市场第一的地位。AWS是一个可以跨越边缘站点到云端的云服务平台,因此受到广大用户的欢迎,抢占了云计算的市场。云计算服务的需求日益增长,面对巨大的需求市场,微软也不甘于

15、落后,从传统的windows操作系统转型云计算服务以来,以占据全球云计算服务市场14.8%的份额排名第二。阿里巴巴也是一个可忽视的云计算服务公司,其不仅在中国市场有傲人的成绩,在亚洲其他的国家也是发展得相当迅速。阿里得公有云是很多中小型企业的救星,有了公有云,他们就不需要斥巨资购买昂贵的服务器了,大大降低了成本。谷歌在阿里巴巴这个强劲的对手面前肯定会在业务方面不断优化,不难推测未来云计算领域双方竞争将更加激烈。1.2.2国内现状在互联网迅猛发展得时代,中国云计算在的国内互联网市场所占的比重越来越大。虽然现在中国的云计算市场整体规模落后于在全球水平3-5年,但是时间会改变一切,在数据时代的推动下

16、,中国云计算产业迅速成长,正在向高于全球水平为目标奋进。说到云计算,不得不提的是IT龙头老大“华为”,其在2010年提出云计算策略。目前,华为在国内已经为超过16个国家部委级、15个省/直辖市级、200多个市/县级的政府客户提供政务云方案支撑3。腾讯云是国内的第云计算服务提供商排名第二,即使比阿里云起步晚,但腾讯在国内的游戏和社交领域有绝对的优势,所以在短时间内快速崛起并且取得骄傲的成绩。腾讯始终相信后来者居上,所以腾讯云正努力地向金融、旅游、公共服务等行业拓展。近年来,国内公有云的另一霸主出现在公的视野百度云。目前百度云在基础设施、创新研发技术、行业实施面日益完善,相信百度云盘这个词并不陌生

17、,没有用过的人也会听过。中国中小型企业的数量庞大,目前国内的公有云还是企业首选,所以公有云市场在国内不容忽视。中国云计算水平赶超国际水平指日可待。1.2.3现有的搭建私有云技术在技术方面可,搭建私有云的技术有很多,其主流的有两种:一种是开源私有云方案OpenStack,还有一种是商业的私有云方案Vmware。Vmware凭借着领先的技术水平长期以来在虚拟化领域处于商业垄断地位。其虚拟化技术具有稳定性、性能高能等优点,其所拥有的生态工具(虚拟机的动态迁移、虚拟化的高可用性等)的功能也是处于领先水平。因此学习OpenStack之前,了解Vmware对之后学习是非常有帮助的。OpenStack是现在

18、最受企业欢迎的IaaS开源实现云计算服务的方案,其具有灵活、可扩展、易部署等特点,并且具有很好的社区进行技术支持。OpenStack常常被用于作为私有云的解决方案,但是其也可以作为公有云的解决方案。据说,华为、深信服的公有云服务也是基于OpenStack。1.3章节安排本文总共分为五个章节,每个章节的主要内容如下:第1章一开始就介绍了本课题的研究背景和意义,云计算的基本概念、云计算的特点和分类,并分析了国内外私有云的现状及采用的相关技术,最后给出了本文的结构。第2章介绍了虚拟化技术和OpenStack两个之间的关系;介绍了虚拟化技术的概念以及介绍OpenStack各个组件。第3章介绍了企业私有

19、云的设计与部署式,部署OpenStack的各个节点以及研究如何实现高可用。第4章对该可用进行测试得出高可用私有云的部署方案。第5章对本文的实验工作进行总结,并对今后的研究工作与方向进行了展望。第二章虚拟化技术与OpenStack的介绍2.1云计算2.1.1云计算的基本概念在互联网行业中,“云”成为了最流行的词语之一,随之“云计算”就进入了人们的视野,并且也是成为了IT界的当红技术。它是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云1。如此强大的计算能力可以为我们分析天气的变化,市场的打仗趋势,甚至可以模拟核爆炸等等。用户可以使用各种电子产品(如:电脑,

20、手机,平板等设备)连接进入数据中心,按照自身的需求进行资源分配。实际上就是一种分布式计算,将庞大的数据量拆分成小数据再将这些小数据分散给各个子程序计算,随后将所有的计算结果汇总分析,再将结果返回给客户。云计算的出现成就许许多多的中小型企业和创业者,为他们大大节省了IT成本。2.1.2云计算的分类及特点云计算模式所具备的5个基本特征(按需自助服务、广泛的网络访问、资源共享、快速的可伸缩性和可度量的服务)、3种服务模式(SaaS(软件即服务)、PaaS(平台即服务)和IaaS(基础设施即服务)和4种部署方式(私有云、社区云、公有云和混合云)2。云计算的特点:(1)虚拟化是云计算的特点之一,也是最大

21、的特点,有了虚拟化用户可以不受地域的限制,在任意的位置,任意的设备进入云服务平台进行操作。(2)云计算的规模非常大,小型的企业私有云至少会有几百台服务器,大企业会到达上百万台服务器,存放这些机器需要耗费大量的资源,云计算可以将其规模化整合。(3)高可用性是用来描述云计算最合适的词语,也是用户最喜欢它的一个特点,它运用了许许多多的副本容错技术,如数据备份。使用它会比本地服务靠谱多了。(4)为用户提供按需服务,用户根据自身需求购买资源,降低了造成过多的资源浪费的机率。(5)高扩展性,可以随时扩充系资源和减少资源。(6)是中小型企业或者创业的“福星”,它的成本比购买物理设备和软件设备底非常多。2.2

22、虚拟化技术2.2.1什么是虚拟化本文基于OpenStack搭建高可用企业私有云技术研究。项目开始之前我们需要了解什么是虚拟化,因为虚拟化技术是云计算的底层结构,但是它又不同于云计算,虚拟化属于技术范畴,而云计算属于方法范畴4。简单来说,虚拟化就是不真实的意思,虚拟服务器所运行的资源都不是自身真实存在的,而是来自于一台强大的物理服务器,这种服务器称之为”虚拟机“。在用户看来,这些虚拟机都是一台一台相对独立的,没有任何交集,但是实际上他们就是关系是非常密切的,他们共用物理机上的内存、cpu、网卡等资源。让我们在一台Windows或者MacOS上模拟多个系统,可以和宿主机相同,也可以不同,比如在Wi

23、ndows上安装CentOS,并非如此,还可以对CentOS所使用的硬件资源做配置,比如4CPU,8GMEM等,如图2-1所示。图2-1 VMware上部署CentOS72.2.2虚拟化的特点和分类虚拟化的特点:(1)对于管理员,虚拟化技术做到了集中化管理,当某个工位上的主机出现问题的时候,管理员不需要亲自到场处理,直接通过远程完成操作。快照、复制这些工具使管理员的日常管理变得十分方便。(2)对于企业的IT资源利用,虚拟化技术提高了硬件的利用率。一个企业的IT资源都必须满足当前或者几年之后的“峰值”计算需求,有了虚拟化技术之后,企业可以按照当前的计算需求对物理资源进行动态扩展。当有额外的“闲时

24、”容量时可以在这台物理机上运行多个虚拟机,但是不需要增加的物理资源。企业也不需要为了提高可靠性而在多个物理资源上部署应用,物理资源就会造成不必要的浪费,虚拟化的隔离性就可以很好的解决该问题,提高可靠性的同时也是资源得到最大化利用。(3)高可靠性,通过部署额外的功能和方案,实现负载均衡、动态迁移、快速复制等高可靠服务器应用,减少服务器或应用系统的停机时间,提高可靠性。虚拟化技术有很多种,比如,网络虚拟化,内存的虚拟化,桌面虚拟化,应用虚拟化和虚拟内存等等5。2.3 OpenStack2.3.1 OpenStack背景OpenStack是由Rackspace和NASA一起项创建的云计算项目并且将它

25、开源了,所以它只是一个开源的云平台管理项目。正是因为它开源了,很多”大神“级别的人物对其进行不断修改,贡献自己的智慧,OpenStack飞速发展,成为很多企业搭建私有云的首选。正所谓”无规矩不成方圆“,为了该项目能够顺利和规范地进行下去,形成了一个开源社区,该社区负责将项目进行推进和维护。社区里还建立了一个OpenStack基金会,自基金会建立以来,已经有十多万会员,其中中国社区的代码贡献者就有华为、中兴通讯等公司。OpenStack其实就是一套IaaS软件,为用户提高计算、存储、网络等服务。2.3.2 OpenStack各个组件核心组件:(1)KeyStone(身份服务):是一个OpenSt

26、ack自身开发的一个组件。其主要作用是对所有的服务进行认证和授权,提供服务认证的API,是整个OpenStack框架的注册表。(2)Glance(镜像服务):当用户创建实例的时候提供镜像服务,主要功能是存储镜像快照、管理镜像备份,支持存储不同格式的镜像,比如ios、qemu等格式。但是该服务并不会对本地物理机上的镜像进行处理。(3)Nova(计算服务):是整个OpenStack项目的“心脏”,实例运行期间所有的活动和操作都是由它管理,如网络,计算,迁移等。(4)Neutron(网络服务):它为云计算环境提供了网络虚拟化技术,为用户提供接口,在用户较多的情况下,能够给每个用户提供相对独立的网络环

27、境。用户按照自己的需求创建个性化网络平台,既可以控制网络流量,也可以控制服务器和设备同一时间连接到多个网络,Neutron主要和Nova进行交互,为实例提供网络连接。(5)Dashboard(UI界面):是一个Web图形化界面,用户可以通过URL登陆到图形界面进行操作,对OpenStack资源进行查看和管理。相对于命令界面来说,用户进行实例创建、实例启动、IP地址的分配等服务的操作也相对简单了。它是OpenStack一个独立存在的项目。(6)Cinder(块存储):创建实例时volume块存储服务由Cinder服务提供,将volume卷挂载到实例上作为虚拟机的本地磁盘。个volume卷可以同时

28、挂载多个实例上,但是不支持实例同时对该卷进行写操作,一次只能是一个实例可以对挂载的卷进行写操作,其他的只允许进行读操作。(7)Swift(对象存储):为Nova子项目提供虚拟机镜像存储服务,在多租户模式下支持容器和对象进行读写操作,是一个高可用的分布式对象存储服务。各个组件之间的关系,如图2-2所示。 图2-2 组件间的关系图2.4本章小结本章详细介绍了虚拟化技术的基本概念、虚拟化技术的优点以及OpenStack的基本概念,解释了OpenStack主要组件的功能以及特点,并且以图片的形式展现了各个组件之间的联系,接下来就要利用这系核心组件搭建该可用的企业私有云。第三章OpenStack企业私有

29、云设计与部署3.1部署高可用平台准备3.1.1硬件资源准备控制节点(3台三张网卡的虚拟机)、计算节点(3台双网卡,兼分布式存储OSD的虚拟机)、存储节点(1台双网卡部署MOD的虚拟机),虚拟机软件详情,如表3-1所示表3-1 组件的版本信息组件版本CentOSCentOS Linux release7.7.1908(Core)OpenStackCephRockyCeph version 12.2.12 luminous (stable)3.1.2网络拓扑及逻辑网络拓扑图,如图3-1所示:图 3-1网络拓扑(逻辑)1.在三个控制节点(controller1、controller2、control

30、ler3)部署MariaDBgaleria,Haproxy等相关组件和搭建好OpenStack相关的基础服务。2.在三个计算节点(computer1、computer2、computer3)部署Nova-computer,neutron-openstackswitch-agent,ceph-osd等组件。3.在存储控制节点(mon01)部署ceph-mon,ceph-mgr。4.控制节点网络:(1)管理网ens34:192.168.10.0/24用于对OpenStack集群hostos,api等网络管理。(2)租户网络ens35:10.10.10.0/24采用vxlan/gre等方式,使集群内

31、部的虚拟机里的OS的数据进行交换。(3)外部网络ens33:192.168.15.0/24可以让用户访问Internet(外网)下载需要的组件。5.计算节点网络:与控制节点的网络相似。6.前端用高可用的Haproxy做负载均衡,用MariaDB galeria作为数据库,用Ceph分布式存储对接OpenStack,通过这一系类的部署,希望能够顺利搭建完成高可用的私有云。3.1.2 OpenStack环境准备1.为了集群所有电脑都可以快速地互相访问,需要配置hosts文件;vim/etc/hosts /打开hosts文件,添加一下的虚拟机IP和对应的名字192.168.10.21 control

32、ler1192.168.10.22 controller2192.168.10.23 controller3192.168.10.20 VirtualIP192.168.10.24 mon01192.168.10.19 computer1192.168.10.18 computer2192.168.10.17 computer32.配置SSH是为了各个节点之间可以互相免密登陆;ssh-keygen /生成密钥,使它们可以免密通信ssh-copy-id controller2ssh-copy-id controller3ssh-copy-id mon01ssh-copy-id computers

33、sh-copy-id computer2ssh-copy-id computer33.安装和配置ntp服务器实现时间同步;#yum install system-config-date-y/下载安装NTP/修改NTP配置文件:#vim /etc/chrony.confServer 192.168.10.21 iburstServer 192.168.10.22 iburstServer 192.168.10.23 iburstallow 192.168.0.0/163.2 MariaDBGaleria集群MariaDB是MySQL的一个分支结构,它可以完全兼容MySQL,此次仿真实验的部署就是

34、采用它做数据管理,也就是数据库。同时还集成galeria插件,采用galeria插件的原因有两点:一是它可以自动将数据同步复制到每一个主节点,其他节点是可以对同步过去的数据进行读写操作,即可以修改该数据;还会自动剔除已经失效的或者删除掉的节点;有新增加的节点,数据也会自动进行同步;二是它具有数据不共享,高可用等特点。MariaDB与galeria插件集成,形成了高可用的数据库,其不存在同步延迟的问题。3.2.1安装与配置MariaDB(1)在所有的控制节点添加Mariadb的安装源;mariadbbaseurl= /写入下载Mariadb的安装源路径gpgcheck=0 /比检验从这个安装下载

35、地rpm包enabled=1 /用这个安装源(2)在全部控制节点安装MariaDB,完成安装后用命令开启服务;(3)所有的控制节点进行数据库安全设置、设置登陆数据库的密码并授权;(4)修改f文件,对MariaDB Galeri进行配置;(5)控制节点先将MariaDB服务停止;(6)初始化集群启动;需要成功启动controller1和controller2之后再启动controller2,(我以controller2作为第一个节点)否则会全部节点都不能成功启动;(7)最后登录数据库查看集群状态是否正常;(8)为了心跳检测,在全部控制节点的/usr/bin目录下面编辑clustercheck脚本

36、。MariaDB配置流程图如图3-2所示。图3-2 MariaDB集群流程3.3 HAProxyHAProxy提供了负载均衡、高可用性以及基于TCP和HTTP应用的代理,它支持主机虚拟化,它是一种免费、快速而且可靠的解决方案6。目前,HAProxy是最受欢迎的一款Web负载均衡软件,其非常适合一些需要24小时不间断地进行对话、负载量非常大的网站。现在常见的硬件设备上运行HAProxy来应付数以万计的并发连接是一件轻而易举的事情。用户在现有的基础服务架构与HAProxy整合的过程是既简单又安全,同时还会避免用户的Web服务器直接暴露到外部网络中,让web服务器得到最大程度的保护。3.3.1 HA

37、Proxy性能市面上有许许多多的负载均衡器,与其他的相比,HAProxy的优点在于它本身就只是一款负载均衡软件,没有其他的功能,所以它的效率一定是比Nginx更加高的。除此之外,在处理并发的问题上也是比Nginx更胜一筹。HAProxy有多的负载策略,如:原地址保持、请求URL、轮循、带权轮循、根据cookie;还支持虚拟主机、支持TCP协议和HTTP协议的负载均衡转发。3.3.2 HAProxy配置在三个控制节点都安装HAProxy,还需要保持三台节点的配置一样;(1)以controller2为例,下载安装和修改配置文件,然后启动HAProxy;/下载安装yum -y install hap

38、roxy/修改配置文件:/配置HAProxy的日志local3.info -/var/log/haproxy.log;Haproxylocal3.notice -/var/log/haproxy-status.log;Haproxylocal3.*(2)通过配置HAProxy可以监控Galera数据库,首先需要在控制节点三台MariaDB进行数据库的配置。在全部控制节点上,重新启动HAProxy,同时设置开机自动启动。(3)验证配置是否成功,登陆http:/192.168.10.20:8789/检测状态,如图3-3所示:图3-3 Haproxy能监控数据3.4 部署Keystone它是Open

39、Stack的主要组件之一,用于为云用户提供身份认证,想要用到云平台就必须要通过KetStone的身份认证,就像回家必须要有钥匙开门一样。其出现为了解决各种不同安全认证,如用户登陆时对身份进行认证,各个服务之间交互也是需要通过其认证,还有各种注册等。通俗的比喻就是,KeyStone相当于一个小区的保安,需要进行身份认证才可以进入,进入之后只能回到自己的家里。所以搭建OpenStack之初需要部署的第一个组件就是KenStone。如果没有它,其他服务也就无用武之地了。Keystone的基本概念:(1)User:为用户分发令牌,用户包括人,系统,服务;用户必须有获得该令牌才有资格访问OpenStac

40、k平台。Keystone在用户访问OpenStack平台的时候需对要其进行身份验证。(2)Token:它是来自于其中的一个令牌机制(fernet、PKIZ、PKI、UUID)所随机生成的一串由数字和字母组成的字符。它不是永久有效的,它具有时效性,默认是24小时,但是可以自定义设置这个时效性。在时效性内可以随时访问服务,过期了就不可以访问了。(3)Project:是所有服务或者用户拥有的资源的一个总称。每个Project之间是不会有交集的。一个Project里面允许有多个User,根据权限,User可以对Project的所有资源进行分配。(4)Service:就是平时说的服务,例如Nova(计算

41、服务),Glace(镜像服务)等各个组件。(5)Endpoint:是一个URL,可以用来访问云平台的IP地址,通常。Keystone负责管理和维护每个Service的Endpoint7。Endpoint该使用对象分为三类:(1)AdminURL:分配给管理员用户使用,可以修改UserProject,端口:35357;(2)InternalURL:Openstack里面的各个组件之间基于Restfulapi进行通信使用,端口:5000;(3)PublicURL:用于分配给其他用户访问云平台,用户在外网管理自己的服务其,端口:5000。3.4.1 Keystone的配置3.4.1.1安装Keyst

42、one与修改配置文件1.控制节点安装Enable the OpenStack repository(controller1和controller2);2.控制节点安装SQL database(controller01和controller02);3.在所有控制节点安装Memcached;#yum install memcached python-memcached-y/安装Memcached4.配置身份和服务;#mysql-uroot-ptypora#20195.安装和配置组件;#yum install openstack-keystone httpd mod_wsgi-y/安装需要的组件6.

43、configure the Identity service,创建keystone用户,初始化serveice实体和endpointapi端点;7.Configure the Apache HTTP servercont0$表示controller1、contoller2和controller3;#vim /etc/httpd/conf/httpd.conf /编辑httpd配置文件httpd.confServerName VirtualIP /在httpd.conf文件中添加ServerNameVirtualIP8.创建域,项目,用户和角色。(由于是集群,所以只要在一个控制节点上创建即可)。

44、#openstack domaincreatedescription AnExampleDomain example/测试是否可以使用admin账户进行登陆认证,请求认证令牌KeyStone的安装与配置流程,如图3-4所示图3-4 KeyStone安装与配置流程3.4.1.2创建域,项目,用户和角色结果(1)admin用户创建成功,如图3-5所示图3-5 创建admin用户(2)项目创建成功,如图3-6所示图3-6 创建ServiceProject项目(3)default域创建成功,如图3-7所示图3-7 创建default项目3.5 部署Glance-镜像服务在OpenStack部署过程中,

45、镜像服务就是由Glance实现的。在OpenStack环境下,用户可以发现镜像、回收和注册镜像,对整个镜像的生命周期进行管理8。Glance支持无格式、vhd格式、qcow格式、iso格式等。关于Glance主要的两大组件:(1)Glance-API:是镜像请求的入口,接受和处理由horizon、Nova-computer组件发送过来镜像请求,提供restapi服务。(2)Glance-registry:主要负责创建、删除、修改镜像等操作,所以其主要与MariaDB数据库交互,将会从数据库中获取或者存储镜像的元数据。其是一个私有服务,外网是访问不了的(3)两者结合的工作过程是:User发起请求

46、,Glance-API就会马上告诉Glance-registry,然后Glance-registry会将查询到镜像的具体位置再回复给API,最后AP使用Storageadapter组件查询Glance后端的存储(Swift,Ceph等),最终将获取到的镜像发送给User。Glance的架构图,如图3-8所示:图3-8 Glance的架构图3.5.1配置Glance1.配置MariaDB数据库中的Glance用户和权限等;2.创建GlanceAPI;3.安装Glance程序;#yum install openstack-glance -y/安装Glance4.在全部的控制节点配置Glance-a

47、pi.conf程序配置文件;5.修改Glance-registry.conf程序配置文件,在全部的控制节点上进行;6.同步Glance数据库(任意控制节点操作即可)。3.5.2启动Glance服务、测试镜像3.5.2.1启动Glance服务所有控制节点上操作;systemctl start openstack-glance-registry.service openstack-glance-api.service/启动glance服务3.5.2.2镜像测试测试结果:如图3-9图3-9 Glance的测试结果3.6控制节点配置Nova集群3.6.1Nova(计算资源)3.6.1.1Nova的基本

48、概念和特点Nova是OpenStack的核心部分,负责提供和管理实例的整个生命周期的计算资源9(如虚拟机的创建:虚拟机的运行和挂起、关闭、删除等),依靠DashBoard的命令完成一系列的操作。由于Nova自身并不具备虚拟化的能力,所以Nova并不是虛拟机软件,它还需要其他的虚拟机软件(如Hyper-v、KVM、Xen等)配合才可以正常工作。3.6.1.2Nova架构包括以下主要组件(1)NovaAPI:它是Nova组件的工作门户。它用于API查询,还有接收和处理用户发送的Http请求,并且同时支持OpenStackAPI和AmazonEC2API。(2)NovaCompute:用于管理实例的

49、整个生命周期(如:实例的创建),结合其他组件(如:Nova-valume,Nova-network等等)与消息队列相互配合完成实例的创建。(3)NovaScheduler:调度器用来守护进程运行,运用调度算法在可以使用的资源池里选择最合适服务其。但是调度的结果会受到很多因素的限制(如:内存的大小、CPU的架构、子节点距离等等)。目前基本的调度算法有:随机化;可用化;简单化(4)RabbitMQServer:最核心的组件是Exchange和Queue。Exchange和Queue是在rabbitmqserver(又叫做broker)端,producer和consumer在应用端。3.6.2部署N

50、ova节点3.6.2.1控制节点Nova部署1. 创建与Nova相关的数据库,在任意一个控制节点上即可;2. 任意控制节点上创建Nova-API;3. 用Yum命令在所有控制节点安装与Nova相关的服务;4. 全部控制节点配置Nova.conf、00-nova-placement-api.conf;5. 任意控制节点输入命令“su-s”同步Nova数据库;6. 在所有的控制节点启动Nova服务并且设置开机自动开启服务;7. 结果验证,如图3-10所示图3-10 nova验证结果Nova部署代码流程图,如图3-11所示。图3-11 Nova部署流程3.6.2.2Nova部署在计算节点1.在所有的

51、计算节点安装NovaYum install centos-release-openstack-rocky -y/安装rocky版本openstackYum update/更新软件的版本Yum install openstack-nova-compute -y/安装nova-compute2.计算节点和直接ssh免密认证3.修改计算节点nova.conf配置;4.在computer01、computer02、compuer03上执行启动Nova服务,并且设置开机启动;5.将计算节点添加到cell数据库里,在任意控制节点上操作。3.7 Neutron部署3.7.1控制节Neutron点部署Neut

52、ronneutron-server:接受和应答外网管理请求,端口是9696Neutron-linuxbridge-agent:主要是负责创建桥的接网卡Neturon-dhcp-agent:主要任务是分配IPNeturon-metadata-agent:与Nova-metadata-api配合完成虚拟机的特定化动作。部署过程:1.安装Neutron程序;#yum install openstack-neutron openstack-neutron-ml2 openvswitch openstack-neutron-openvswitch ebtables -y2.配置neutron.conf#

53、vim /etc/neutron/neutron.conf3.在全部控制节配置ml2_conf.ini#vim /etc/neutron/plugins/ml2/ml2_conf.ini4.在全部控制节点配置OpenvSwitch#vim /etc/neutron/plugins/ml2/openvswitch_agent.ini5.在全部控制节配置l3_agent.ini(self-networking)#vim /etc/neutron/l3_agent.ini6.在全部控制节配置dhcp_agent.ini#vim /etc/neutron/dhcp_agent.ini7.在全部控制节点

54、配置metadata_agent.ini#vim /etc/neutron/metadata_agent.ini8.在全部控制节点编辑配置nova.conf#vim /etc/nova/nova.conf9.在全部控制节点建立软链接#ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini10.在任意控制节点进行同步Neutron数据库并验证;11.在全部控制节点操重启Nova服务并启动Neutron服务,设置开机自动启动;12.将PCS资源设置在任意控制节点上;13.OVS命令(三网卡)#ovs-vsctladd-

55、port ens33/ens33为第三块网卡(外网网卡);配置完成ens33(此块网卡不配置网卡)后,开启neutron-l3-agent.service14.验证,如图3-12所示;图3-12 控制节点neutron验证结果3.7.1计算节点Neutron部署1.所有计算节点上安装Openstack-neutron-openvswitch服务#yum install openvswitch openstack-neutron-openvswitch ebtables ipset -y2.配置Neutron.conf(所有计算节点上安装)3.所有计算节点上安装和配置Openvswitch_ag

56、ent.ini;#vim /etc/neutron/plugins/ml2/openvswitch_agent.ini4.所有计算节点上安装和配置Nova.conf;5.重启Nova服务并启动Neutron服务(在全部计算节点操作computer01computer02、computer03)。6.结果验证,如图3-13所示图3-13 计算节点Neutron验证结果3.8Horizon集群Horizon是一个Web接口,作用是给OpenStack系统提供界面服务。云平台管理员和其他用户可以用它来管理OpenStack平台的创建实例、创建镜像、创建密匙对等资源,并可直观看到各种操作结果与运行状态

57、。除此之外,用户在控制面板中可以使用VNC直接访问或者使用终端(console)实例10。3.8.1Horizon部署1.部署Dashboard,需要在所有的控制节点上执行;2.修改local_settings配置文件,所有的控制节点都需要修改;#vim /etc/openstack-dashboard/local_settings3.在所有的控制节点重启Httpd和memcached服务,并且设置开机自动启动;4.验证;用户名和密码为admin登陆。结果如图3-14所示。图3-14 登陆OpenStack3.9Cinder集群Cinder的主要组件:(1)cinder-api:作为Cinde

58、r服务的入口,主要作用是接收Cinder服务的请求,并且为其提供了同一规格的RestAPI服务;(2)cinder-volume:主要作用是跟存储设备打交道,为用户提供卷的存储空间。用于创建、存储、删除卷等操作。(3)cinder-scheduler:主要负责进行调度计算,将存储块节点分配给新建卷。(4)cinder-backup:只要负责备份服务,与驱动和后端的备份设备交互,如:swift等等。3.9.1控制节点部署1.创建cinder数据库,只需要在任一控制节点上创建即可,后台数据会自动同步;2.创建cinder-api,在任意控制节点上(我在controller2上);3.安装cinde

59、r服务,需要在所有控制节点上都安装;#yum install openstack-cinder -y4.用vim命令配置cinder.conf#cp -p /etc/cinder/cinder.conf,.bak /复制备份原来的配置文件#vim /etc/cinder/cinder.conf5.在全部控制节点操作和存储节点配置nova.conf#vim /etc/nova/nova.conf6.在任意控制节点对cinder数据库进行同步#su -s /bin/sh-ccinder-manage db synccinder /同步数据库7.在所有控制节点重新启动nova服务和启动cinder服

60、务(如果计算节点有变更nova也要重新启动)。8.验证结果,如图3-15图3-15 Cinder验证结果3.9.2存储节点部署因为本人计算机资源有限,所以没办法再配置单独的存储节点,所以使用contoller2作为存储节点。设计采用Ceph分布式存来作为主存储集群。3.10 Ceph集群Ceph是目前国外非常流行的一种分布式存储方式,在国内也慢慢兴起。其可以自动恢复备份、具有非常高的可靠可靠性;将三大存储模块(块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs)统一起来,实现了真正的统一存储。很重要的一点是,它也是一个开源的软件,目前,OpenStack与它可以说是

61、“形影不离”,成为了OpenStack的主流存储后端。用Ceph作为OpenStack的存储后端的优点:(1)由于所有的计算节点共享了存储,即使有一台虚拟机down掉了,其他虚拟机机会马上启动服务,使服务不会中断;虚拟机迁移的时候也不需要将整个根磁盘一起迁移。(2)CephRBD支持按需分配存储资源,当用户创建一个50G的硬盘时,刚开始的时候并不会直接占用物理机得50G资源,而是按照数据写入多少进行动态分配存储资源,这样就不会造成不必要得资源浪费,也不会占用大量得物理机的资源。(3)在创建虚拟机时利用了CopyOnWrite的特性,不需要下载整个镜像11,实现了超快速创建虚拟机。3.10.1各

62、个节点安装Ceph1.设置Ceph的yum源(所有mod和OSD上配置;2.安装Ceph-deploy(在adminserver上,此处我在mon01);3.安装Ceph包(在adminserver上,此处我在mon01)。3.10.2创建ceph集群1.创建mon&mgr,先以controller3作为initialmonitor创建集群;2.修改集群配置文件(optional);3.部署initial monitor;4.创建cephkeyring;5.分发ceph keyring,执行admin的命令,ceph-deploy可以帮我做这些;#ceph-deploy admin mon01 comp01 comp02 comp036.从Ceph12(luminous)开始就需要为每个monitor创建一个mgr;7.添加OS

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!