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暴露了这些远程设备,就象本地设备文件被附加到实例。