OpenStack两种部署节点对比

1、控制节点

网络设置

/etc/network/interfaces

添加源

安装mysql,rabbitmq

apt-get install mysql-server python-mysqldb

mysql-server:MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

python-mysqldb:Python(KK 英语发音:/?pa?θ?n/), 是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

apt-get install rabbitmq-server

RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在。

apt-get install ntp

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

apt-get install keystone

keystone这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。

apt-get install glance

glance:这是镜像管理。功能其实相对比较简单。不过Glance后端的存储的支持,其实一直到Folsom的版本,Glance对swift的支持,才算是比较完善。

目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。

目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。

apt-get install cinder-api cinder-common cinder-scheduler cinder-volume python-cinderclient iscsitarget open-iscsi iscsitarget-dkms
  • cinder-api: 用于将api服务部署在该节点上。

  •  cinder-common: 

  • cinder-scheduler:故名思议,scheduler负责调度cinder请求调度,其核心部分就是scheduler_driver, 作为scheduler manager的driver,负责具体的调度处理,grizzly版本的cinder-scheduler部分提供了三个scheduler driver分别是:

    ChanceScheduler: 随机选取cinder-service 创建cinder volume
    SimpleScheduler: 根据availability_zone 和 cinder-volume service的capacity进行选择
    FilterScheduler: 可以选择具体的filter规则,满足filter规则的cinder-volume service将会通过筛选,创建cinder volume

  • cinder-volume:挂载

  • python-cinderclient:

  • initiator:target端即磁盘阵列或其他装有磁盘的主机。通过iscsitarget工具将磁盘空间映射到网络上,initiator端就可以寻找发现并使用该磁盘。 

  • open-iscsi: iSCSI(Internet SCSI)是IETF制订的一项标准,用于将SCSI数据块映射成以太网数据包。简洁的说法可以认为是:iSCSI协议将SCSI数据块打包成TCP/IP包,在现有网络内传输。

       iscsitarget-dkms:

apt-get install quantum-server quantum-plugin-openvswitch

quantum:

quantum-plugin-openvswitch: 

apt-get install nova-api nova-cert novnc nova-conductor nova-consoleauth nova-scheduler nova-novncproxy

nova-cert:证书管理服务,用于兼容AWS

novnc:连接远程的工具

nova-conductor:所有的 nova 服务使用一个 AMQP 来相互沟通。nova-compute 需要经常访问DB。所以出来了 nova-conductor – Cloud controller fabric

nova-conductor 是一个在 nova-compute 上的一个层次,避免数据库被暴露,最hao把 nova-conductor 和 nova-compute 不要安装到一个节点上。

nova-conductor 可以像 nova-api、nova-scheduler 一样能横向扩展,可以运行在多个机器上运行多个 nova-conductor 来达到扩展的目的.

以后会从 nova-compute 上移植越来越多的功能到 nova-conductor 上,比如 迁移、resize.

nova-consoleauth:console验证

nova-scheduler:调度:启动实例由它来

nova-novncproxy:

apt-get install openstack-dashboard memcached

Horizon:严格意义来说,Horizon不会为Openstack 增加一个功能,他更多的是一个演示,demo。不过对于很多用户来说,了解Openstack基本都是从Horizon,dashboard开始。从这个角度来看,他在Openstack各个项目里,显得非常重要。

2、网络节点

网络设置

# cat /etc/network/interfaces

添加源

设置 ntp

apt-get install ntp

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

安装 openVSwitch

apt-get install openvswitch-switch openvswitch-brcompat

openvswitch-switch :
openvswitch-brcompat:

安装 Quantum 

apt-get install quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent

quantum-plugin-openvswitch-agent:这是quantum利用ovs的一个插件

quantum-dhcp-agent:

quantum-l3-agent:

3、计算节点

网络设置

添加源

安装 openVSwitch

apt-get install openvswitch-switch openvswitch-brcompat

安装 Quantum 

apt-get install quantum-plugin-openvswitch-agent

安装nova

apt-get install nova-compute

Nova-compute服务依赖于虚拟驱动来管理虚拟机,缺省地,这个驱动是libvirt,它用于驱动KVM。然而,libvirt也可以驱动其它的hypervisor技术,如果配置了用Xen 云台或XenServer,为了驱动基于Xen的虚拟机,也有一个独立的Xen虚拟机驱动。

Open-iscsi用于挂载远程块设备,也象已知的卷一样。Open-iscsi暴露了这些远程设备,就象本地设备文件被附加到实例。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。