版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁夏大学专业综合设计与开发实验报告Openstack的搭建杨大爷s班德尔城目录目录目录 1第一部分————基础知识 11. openstack是什么 12. Openstack的计算设施————Nova 43. Openstack的镜像服务器————Glance 64. Openstack的管理Web的接口————Horizon 75.openstack的存储设备————swift 85. Openstack的认证服务————Keystone 10第二部分————openstack的搭建 111.openstack安装的准备工作 111.1实验环境 111.2网络规划 121.3实验环境的安装 132.实验环境软件的安装 222.1基础软件包EPEL仓库 222.2yun安装 233.基础服务部署 243.1数据库服务 243.2消息代理服务RabbitMQ 264.认证服务keystone 274.1keystone的安装 274.2keystone的配置 284.3keystone管理 304.4验证keystone安装 325.Imageservices(Glance) 335.1glance安装 335.2glance配置准备 335.3设置数据库 345.4设置rabbitmq 355.5设置keystone 355.6glance启动 365.7测试glance 376.ComputerServices(Nova) 396.1NOVA安装 396.2创建配置文件 396.3nova的配置 406.4创建novaservice和endpoint 436.5启动novaservice 446.6安装novnc并启动该服务 456.7验证nova的安装 457.Dashboard(Horizon) 467.1horizon配置 467.2apache配置 467.3启动apache 478..Networkingservices(Neutron) 488.1neutron安装 488.2neutron配置 488.3neutronplugin 518.4neutron启动 528.5测试neutron安装 52第一部分————基础知识openstack是什么为了更好的理解,我们首先来说一下云计算的类型。根据所提供服务的类型,云计算有以下三种落地方式:1、Iaas(基础架构即服务),用户能从中申请到硬件或虚拟硬件,包括裸机或虚拟机,然后在上边安装操作系统或其他应用程序。2、PaaS(平台即服务),用户能从中申请到一个安装了操作系统以及支撑应用程序运行所需要的运行库等软件的物理机或虚拟机,然后在上边安装其他应用程序,但不能修改已经预装好的操作系统和运行环境。3、SaaS(软件即服务),用户可以通过网络以租赁的方式来使用一些软件,而不是购买,比较常见的模式是提供一组账号密码。OpenStack就是一种IaaS。2010年7月,RackSpace和美国国家航空航天局合作,分别贡献出RackSpace云文件平台代码和NASANebula平台代码,并以Apache许可证开源发布了OpenStack,OpenStack由此诞生。OpenStack第一版的代号为Austin,以RackSpace所在的美国德州Texas首府命名,计划每隔几个月发布一个全新的版本,并且以26个英文字母为首字母从A到Z顺序命名后面的版本。第一版仅有Swift和Nova两个项目。2011年2月,OpenStack社区发布了Bexar版本,这是OpenStack的第二版,新增了Glance来提供镜像服务。2011年4月,OpenStack社区发布了更加稳定的Cactus版本,但是这个版本没有新的项目。2011年9月,OpenStack发布了它的第四个版本Diablo,从此OpenStack的版本更新定为每半年一次,分别是当年的春秋两季。…….OpenStack目前共涵盖了七个核心组件,分别是计算(Compute)、对象存储(ObjectStorage)、认证(Identity)、用户界面(Dashboard)、块存储(BlockStorage)、网络(Network)和镜像服务(ImageService)。每个组件都是多个服务的集合,一个服务意味着运行着的一个进程。Compute(Nova)Compute的项目代号是Nova,他根据需求提供虚拟机服务,比如创建虚拟机或对虚拟机做热迁移等。ObjectStorage(Swift)它允许存储或检索对象,也可以认为它允许存储或检索文件,它能以低成本的方式管理大量无结构数据。Identity(Keystone)为所有OpenStack服务提供身份验证和授权,跟踪用户以及他们的权限,提供一个可用服务及API列表。DashBoard(Horizon)它为所有OpenStack的服务提供一个模块化的基于Django的界面,通过这个界面,不论是最终用户还是运维人员都可以完成大多数的操作,比如启动虚拟机,分配IP地址,动态迁移等。BlockStorage(Cinder)提供块存储服务Network(Neutron)用于提供网络连接服务,允许用户创建自己的虚拟网络并连接各种网络设备接口。ImageService(Glance)提供一个虚拟机镜像的存储、查询和检索服务,通过提供一个虚拟磁盘映像的目录和存储库,为Nova虚拟机提供镜像服务。下面以创建虚拟机为例说明一下各个组件之间是如何相互配合完成工作的。用户首先接触到的是界面,也就是Horizon。通过Horizon上的简单界面操作,一个创建虚拟机的请求被发送到OpenStack系统后端。既然要启动一个虚拟机,就必须指定虚拟机操作系统是什么类型,就必须下载启动镜像以供虚拟机启动使用,这件事情就有Glance来完成的,而此时Glance所管理的镜像是有可能存储在Swift上的,所以需要与Swift交互得到需要的镜像文件。在创建虚拟机的时候,自然而然地需要Cinder提供块服务和Neutron提供网络服务,以便该虚拟机有volume可以使用,能被分配到IP地址与外界网络连接,而且之后改虚拟机资源的访问要经过KeyStone的认证之后才可以继续。至此,OpenStack的所有核心组件都参与了这个创建虚拟机的操作。官方的解释相信大家都已经了解了,不了解也没有关系。现在从常识的角度来给大家解释和说明。OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,OpenStack被公认作为基础设施即服务(简称IaaS)资源的通用前端。如果这些还不明白,那么从另外的角度给大家介绍:首先让大家看下面两个图就很简单明了了:
此图为openstack的登录界面
可以说他是一个框架,甚至可以从软件的角度来理解它。如果不明白,就从传统开发来讲解。不知道你是否了解oa,erp等系统,他和oa,erp有什么不同。很简单就是openstack是用做云计算的一个平台,或则一个解决方案。它是云计算一个重要组成部分。openstack能干什么。大家都知道阿里云平台,百度云平台,而阿里云平台据传说就是对openstack的二次开发。对于二次开发相信只要接触过软件的都会明白这个概念。不明白的自己网上去查一下。也就是说openstack,可以搭建云平台,什么云平台,公有云,私有云。openstack自身都包含什么以下是5个OpenStack的重要构成部分:Nova–计算服务Swift–存储服务Glance–镜像服务Keystone–认证服务Horizon–UI服务Openstack的计算设施————NovaNova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirtAPI与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。功能及特点实例生命周期管理计算资源管理网络与授权管理基于REST的API异步连续通信支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMwarevSphere及Hyper-VOpenStack计算部件Nova弹性云包含以下主要部分:APIServer(nova-api)消息队列(rabbit-mqserver)运算工作站(nova-compute)网络控制器(nova-network)卷管理(nova-volume)调度器(nova-scheduler)API服务器(nova-api)API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStackAPI”。消息队列(RabbitMQServer)OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。运算工作站(nova-compute)运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。网络控制器(nova-network)网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。卷工作站(nova-volume)卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。调度器(nova-scheduler)调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。目前nova调度器使用了几种基本的调度算法:随机化:主机随机选择可用节点;可用化:与随机相似,只是随机选择的范围被指定;简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。Openstack的镜像服务器————GlanceOpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:本地文件系统(默认)OpenStack对象存储S3直接存储S3对象存储(作为S3访问的中间渠道)HTTP(只读)Glance构件Glance控制器Glance注册器Glance-API:主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。Glance-Registry:主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。功能及特点提供镜像相关服务
Openstack的管理Web的接口————HorizonHorizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。总之,Horizon具有如下一些特点:实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
偏好设定:对虚拟硬件模板可以进行不同偏好设定镜像管理:编辑或删除镜像
查看服务目录管理用户、配额及项目用途
用户管理:创建用户等
卷管理:创建卷和快照对象存储处理:创建、删除容器和对象为项目下载环境变量5.openstack的存储设备————swiftSwift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于AmazonWebService的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。功能及特点:海量对象存储大文件(对象)存储数据冗余管理归档能力处理大数据集为虚拟机和云应用提供数据容器处理流媒体对象安全存储备份与归档良好的可伸缩性Swift组件Swift账户
Swift容器Swift对象Swift代理SwiftRINGSwift代理服务器用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。Swift对象服务器对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。Swift容器服务器容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。Swift账户服务器账户服务器与容器服务器类似,将列出容器中的对象。Ring(索引环)Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。Openstack的认证服务————KeystoneKeystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于IdentityAPI)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定;Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:令牌服务:含有授权用户的授权信息目录服务:含有用户合法操作的可用服务列表策略服务:利用Keystone具体指定用户或群组某些访问权限认证服务组件:服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。用户:Keystone授权使用者PS:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。PS:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。PS:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。第二部分————openstack的搭建1.openstack安装的准备工作1.1实验环境由于我们采用的式伪分布模式来搭建openstack平台,所以这里我们采用虚拟机来实现伪分布节点,采用的软硬件配置如下:主机硬件环境软件环境主机OSwindows10专业版64位(当然,其他也行,我试过windows7专业版64位)虚拟平台LinuxOSCentOS-6.5-x86_64至少建立两台虚拟机,分别作为控制,网络和计算节点,这里建议采用克隆方式来完成。1.2网络规划两节点网络规划如下:主机名IP地址作用描述O控制节点O计算节点1.3实验环境的安装安装OracleVMVirtualBox建立虚拟机虚拟电脑的安装位置不建议选在系统启动盘,因为后续实验做完会有很大的空间被占用,为防止影响系统速度,建议选择别的盘来安装,我的安装地址如下:安装完毕重启即可:网络的设置编辑/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/sysconfig/network-scripts/ifcfg-eth1两个文件,分别对网卡一和网卡二进行设置。(1)设置网卡1[root@openstack-node1~]#vim/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=static(2)置网卡2[root@openstack-node1~]#vim/etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=dhcp网络内部域名解析和hostname的配置(1)设置主机的hostname[root@openstack-node1~]#vim/etc/sysconfig/networkNETWORKING=yes(2)设置主机节点的域名解析[root@openstack-node1~]#vim/etc/hosts新添加:注意:openstack-node1s是主机名,是完整的主机域名,这个设置如果不对会导致启动rabbitmq错误.内核参数调整[root@openstack-node1~]#vim/etc/sysctl.confNet.ipv4.ip_forward=1Net.ipv4.conf.all,rp_filter=0Net.ipv4.conf.default.rp_filter=0[root@openstack-node1~]#sysctl-p关闭iptables和selinux关闭防火墙[root@openstack-node1~]#/etc/init.d/iptablesstop[root@openstack-node1~]#chkconfigiptablesoff[root@openstack-node1~]#chkconfig–list|grepiptables关闭selinux[root@openstack-node1~]#vim/etc/sysconfig/selinuxSELINUX=disabled系统的克隆C:\VM>nage.execlonevdi“F:\OS-VM\openstack-node1.vdi”“F:\OS-VM\openstack-node2.vdi”的安装安装xshell,建立openstack-node1和openstack-node2的连接:2.实验环境软件的安装2.1基础软件包EPEL仓库[root@openstack-node1~]#rpm-ivh2.2yun安装[root@openstack-node1~]#yuminstall-ypython-pipgccgcc-c++makelibtoolpatchautomakepython-devellibxslt-develMySQL-pythonopenssl-devellibudev-develgitwgetlibvirt-pythonlibvirtqemu-kvmgeditpython-numdisplaypython-eventletdevice-mapperbridge-utilslibffi-devellibffipython-cryptolrzszswig安装redhat的rdo仓库创建仓库[root@openstack-node1~]#[openstack-icehouse]
name=OpenStackIcehouseRepository
enabled=1
gpgcheck=0
gpgkey=Keystone安装[root@openstack-node1~]#yuminstallopenstack-keystonepython-keystoneclientGlance的安装[root@openstack-node1~]#yuminstallopenstack-glancepython-glanceclientpython-cryptoNova控制节点安装[root@openstack-node1~]#yuminstallopenstack-nova-apiopenstack-nova-cert\openstack-nova-conductoropenstack-nova-consoleopenstack-nova-novncproxy\openstack-nova-schedulerpython-novaclient注意:nova.conf是配置Nova的核心配置文件,Nova的配置主要围绕该配置文件Neutron控制节点安装[root@openstack-node1~]#yuminstallopenstack-neutronopenstack-neutron-ml2python-neutronclientopenstack-neutron-linuxbridgeHorizon安装[root@openstack-node1~]#yuminstall-yhttpdmod_wsgimemcachedpython-memcachedopenstack-dashboardCinder控制节点安装[root@openstack-node1~]#yuminstallopenstack-cinderpython-cinderclientCinder存储结点安装[root@openstack-node1~]#yuminstallopenstack-cinder3.基础服务部署3.1数据库服务Mysql安装[root@openstack-node1~]#yuminstallmysql-server[root@openstack-node1~]#cp/usr/share/mysql/f/etc/f[root@openstack-node1~]#vim/etc/f增加以下配置”[mysqld]default-storage-engine=innodbinnodb_file_per_tablecollation-server=utf8_general_ciinit-connect='SETNAMESutf8'character-set-server=utf8[root@openstack-node1~]#chkconfigmysqldon[root@openstack-node1~]#/etc/init.d/mysqldstart数据库的安装[root@openstack-node1~]#mysql-urootmysql>showdatabases;创建keystone数据库并授权mysql>createdatabasekeystone;mysql>grantallonkeystone.*tokeystone@'/'identifiedby'keystone';创建glance数据库并授权mysql>createdatabaseglance;mysql>grantallonglance.*toglance@'/'identifiedby'glance';创建nova数据库并授权mysql>createdatabasenova;mysql>grantallonnova.*tonova@'/'identifiedby'nova';创建neutron并授权mysql>createdatabaseneutron;mysql>grantallonneutron.*toneutron@'/'identifiedby'neutron';创建cinder并授权mysql>createdatabasecinder;mysql>grantalloncinder.*tocinder@'/'identifiedby'cinder';3.2消息代理服务RabbitMQ安装[root@openstack-node1~]#yum-yinstallncurses-devel[root@openstack-node1~]#yuminstall-yerlangrabbitmq-server[root@openstack-node1~]#chkconfigrabbitmq-serveron启用Web监控插件启用后就可以通过http://IP:15672/来访问web管理界面。默认yum安装的rabbitmq-server没有将rabbitmq-plugins命令放到搜索路径,需要使用绝对路径来执行。[root@openstack-node1~]#/usr/lib/rabbitmq/bin/rabbitmq-pluginslist[root@openstack-node1~]#/usr/lib/rabbitmq/bin/rabbitmq-pluginsenablerabbitmq_management[root@openstack-node1~]#/etc/init.d/rabbitmq-serverrestart打开本地浏览器,输入http://IP:15672/,这里的IP为,即输入11:15672,打开如下图的rabbitmq管理界面,用户名和密码都为guest。4.认证服务keystone4.1keystone的安装安装包的下载[root@openstack-node1~]#cd/usr/local/src[root@open-node1src]#下载过程中遇到个别包下载失败的情况时,只需单独重新下载,无需下载全部。4.2keystone的配置建配置文件[root@openstack-node1src]#cd[root@openstack-node1keystone-2014.1.3]#cpetc/keystone-paste.ini/etc/keystone[root@openstack-node1keystone-2014.1.3]#cpetc/policy.v3cloudsample.json/etc/keystonecdcd/etccdkeystone★因为前后目录有变化,所以我们用这三条命令对文件地址做出改变,后续内容也会遇到类似情况,处理方法同此处。[root@openstack-node1keystone]#置keystone(1)配置admin_token[root@openstack-node1~]#ADMIN_TOKEN=$(opensslrand-hex10)[root@openstack-node1~]#echo$ADMIN_TOKEN生成码;df5ce3edb2690001251c5★:以后会遇到很多这样的生成码,不同的电脑会产生不同的码,我们需要注意自己的生成码,对照文档做出相应改变。[root@openstack-node1~]#vim/etc/keystone/keystone.conf13admin-token=df5ce3edb2690001251c5前边的行数不一定准确,可能有偏差,需注意(2)配置日志文件374debug=true439log_file=keystone.log444log_dir=/var/log/keystone(3)配置数据库619connection=mysql注意:以上所示文件配置行数不一定准确,只是大概值:(4)验证日志的配置[root@openstack-node1keystone]#grep"^[a-z]"/etc/keystone/keystone.conf设置PKITOKEN[root@openstack-node1~]#keystone-managepki_setup--keystone-userroot--keystone-grouproot[root@openstack-node1~]#chown-Rroot:root/etc/keystone/ssl[root@openstack-node1~]#chmod-Ro-rwx/etc/keystone/ssl同步数据库[root@openstack-node1~]#keystone-managedb_sync[root@openstack-node1~]#mysql-h11-ukeystone-pkeystone-e"usekeystone;showtables;"如果现实如下数据库列表,就表示数据库没问题:4.3keystone管理启动keystone[root@openstack-node1~]#keystone-all--config-file=/etc/keystone/keystone.conf[root@openstack-node1etc]#nohupkeystone-all--config-file=/etc/keystone/keystone.conf&[root@openstack-node1etc]#tail-f/var/log/keystone/keystone.log创建admin用户[root@openstack-node1~]#exportOS_SERVICE_TOKEN=$ADMIN_TOKEN[root@openstack-node1~]#exportOS_SERVICE_TOKEN=7bb528919fa7fee2bf2c[root@openstack-node1~]#exportOS_SERVICE_ENDPOINT=11:35357/v2.0[root@openstack-node1keystone]#keystonerole-list创建admin用户[root@openstack-node1~]#keystoneuser-create--name=admin--pass=admin创建admin角色[root@openstack-node1~]#keystonerole-create--name=admin创建admin租户[root@openstack-node1~]#keystonetenant-create--name=admin--description="AdminTenant"连接adminn的用户,角色和租户[root@openstack-node1~]#keystoneuser-role-add--user=admin--tenant=admin--role=admin连接admin用户,_member_角色admin租户[root@openstack-node1~]#keystoneuser-role-add--user=admin--role=_member_--tenant=admin查看刚刚创建的用户等情况:[root@openstack-node1~]#keystoneuser-list[root@openstack-node1~]#keystonerole-list[root@openstack-node1~]#keystonetenant-list创建普通用户[root@openstack-node1~]#keystoneuser-create--name=demo--pass=demo[root@openstack-node1~]#keystonetenant-create--name=demo--description="DemoTenant"[root@openstack-node1~]#keystoneuser-role-add--user=demo--role=_member_--tenant=demo创建keystone的service和endpoint[root@openstack-node1~]#keystoneservice-create--name=keystone--type=identity--description="OpenStackIdentity"[root@openstack-node1~]#keystoneservice-list[root@openstack-node1~]#keystoneendpoint-create--service-id=8031013255c942578e4e9c06811fa836\--publicurl=11:5000/v2.0\--internalurl=11:5000/v2.0\--adminurl=11:35357/v2.0黄色部分是一个随机生成码,必须与第一条命令输入后产生的码相同。如果不同则会报错,情况如下:[root@openstack-node1~]#keystoneendpoint-list[root@openstack-node1~]#keystone--help|greplist4.4验证keystone安装unsetOS_SERVICE_TOKENSO_SERVICE_ENDPOINT验证测试[root@openstack-node1~]#keystone--os_username=admin--os_password=admin--os-auth-url=11:35357/v2.0token-get[root@openstack-node1~]#:35357/v2.0token-get环境变量配置[root@openstack-node1~]#vimkeystone-adminexportOS_TENANT_NAME=adminexportOS_USERNAME=adminexportOS_PASSWORD=adminexportOS_AUTH_URL=11:35357/v2.0[root@openstack-node1~]#keystonetoken-get[root@openstack-node1~]#sourcekeystone-admin[root@openstack-node1~]#keystonetoken-get[root@openstack-node1~]#vimkeystone-demoexportOS_TENANT_NAME=demoexportOS_USERNAME=demoexportOS_PASSWORD=demoexportOS_AUTH_URL=11:35357/v2.0[root@openstack-node1~]#sourcekeystone-admin[root@openstack-node1~]#keystoneuser-role-list--useradmin--tenantadmin[root@openstack-node1~]#keystoneuser-role-list--userdemo--tenantdemo[root@openstack-node1~]#sourcekeystone-demo[root@openstack-node1~]#keystoneuser-role-list--userdemo--tenantdemo5.Imageservices(Glance)5.1glance安装因为之前已经安装,所以可以省略,省略后若发现后边内容无法进行,只需重新安装即可:[root@openstack-node1~]#[root@openstack-node1glance-2014.1.3]#pythonsetup.pyinstall5.2glance配置准备复制配置文件复制源码包的配置文件到/etc/glance目录下[root@openstack-node1~]#c[root@openstack-node1etc]#cp*/etc/glance/此处复制过程除了glance-api.conf和glance-registry.conf选择覆盖外,其余同名文件选择n,即不覆盖。[root@openstack-node1~]#cd/etc/glance/更改部分配置文件的文件名[root@openstack-node1glance]#mvf.samplef[root@openstack-node1glance]#mvproperty-protections-policies.conf.sampleproperty-protectionds-policies.conf[root@openstack-node1glance]#mvproperty-protections-roles.conf.sampleproperty-protections-roles.conf5.3设置数据库配置文件[root@openstack-node1glance]#vim/etc/glance/glance-api.conf[root@openstack-node1glance]#vimglance-registry.conf同步数据库[root@openstack-node1glance]#glance-managedb_sync[root@openstack-node1glance]#mysql-h11-uglance-pglance-e"useglance;showtables;"5.4设置rabbitmq[root@openstack-node1]#vim/etc/glance/glance-api.conf5.5设置keystone[root@openstack-node1]#vim/etc/glance/glance-api.conf[root@openstack-node1]#vim/etc/glance/glance-registry.conf[root@openstack-node1]#5.6glance启动的命令启动[root@openstack-node1]#glance-api--config-file=/etc/glance/glance-api.conf[root@openstack-node1]#glance-registry--config-file=/etc/glance/glance-registry.conf的脚本启动[root@openstack-node1]#gitclone/unixhot/openstack-inc.git[root@openstack-node1]#cdopenstack-inc/control/init.d[root@openstack-node1init.d]#cpopenstack-keystoneopenstack-glance-*/etc/init.d[root@openstack-node1]#chmod+x/etc/init.d/openstack-glance-*[root@openstack-node1]#chkconfig--addopenstack-glance-api[root@openstack-node1]#chkconfig--addopenstack-glance-registry[root@openstack-node1]#chkconfigopenstack-glance-apion[root@openstack-node1]#chkconfigopenstack-glance-registryon[root@openstack-node1]#/etc/init.d/openstack-glance-apistart[root@openstack-node1]#/etc/init.d/openstack-glance-registrystart[root@openstack-node1]#chkconfig--addopenstack-keystone[root@openstack-node1]#chkconfigopenstack-keystoneon[root@openstack-node1]#psaux|grepkeystone[root@openstack-node1]#/etc/init.d/openstack-keystonestart[root@openstack-node1]#psaux|grepkeystone5.7测试glance在keystone中注册glance[root@openstack-node1]#glanceimage-list[root@openstack-node1]#sourcekeystone-admin[root@openstack-node1]#glanceimage-list[root@openstack-node1]#keystoneservice-create--name=glance--type=image[root@openstack-node1]#keystoneendpoint-create\>--service-id=2976f75c8326421096b63609782a569a\>--publicurl=11:9292\>--internalurl=11:9292\>--adminurl=11:9292[root@openstack-node1]#keystoneservice-list[root@openstack-node1]#keystoneendpoint-list[root@openstack-node1]#glanceimage-list的镜像测试[root@openstack-node1]#[root@openstack-node1]#[root@openstack-node1]#glanceimage-list[root@openstack-node1]#cd/var/lib/glance/images6.ComputerServices(Nova)6.1NOVA安装[可忽略]pythonsetup.pyinstall6.2创建配置文件复制部分配置文件:cdetc/nova/cp-a*/etc/nova/cd/etc/nova/mvlogging_sample.conflogging.conf6.3nova的配置配置数据库vim/etc/nova/nova.conf同步数据库nova-managedbsyncmysql-h11-unova-pnova-e"usenova;showtables;"配置相关配置vim/etc/nova/nova.conf相关配置vim/etc/nova/nova.conf查看配置内容grep"^[a-z]"/etc/nova/nova.conf6.4创建novaservice和endpointsourcekeystone-adminkeystoneservice-list创建novaservicekeystoneservice-create--name=nova--type=compute创建novaendpointkeystoneendpoint-create\>--service-id=5295489b1be44bbcaa4489657e8bd6a0\>--publicurl=11:8774/v2/%\(tenant_id\)s\>--internalurl=11:8774/v2/%\(tenant_id\)s\>--adminurl=11:8774/v2/%\(tenant_id\)s一般情况下多或者少空格不影响实验进行,但是在此处>--service-id=5295489b1be44bbcaa4489657e8bd6a0\等号后面一定不能出现空格,要不会出现报错,具体情况如下:正确结果如下:keystoneservice-list6.5启动novaservicemkdir/var/lib/nova/tmpcdopenstack-inc/control/init.dcpopenstack-nova-*/etc/init.d/chmod+x/etc/init.d/openstack-nova-*foriin{api,cert,conductor,console,consoleauth,novncproxy,scheduler};dochkconfig--addopenstack-nova-$i;doneforiin{api,cert,conductor,console,consoleauth,novncproxy,scheduler};dochkconfigopenstack-nova-$ion;doneforiin{api,cert,conductor,console,consoleauth,novncproxy,scheduler};doserviceopenstack-nova-$istart;donepsaux|grepnova6.6安装novnc并启动该服务cd/usr/local/srcmvnoVNC-0.5//usr/share/novnc/etc/init.d/openstack-nova-novncproxystart6.7验证nova的安装novahost-listnovaflavor-list7.Dashboard(Horizon)7.1horizon配置cd/usr/local/srcmvhorizon-2014.1.3/var/www/mvlocal_settings.py.examplelocal_settings.py7.2apache配置vim/etc/httpd/conf.d/horizon.conf<VirtualHost*:80>ErrorLog/var/log/httpd/horizon_error.logLogLevelinfoCustomLog/var/log/httpd/horizon_access.logcombinedWSGIApplicationGrouphorizonSetEnvAPACHE_RUN_USERapacheSetEnvAPACHE_RUN_GROUPapacheWSGIProcessGrouphorizon<Directory/var/www/horizon-2014.1.3/>OptionsFollowSymLinksMultiViewsAllowOverrideNoneOrderallow,denyAllowfromall</Directory></VirtualHost>WSGISocketPrefix/var/run/horizon7.3启动apacheChown–/etc/init.d/httpdrestart8..Networkingservices(Neutron)8.1neutron安装[root@openstack-node1neutron-2014.1.3]#pythonsetup.pyinstall8.2neutron配置配置文件初始化[root@openstack-node1neutron-2014.1.3]#cp-aetc/*/etc/neutroncp:overwrite`/etc/neutron/dhcp_agent.ini'?ycp:overwrite`/etc/neutron/fwaas_driver.ini'?ycp:overwrite`/etc/neutron/l3_agent.ini'?ycp:overwrite`/etc/neutron/lbaas_agent.ini'?ycp:overwrite`/etc/neutron/metadata_agent.ini'?ycp:overwrite`/etc/neutron/neutron.conf'?ycp:overwrite`/etc/neutron/policy.json'?ycp:overwrite`/etc/neutron/rootwrap.conf'?y数据库配置[root@openstack-node1~]#vim/etc/neutron/neutron.conf411connection=mysql://neutron:neutron@11:3306/neutron8.2.3keystone相关配置[root@openstack-node1~]#vim/etc/neutron/neutron.conf70auth_strategy=keystone396auth_port=35357397auth_protocol=http398admin_tenant_name=admin399admin_user=admin400admin_password=admin401signing_dir=admin相关配置[root@openstack-node1~]#vim/etc/neutron/neutron.conf136rabbit_password=openstack138rabbit_port=5672143rabbit_userid=guest145rabbit_virtual_host=/相关配置在neutron.conf[root@openstack-node1~]#vim/etc/nova/nova.conf299notify_nova_on_port_status_changes=True303notify_nova_on_port_data_changes=True306nova_url=11:8774/v2312nova_admin_username=admin318nova_admin_password=admin321nova_admin_auth_url=11:35357/v2.0网络和日志相关配置日志文件的配置:3verbose=true6debu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届安徽省定远启明中学高一上数学期末质量跟踪监视试题含解析
- 2025届四川省泸州市泸县五中英语高三第一学期期末复习检测试题含解析
- 浙江省91高中联盟2025届高二上生物期末综合测试试题含解析
- 凉山市重点中学2025届数学高一上期末达标检测试题含解析
- 会伪装的动物课件
- 2025届山西省朔州市怀仁县一中数学高二上期末学业质量监测试题含解析
- 福建省长汀、连城一中等六校2025届高二生物第一学期期末综合测试试题含解析
- 天津市滨海新区塘沽滨海中学2025届语文高三上期末检测模拟试题含解析
- 2025届广东省潮州市饶平县饶平二中数学高二上期末教学质量检测模拟试题含解析
- 湖南省长沙市地质中学2025届生物高二上期末综合测试模拟试题含解析
- 《轴对称图形》(教学设计)-2023-2024学年四年级下册数学青岛版(五四学制)
- 演讲学智慧树知到答案2024年同济大学
- 电机与电气控制技术-课程标准
- 2024青岛版第4册第2单元第2课走近云端生活教学设计
- (完整版)模拟电子技术测试试题及答案
- 2023年广西壮族自治区崇左市龙州县交警大队公务员考试《行政职业能力测验》历年真题及详解
- 高级钢筋工职业鉴定考试题库(浓缩300题)
- 以奇幻指引现实-解析《百年孤独》中的魔幻现实主义特征
- 中电建电力投资集团有限公司招聘笔试真题2023
- 2024年4月自考财务管理学试卷真题解析
- 2024年农业农村部大数据发展中心第三批面向社会公开招聘7人(高频重点复习提升训练)共500题附带答案详解
评论
0/150
提交评论