设为首页 收藏本站
查看: 1180|回复: 0

[经验分享] OpenStack云第二天

[复制链接]

尚未签到

发表于 2018-6-2 14:09:52 | 显示全部楼层 |阅读模式
OpenStack云第二天

  在OpenStack第一天文档翻译后,丁丁努力坚持每晚抽时间翻译OpenStack官方网站提供的安装与部署指南,本文翻译自官方安装与部署指南的前四章内容,前四章内容主要是对OpenStack整体安装步骤以及设计搭建环境进行概述,并未提及具体安装步骤,但对环境的设计与构思以及安装需求还是需要大家了解的。希望尽快写完第三天文档(安装认证服务)。
  目录:
  一、安装步骤概述
  二、OpenStack术语
  三、OpenStack结构
  四、安装环境构思
  一、走马看花-安装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服务所需最低配置要求:
DSC0000.png

  操作系统: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
  二、OpenStack术语
  版本名
  每一份OpenStack发行版本都有一个版本名称,版本名称按字母顺序增加(如:Diablo的下一个版本是Essex)。这些发行版本也有相应的版本号,但这个版本号不同于OpenStack Compute,OpenStack Object Storage的版本号,以下为版本名称列表:
DSC0001.png

  从Cactus开始,OpenStack修改为六个月的开发周期,Folsom预计在2012年10月发布。
  代码名称
  每个OpenStack服务有一个代码名称,如镜像服务(Image Service)代码名称为Glance。以下为全部代码名称列表:
  OpenStack Compute(代码名称:Nova)
  OpenStack Networking(代码名称:Quantum)
  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
  三、OpenStack结构
  你可以把OpenStack Compute理解为结合现有Linux技术构建云计算环境的工具箱。
  以下我们通过图例说明构建OpenStack Compute云环境的基础技术。圆形表示构成OpenStack Compute的Linux服务,矩形表示外部组件(不属于OpenStack项目),实线表示OpenStack组件与外部组件间的交互,虚线表示外部组件之间的交互。所有组成OpenStack Compute的服务都与后端消息队列(如:RabbitMQ,Qpid)以及后端数据库(如:MySQL)交互,这种交互图中没有连线。同时其他的一些非必须的外部组件技术同样不在该图示中展示,如:nova-api,OpenStack Identity以及OpenStack Image服务。
  方案1:
DSC0002.png

  方案2:
DSC0003.png

  如图所示,多数外部组件可以有很多替代产品。
  技术与软件:
DSC0004.png

  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实例连接。
  四、安装环境构思
  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.org/pub/epel/6/i386/epelrelease-6-5.noarch.rpm
  
未完待续… …
转载时请务必以超链接形式标明出处,丁丁历险博客:http://manual.blog.51cto.com/3300438/967858

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-508153-1-1.html 上篇帖子: openstack nova 源码分析4 下篇帖子: openstack nova 源码分析5
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表