利用fuel安装openstack

1.fuel是什么

   Fuel 是一个为openstack 端到端”一键部署“设计的工具,其功能含盖自动的PXE方式的操作系统安装,DHCP服务,Orchestration服务 和puppet 配置管理相关服务等,此外还有openstack 关键业务健康检查和log 实时查看等非常好用的服务。

2.fuel架构

   Fuel 主节点:用于提供PXE方式操作系统安装服务由开源软件Cobbler 提供,另外由Mcollective和puppet 分别提供orchestration服务和配置管理服务。Fuel iso 包发部的时候已经一同打包了Centos6.4 和ubuntu 12.04 安装包

3.fuel安装

(1)网络拓扑

   <1>10.20.0.X master节点通过pxe网络部署openstack的专用网络

   <2>172.16.170.x openstack公共网络,给实例提供浮动IP并提供外部网络

   <3>192.168.4.x openstack的内部,管理,存储网络

注意:三个网段分别属于vlan160、vlan170、vlan180,其中所属vlan180的端口,要开启

trunk模式

(2)启动服务器,选择用光盘启动

(3)检查fuel安装是否完成,登录http://10.20.0.x:8000/ 显示如下页面,就表示安装成功



可能存在的问题:

如果web页面不能正常访问,可能是你本机的防火墙把本地的网络拒掉,请先禁用防火墙再试。 如果使用了浏览器http代理,请关闭代理直接访问

(4)安装openstack 环境

     首先在Fuel web 上创建一个openstack 环境,名字为”openstack1“,这个
环境是可以创多个的,可见fuel可以同时管理多个openstack 环境。这里选择的os 有三种,这里默认选择
centos,当然你也可以选择ubuntu 和rhle ,不过rhle 需要手动上传镜像或者提供红帽子官网用户名和
密码,fuel 为你自动下载,不过时间比较长,不推荐。

名称随你填写,openstack版本这里我选择默认的centos,ubuntu也可以

部署模式选择多节点,HA环境需要更高的硬件条件,要完整发挥HA的话推荐12个节点,5+3+3+1的组合

选择KVM

选择Neutron GRE

存储是默认,使用ceph要满足部署条件

新建完成后,服务器pxe方式启动,等待master节点发现controller,compute节点

每个节点部署之前都需要配置网络

修改网络地址,并验证网络,网络验证成功后,点击部署

4.openstack架构图

5.openstack各个服务名称对应表

6.openstack控制节点

  • 控制节点服务

  • 控制节点所要启动的服务

    <1> httpd

    <2> tgtd

    <3> memcached

    <4> rabbitmq-server

    <5> openstack-cinder-api

    <6> openstack-cinder-scheduler

    <7> openstack-cinder-volume

    <8> openstack-keystone

    <9> openstack-glance-api

    <10> openstack-glance-registry

    <11> openstack-nova-conductor

    <12> openstack-nova-scheduler

    <13> openstack-nova-cert

    <14> openstack-nova-api

    <15> mysql

  • 控制节点mysql用户名和密码

    /etc/mysql/conf.d/password.cnf

  • mysql配置文件

    /etc/my.cnf

  • mysql数据目录

    /var/lib/mysql

  • mysql日志文件

    /var/log/mysqld.log

  • rabbitmqp配置文件

    /etc/rabbitmq/rabbitmq.config

  • rabbitmqp日志文件

    /var/log/rabbitmq

  • Keystone配置文件

    /etc/keystone/keystone.conf

  • Keystone日志文件

    /var/log/keystone/keystone-all.log

    /var/log/keystone/keystone-manage.log

    /var/log/keystone/keystone-startup.log

  • memcached配置文件

    /etc/sysconfig/memcached

  • memcached日志文件

    /var/log/memcached.log

  • apache配置文件

    /etc/httpd/conf/httpd.conf

    /etc/httpd/conf.d/openstack-dashboard.conf

  • apache日志文件

    /var/log/httpd/access_log

    /var/log/httpd/error_log

  • glance配置文件

    /etc/glance/glance-api.conf

    /etc/glance/glance-registry.conf

  • glance日志文件

    /var/log/glance/api.log

    /var/log/glance/registry.log

  • cinder配置文件

    /etc/cinder/cinder.conf

  • cinder日志文件

    /var/log/cinder/api.log

    /var/log/cinder/scheduler.log

    /var/log/cinder/volume.log

  • nova配置文件

    /etc/nova/nova.conf

  • nova日志文件

    /var/log/nova/api.log

    /var/log/nova/cert.log

    /var/log/nova/scheduler.log

    /var/log/nova/conductor.log

  • Horizon配置文件

    /etc/heat/heat.conf

  • Horizon日志文件

    /var/log/heat/heat-api-cfn.log

    /var/log/heat/heat-api-cloudwatch.log

    /var/log/heat/heat-api.log

    /var/log/heat/heat-engine.log

    /var/log/heat/heat-manage.log

  • 共享存储target配置文件

    /etc/tgt/targets.conf

7.openstack计算节点

  • 计算节点所要启动的服务

    <1> openstack-nova-compute

    <2> openstack-cinder-scheduler

    <3> openstack-cinder-volume

    <4> libvirtd

    <5> tgtd


    注意:纯计算节点只包含openstack-nova-compute和libvirtd服务
  • nova配置文件

    /etc/nova/nova.conf

  • nova日志文件

    /var/log/nova/compute.log

  • cinder配置文件

    /etc/cinder/cinder.conf

  • cinder日志文件

    /var/log/cinder/scheduler.log

    /var/log/cinder/volume.log

  • libvirt配置文件

    /etc/libvirt/libvirtd.conf

  • 共享存储target配置文件

    /etc/tgt/targets.conf

8.openstack常见问题

  • openstack中使用vnc无法连接虚拟机

   原因是Mirantis的Master节点没有连接到公网的地址,而默认在这个节点上会使用8.8.8.8的DNS服务器地址来做地址解析,所以如果该节点访问不了这个地址(就算连接到Internet也可能访问不了这个地址,因为8.8.8.8是Google的服务器,会被和谐掉,你懂的),就会出现DNS解析超时的情况,因此会出现如题所示的错误。解决方法有2个,一个是将8.8.8.8地址改为一个内网或者公网可以访问到DNS服务器,二是将这个地址改为127.0.0.1

  • openstck 计算节点关机,虚拟机无法启动

    <1> 检查服务正常化

    nova-manage service list

    <2> 重置状态(控制节点上操作)

    source openrc

    nova list –all-tenants

    nova reset-state instance-id

    nova stop instance-id

    nova start instance-id