在OpenStack第一天文档翻译后,丁丁努力坚持每晚抽时间翻译OpenStack官方网站提供的安装与部署指南,本文翻译自官方安装与部署指南的前四章内容,前四章内容主要是对OpenStack总体安装步骤以及设计搭建环境进行概述,并未说起具体安装步骤,但对环境的设计与构思以及安装需求仍是须要你们了解的。但愿尽快写完第三天文档(安装认证服务)。
目录:
1、安装步骤概述
2、OpenStack术语
3、OpenStack结构
4、安装环境构思
1、走马看花-安装OpenStack预览
OpenStack Compute与Image服务结合就能够经过REST APIs访问虚拟服务器与镜像,Identity服务为OpenStack全部服务提供通用认证服务。若是你须要安装控制面板就必须有Identity服务的支持。OpenStack Object Storage服务不就提供了虚拟镜像的存储方式,更是一种基于云的存储系统,经过REST API咱们能够保存、还原对象数据好比镜像或视频等等。咱们先从Identity开始而后是Image与Compute服务,同时会有部署对象存储的话题。
主要有这么一些步骤:
1.OpenStack目前支持平台预览:Red Hat Enterprise Linux, Scientific Linux, CentOS, Fedora, Debian, Ubuntu。
2.安装Identity服务。
3.配置Identity服务。
4.安装镜像服务(Glance)。
5.配置镜像服务
6.安装Compute(Nova)。
7.安装环境假设。
8.配置Compute。
9.使用MySQL建立并初始化Compute数据库。
10.添加镜像。
11.安装对象存储(Swift)。
12.安装OpenStack控制面板(Dashboard)。
13.经过控制面板添加密钥对。
14.经过控制面板启动镜像并检验整个安装过程。
Compute与Image安装需求
硬件:OpenStack组件适用于标准的硬件设备。如下为知足Compute、Image、Object Storage服务所需最低配置要求:
操做系统:OpenStack当前有如下操做系统发行版本的软件包,CentOS,Debian,Fedora,RHEL,Ubuntu。软件由社区维护,可参考http://wiki.openstack.org/Packaging.
数据库:OpenStack Compute须要访问PostgreSQL或MySQL数据库,在安装OpenStack Compute的过程当中你须要安装这样的数据库。Object Storage,容器与帐户服务须要使用SQLite。
权限:须要使用root或拥有sudo权限的用户去安装OpenStack Compute,Image Service以及Object Storage。
NTP协议:你必须安装一个时间同步程序如NTP,在云环境中服务器节点间保持时间同步很是重要。
Compute网络规划:
为了是管理员了解访问APIs与虚拟机所需网络资源与IP规划,本节将为你们提供网络规划的建议。至少千兆网络是必须的。这里展现一下单个服务器的网络配置。
OpenStack Compute网络可使用扁平式网络,DHCP以及VLAN,运行nova-network的服务器建议配置双网卡。
管理类网络设计:这个网络用来在云架构中不一样服务器直接相互通信,建议能够容纳255台主机的IP规划(CIDR/24)。
公共网络设计:这个网络为外网提供链接使用,互联网用户能够经过这些IP访问云服务。建议设计8个IP。
虚拟网络设计:为虚拟机设计私有IP地址。建议CIDR/24。
安装NTP
保持云中多台主机的时间同步,你须要安装NTP软件,在云环境的多节点中,如下为服务器配置的参考模版。
1.安装软件
$ sudo yum install –y ntp
2.配置服务端:在云控制节点上经过修改ntp.conf配置NTP服务器,而后启动服务。(原文中未设置服务端的具体设置,可google参考相关资料)
$ sudo service ntpd start
$ sudo chkconfig ntpd on
3.配置NTP客户端,是compute节点与云控制节点同步时间,并将如下命令做为计划任务按期执行。
# ntpdate‘服务器IP’
# hwclock -w
2、OpenStack术语
版本名
每一份OpenStack发行版本都有一个版本名称,版本名称按字母顺序增长(如iablo的下一个版本是Essex)。这些发行版本也有相应的版本号,但这个版本号不一样于OpenStack Compute,OpenStack Object Storage的版本号,如下为版本名称列表:
从Cactus开始,OpenStack修改成六个月的开发周期,Folsom预计在2012年10月发布。
代码名称
每一个OpenStack服务有一个代码名称,如镜像服务(Image Service)代码名称为Glance。如下为所有代码名称列表:
OpenStack Compute(代码名称:Nova)
OpenStack Networking(代码名称uantum)
OpenStack Object Storage(代码名称:Swift)
OpenStack Block Storage(代码名称:Cinder)
OpenStack Identity(代码名称:Keystone)
OpenStack Image Service(代码名称:Glance)
OpenStack Dashboard(代码名称:Horizon)
代码名称能够用来反应配置文件与命令工具的名称,如:认证服务(Identity Service)的配置文件名称为keystone.conf。
OpenStack服务与Linux服务
在Linux概念中,一个服务(也被称为守护进程)表示运行在后台监听特定端口并响应服务请求的单个程序。而OpenStack服务则表示的是若干Linux服务的集合,一个OpenStack服务须要开启多个Linux服务。如nova-compute与nova-scheduler两个Linux服务负责实施Compute服务。OpenStack还须要依赖与第三方的服务,如数据库(MySQL)以及消息服务(RabbitMQ、Qpid)。
本文档中,咱们使用服务来表示底层的Linux服务以及高层的OpenStack服务。你须要经过上下文判断咱们所说的服务是OpenStack服务(如:Image)仍是Linux服务(如:glance-api)。
存储:对象,块,文件
许多云计算解决方案都要求使用远程存储。而存储的解决方案通常分为三类:对象存储、块存储以及文件存储。
固然有些存储解决方案同时支持多中类型。如:NexentaStor支持块存储与文件存储,GlusterFS支持文件存储与对象存储,Ceph Storage支持对象存储、块存储以及文件存储。
对象存储
在OpenStack中对象存储服务为Swif。
相关的概念:Amazon S3,Rackspace Cloud Files,Ceph Storage。
对于对象存储,全部的文件经过均HTTP接口展示。客户端在用户层上访问对象存储,操做系统并不清楚用户在使用的是远程存储。在OpenStack中,Object Storage提供了对象存储的功能。用户经过HTTP请求访问和修改文件。因为对象存储提供的数据访问接口是一种底层的抽象,因此人们经常会在对象存储的基础上构建基于文件的应用程序。例如,OpenStack Image Server就能够配置使用Object Storage做为后端存储。从对象存储提供HTTP接口后,它的另外一个应用是做为静态网站内容(如:图片、多媒体文件等)的内容分发网络(CDN)解决方案。
块存储(SAN)
在OpenStack中提供块存储的是nova-volume。
相关概念:Amazon Elastic Block Store(EBS),Ceph RADOS Block Device(RBD),iSCSI
对于块存储,文件经过计算机底层总线展示如SCSI或ATA接口,这些接口可接入网络。块存储是SAN(存储区域网络)的同义词。客户端经过操做系统设备层访问数据:用户像挂载本地磁盘同样挂载远程设备(Linux中挂载命令为mount)。在OpenStack中,nova-volume服务提供了该项功能。
由于是做为本地磁盘加载,因此终端用户须要建立分区并格式化这些设备。这种设备同时仅可被单个用户挂载使用,因此块存储没法用来在虚拟机实例间做为共享数据之用。
文件存储(NAS)
OpenStack不提供文件存储的支持。
相关概念:NFS,Samba/CIFS,GlusterFS,Dropbox,Google Drive
对应文件存储,文件经过分布式的文件系统协议展示。文件存储与NAS(网络附加存储)是同义词。客户端经过操做系统中的文件系统层面访问数据:用户须要挂载远程文件系统访问数据。文件存储的例子有NFS与GlusterFS。操做系统须要安装适当的软件来访问远程文件系统。
目前,OpenStack不支持该类型的存储。但Gluster Storage connector for OpenStack可使得OpenStack镜像服务使用GlusterFs文件系统做为后端存储。感兴趣的朋友能够参考:http://gluster.org/community/documentation//index.php/OSConnect
3、OpenStack结构
你能够把OpenStack Compute理解为结合现有Linux技术构建云计算环境的工具箱。
如下咱们经过图例说明构建OpenStack Compute云环境的基础技术。圆形表示构成OpenStack Compute的Linux服务,矩形表示外部组件(不属于OpenStack项目),实线表示OpenStack组件与外部组件间的交互,虚线表示外部组件之间的交互。全部组成OpenStack Compute的服务都与后端消息队列(如:RabbitMQ,Qpid)以及后端数据库(如:MySQL)交互,这种交互图中没有连线。同时其余的一些非必须的外部组件技术一样不在该图示中展现,如:nova-api,OpenStack Identity以及OpenStack Image服务。
方案1:
方案2:
如图所示,多数外部组件能够有不少替代产品。
技术与软件:
nova-compute
nova-compute服务依靠虚拟化驱动管理虚拟机。默认驱动为libvirt,能够驱动KVM,但libvirt一样能够驱动其余hypervisor技术。若是你须要使用Xen云平台或XenServer,则Xen虚拟化技术使用单独的驱动。Open-iscsi用来挂载远程块设备,也被称为卷。Open-iscsi将远程设备看成与本地设备同样使用。
nova-network
nova-network服务依赖于一些Linux网络技术,它使用Linux桥接技术来链接虚拟机与物理主机。若是是运行在VLAN网络模式,这些桥设备能够经过Linux VLAN技术相关联。iptables负责安全策略实施与NAT功能。DNSmasq用来快速部署DNS服务器并为虚拟机实例分配IP地址、DNS等网络参数。
在将来的OpenStack发行版本中,nova-network的功能将被独立称为OpenStack的一个独立项目,代码名称为Quantum。
译者再次备注一下,OpenStack提供的手册文档是2012年4月31日,而目前根据OpenStack官网信息显示OpenStack Networking已是一个独立的项目了。
nova-volume
默认,nova-volume服务使用LVM建立和管理本地卷,并使用IET或tgt经过iSCSI方式发布出去。nova-volume一样能够配置使用其余基于iSCSI的存储技术。
将来的OpenStack发行版本中,nova-volume的功能将被独立为OpenStack项目,代码名称为Cinder。
openstack-dashboard
openstack-dashboard是基于Django的应用程序,它默认运行在Apache Web服务器上。你可使用memcache来改善它的性能。一个基于web的VNC客户端-novnc,使用novnc链接VNC控制台与KVM实例链接。
4、安装环境构思
OpenStack Compute有大量的配置选项,为了简化本安装指南,咱们对须要部署的环境作了一些假设。
你已经有了一些安装有Fedora17,RHEL6.2,Scientific Linux6.1或CentOS6发行版的compute节点。备注OpenStack一样支持Ubuntu,但本文档不作说明。
你已经选定了一台做为云控制节点,它将除nova-compute外的全部服务(RabbitMQ,MySQL,Identity,Image,nova-api,nova-network,nova-scheduler,nova-volume)。
云控制器的磁盘分区使用的是LVM。
你的云控制器有一个LVM卷组(VG)名为”nova-volumes”共VM使用,你能够安装系统的使用建立,也能够在安装nova服务前使用剩余空间建立。
确保你的主机名能够被正确的解析,另外若是你使用RabbitMQ做为后端消息队列或许会遇到些麻烦,Fedora默认使用Qpid做为消息队列。
192.168.206.130是主机上eth0网卡的主IP地址。
192.168.100.0/24做为虚拟主机的网络范围,经过桥接br100链接宿主主机。
FlatDHCP with a single network interface.
使用KVM或Xen(XenServer or XCP)做为hypervisor。
在RHEL上启用EPEL软件仓库,方法: $ sudo rpm -Uvh http://download.fedoraproject.or ... ease-6-5.noarch.rpm php