ImageVerifierCode 换一换
格式:DOCX , 页数:71 ,大小:531.04KB ,
资源ID:10209177      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10209177.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OpenStack快速入门.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

OpenStack快速入门.docx

1、OpenStack快速入门OpenStack快速入门 第一部分:OpenStack及其构成简介 一、云计算 云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。 不同的“云”对应着不同的基础设施。下面是三种广义的“云”: 1基础设施即服务IaaS 2平台即服务PaaS 3软件即服务SaaS 译者注:Open为开放之意,Stack则是堆栈,OpenStack合起来如其名,就是许多Open的Softwares堆积的集合,但1 + 1

2、2,系统的功能更为强大。 二、OpenStack概述 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立、运行自己的云计算和存储设施。Rackspace与NASA是最初重要的两个奉献者,前者提供了“云文件”平台代码,该平台增强了OpenStack对象存储部分的功能,而后者带来了“Nebula”平台形成了OpenStack其余的部分。而今,OpenStack基金会已经有150多个会员,包括很多知名公司。目前8个白金会员包括AT&T、Canonical、HP、IBM、Nebula、Rackspace、Red Hat和SUSE。黄金会员包括思科、戴尔、NetApp、Piston

3、云计算、雅虎、英特尔、NEC、VMware,等等。 以下是5个OpenStack的重要构成部分: 1Nova - 计算服务 2Swift - 存储服务 3Glance - 镜像服务 4Keystone - 认证服务 5Horizon - UI服务 OpenStack的基本架构如以下图:图1 OpenStack基本构架 以下图展示了Keystone、Dashboard二者与其它OpenStack部分的交互。图2 OpenStack各组件的交互 三、OpenStack计算设施-Nova Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理

4、和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。 功能及特点:实例生命周期管理、计算资源管理、网络与授权管理、基于REST的API、异步连续通信、支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V。 Nova弹性云包含以下主要部分:API Servernova-api、消息队列rabbit-mq

5、server、运算工作站nova-compute、网络控制器nova-network、卷管理nova-volume、调度器nova-scheduler。 1API服务器nova-api API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。 2消息队列Rabbit MQ Server OpenStack内部在遵循AMQP高级消息队列协议的基础上采用

6、消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。 3运算工作站nova-compute 运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。 4网络控制器nova-network 网络控制器处理主机的网络配置,例

7、如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。 5卷工作站nova-volume 卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中别离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比方当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丧失。可是,如果从一个实例中将卷别离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。 因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。 6调度器no

8、va-scheduler 调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比方负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。 目前nova调度器使用了几种基本的调度算法: 随机化:主机随机选择可用节点; 可用化:与随机相似,只是随机选择的范围被指定; 简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。 四、OpenStack镜像服务器-Glance OpenStack镜像服务

9、器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中: 1本地文件系统默认 2OpenStack对象存储 3S3直接存储 4S3对象存储作为S3访问的中间渠道 5 只读 功能及特点:提供镜像相关服务 Glance构件:Glance控制器、Glance注册器 五、OpenStack存储设施-Swift Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据千兆字节和大容量多对象数量的测度

10、非常高效。 功能及特点:海量对象存储、大文件/大对象存储、数据冗余管理、归档能力处理大数据集、为虚拟机和云应用提供数据容器、处理流媒体、对象安全存储、备份与归档、良好的可伸缩性。 Swift组件:Swift代理、Swift对象、Swift容器、Swift账户、Swift RING。 1Swift代理服务器 用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。 2Swift对象服务器 对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索

11、和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据xattr。 注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。 3Swift容器服务器 容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件译者注:也可以修改为MySQL,安装中就是以MySQL为例。容器服务器也会统计容器中包含的对象数量及容器的存储空间消耗。 4Swift账户服务器 账户服务器与容器服务器类似,

12、将列出容器中的对象。 5Swift Ring索引环 Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。 六、OpenStack认证服务Keystone Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST基于Identity API系统进行工作,主要对但不限于Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。如以下图所示:图3 Keys

13、tone的认证管理 Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌Token。除此之外,Keystone提供以下三种服务: 1令牌服务:含有授权用户的授权信息 2目录服务:含有用户合法操作的可用服务列表 3策略服务:利用Keystone具体指定用户或群组某些访问权限 认证服务组件: 1服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口endpoints。 2区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。

14、 3用户:Keystone授权使用者。 译者注:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书credentials,且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。来源: 4服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。 5角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。 译者注:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组

15、并绑定到与某个指定租户相关的用户。 6租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。 译者注:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。 七、OpenStack管理的Web接口-Horizon Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端console或VNC直接访问实例。总之,Horizon具有如下一些特点: 1实例管理:创建

16、、终止实例,查看终端日志,VNC连接,添加卷等 2访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等 3偏好设定:对虚拟硬件模板可以进行不同偏好设定 4镜像管理:编辑或删除镜像 5查看服务目录 6管理用户、配额及项目用途 7用户管理:创建用户等 8卷管理:创建卷和快照 9对象存储处理:创建、删除容器和对象 10为项目下载环境变量第二部分:OpenStack安装与配置 一、引言 本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1、Server2和Client1,之后的各章也是如此。Server1承载着Nova、Glance、Swift、Keystone及Hor

17、izonOpenStack的Web UI服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几个部分都可以安装在任意服务器上。 Client1并不是安装所必须的,在本例中,它仅用来制作打包镜像,并使用它访问Horizon,以便在Web上管理OpenStack设施。这防止了使用服务器来完成镜像打包等诸如此类的任务,而且在制作桌面系统镜像时如果包含视窗界面的话,我们也只能相应地使用有GUI的电脑来完成,因此最好还是别在服务器上玩火了吧。建议Client1支持虚拟化技术,以便在制作完镜像打包时可以运行KVM。图4 OpenStack

18、安装规划 OpenStack安装需要设定主机名、IP地址等,按你实际的环境进行配置。下表是译者安装的网络参数清单:图5 网络参数清单 以下是教程中网络设置参数,本教程均采用这些参数,但在实际安装中请参照上表进行设置。图6 本教程网络设置参数 二、Server1 正如上表所示,Server1包含了所有的Nova服务:nova-compute、nova-api、nova-volume、nova-network以及Glance、Swift、Keystone和Horizon。这台服务器上需要双网卡。 1、安装底层OS 不必多想,请参照下述说明,记住相关参数,选择64位版,进行安装。 1创建的第一个用户

19、命名为“localadmin” 2为eth0和eth1设定IP及其相关参数 3在安装服务包中,仅选择“Openssh-server”作为预装项 因为Server1上也将安装nova-volume软件,而nova-volume需要一块专用分区,所以在安装Ubuntu Server时请选择手动分区,并另行创建一块合适大小的分区。从本章起,教程都将以/dev/sda6作为这块分区。你可以根据自己分区的实际情况进行修改。此外,请使用fdisk工具将该分区需要格式化为LVM8e格式,这一操作在安装中或刚安装完毕格式化均可。进一步,如果你还计划在这台服务器上再新建一个分区配给Swift的话,那么就新建一块

20、分区并参照本章后文“安装Swift”一节相关内容进行安装。 待的UbuntuOS安装完毕后 ,使用以下命令更新系统:sudo apt-get updatesudo apt-get upgrade 安装网桥工具bridge-utils:sudo apt-get install bridge-utils 2、配置网络 编辑/etc/network/interfaces文件,如下所示:plain view plaincopyprint?mask255.255.255.07.broadcast10.10.10.2558.gateway10.10.10.19.dns-work192.168.3.015.

21、broadcast192.168.3.255auto loiface lo inet loopbackauto eth0iface eth0 inet staticauto eth1iface eth1 inet static 随后重新启动网络: 3、NTP服务器 安装NTP软件包。这个时间服务器将为所有节点提供支持。OpenStack所有组件的时间都必须同步,于是我们就在Server1上安装NTP服务并且让其他服务器或节点与之保持同步。sudo apt-get install ntp 译者注:NTPNetwork Time Protocol,是用来使电脑时间同步化的一种协议,它可以使电脑对其

22、服务器或时钟源如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正LAN上与标准间差小于1毫秒,WAN上几十毫秒,且可介由加密确认的方式来防止恶毒的协议攻击。 打开文件增加以下三行内容,目的是让本服务器时间与外部服务器时间同步。如果不能访问外网,NTP服务器将使用本机硬件时钟作为第二选择。plain view plaincopyprint?1. 2.server127.127.1.03.fudge127.127.1.0stratum10 fudge 127.127.1.0 stratum 10 然后重启NTP使配置生效:sudo service ntp restart 请确保服务器IP

23、地址可以被DNS解析。如果不能,则在/etc/hosts文件中手工加入。 4、数据库 我们有很多项选择择:MySQL、PostgreSQL或者SQLite等都能很好地对Nova和Glance提供数据支持。究竟选哪个,自己定吧。本例中采用MySQL。 安装mysql-server和python-mysqldb包:sudo apt-get install mysql-server python-mysqldb 为mysql创建root密码,在此使用“mygreatsecret”。随后编辑mysql配置文件/etc/mysql/my f,将绑定地址从改为,如下所示: 重启MySQL服务器让其开始监听

24、所有端口:sudo restart mysql 创建数据库: 我们将要为nova、glance和keystone创建很多东东,各种数据库、表及用户。话音未落,这就开始了: 1创建名为“nova”的数据库:sudo mysql -uroot -pmygreatsecret -e CREATE DATABASE nova; 新建一个用户,名为“novadbadmin”:sudo mysql -uroot -pmygreatsecret -e CREATE USER novadbadmin; 授予novadbadmin用户nova数据库全部权限:sudo mysql -uroot -pmygreat

25、secret -e GRANT ALL PRIVILEGES ON nova.* TO novadbadmin%; 为novadbadmin同志创建密码译者注:密码是novasecret,后文类似之处不多言,请详见命令:sudo mysql -uroot -pmygreatsecret -e SET PASSWORD FOR novadbadmin% = PASSWORD(novasecret); 2Glance登场,还是重复刚刚的道道,首先创建一个名为glance的数据库:sudo mysql -uroot -pmygreatsecret -e CREATE DATABASE glance;

26、 然后为这个新建的数据库添加一个用户“glancedbadmin”:sudo mysql -uroot -pmygreatsecret -e CREATE USER glancedbadmin; 接着,荣耀授予他本数据库的全部权限:sudo mysql -uroot -pmygreatsecret -e GRANT ALL PRIVILEGES ON glance.* TO glancedbadmin%; 是的,最后一步,为该用户分配密码:sudo mysql -uroot -pmygreatsecret -e SET PASSWORD FOR glancedbadmin% = PASSWOR

27、D(glancesecret); 3很烦的,keystone出场了。刚刚的大循环,至此开始演绎第三遍:sudo mysql -uroot -pmygreatsecret -e CREATE DATABASE keystone;sudo mysql -uroot -pmygreatsecret -e CREATE USER keystonedbadmin;sudo mysql -uroot -pmygreatsecret -e GRANT ALL PRIVILEGES ON keystone.* TO keystonedbadmin%;sudo mysql -uroot -pmygreatsec

28、ret -e SET PASSWORD FOR keystonedbadmin% = PASSWORD(keystonesecret) 现在,MySQL部分的工作结束。 5、Keystone Keystone是OpenStack的认证服务。使用以下命令进行安装:sudo apt-get install keystone python-keystone python-keystoneclient 打开文件,将这一行:admin_token = ADMIN 改为:admin_token = admin 本教程中我们将一直使用admin作为令牌。 本例中,我们使用MySQL来存储keystone配置,则将中的这句配置: 换成: 然后,重启Keystone:sudo service keystone restart 接着,执行以下命令同步数据库:sudo keystone-manage db_sync 最后,有些环境变量是OpenStack运行所必须的:export SERVICE_ENDPOINT= :/localhost:35357/v2.0export SERVICE_TOKEN=admin 当然为了防止下次系统重启后,还得将这

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1