高可用OpenStack(Queen版)集群

1. 集群环境

源自于网络-snowchuai汇总、整理

参考文档:

  1. Install-guide:https://docs.openstack.org/install-guide/
  2. OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html
  3. 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html
  4. Ceph: http://docs.ceph.com/docs/master/start/intro/

一.环境

1. 组件

组件版本Remark
centos7.4controller: 4c12g (测试环境,亲测8g内存不足以支持全部服务;另外并没有考虑存储空间,实际生产环境日志量较大,对后端存储有一定要求) compute: 8c8g (测试环境) yum源已设置为国内的aliyun:https://opsx.alibaba.com/mirror
openstackqueen 
cephv12.2.4 luminous 

2. 拓扑(逻辑)

ha0101

  1. congtroller节点运行keystone,glance,horizon,nova&neutron&cinder管理相关组件,ceph-mon&ceph-mgr(非openstack服务),另外openstack相关的基础服务;

  2. compute节点运行nova-compute,neutron-linuxbridge-agent,cinder-volume(后经验证,如果后端使用共享存储,建议部署在controller节点,可通过pacemaker控制运行模式,但写文档时,此验证环境的cinder-volume部署在compute节点)等,另有计算虚拟化kvm,ceph-osd等;

  3. 控制节点网络:

    管理网络:含host os管理,api,ceph-public等网络,如果生产环境允许,建议各逻辑网络使用独立的物理网络,api区分admin/internal/public接口,对客户端只开放public接口;

    外部网络:主要针对guest os访问internet/外部的floating ip;

    租户(虚机)隧道网络(与vlan网络共存2选1):guest os之间通讯的网络,采用vxlan/gre等方式;

    租户(虚机)vlan网络(与隧道网络共存2选1):guest os之间通讯的网络,采用vlan方式;

  4. 计算节点网络:

    管理网络:含host os管理,api,ceph-public等网络;

    存储网络:存储集群内部通讯,数据复制同步网络,与外界没有直接联系;

    租户(虚机)隧道网络(与vlan网络共存2选1):guest os之间通讯的网络,采用vxlan/gre等方式;

    租户(虚机)vlan网络(与隧道网络共存2选1):guest os之间通讯的网络,采用vlan方式;

  5. 采用self-service-networks提供自助网络服务,provider networks不支持专有网络,需要依靠外部基础设施提供3层路由与增值服务(如lbaas,fwaas等);

  6. 前端采用haproxy做高可用;

  7. 无状态的服务,如xxx-api,采取active/active的模式运行;有状态的服务,如neturon-xxx-agent,cinder-volume等,建议采取active/passive的模式运行(因前端采用haproxy,客户端的多次请求可能会被转发到不同的控制节点,如果客户端请求被负载到无状态信息的控制节点,可能会导致操作请求失败);自身具有集群机制的服务,如rabbitmq,memcached等采用本身的集群机制即可。

3. 整体规划

HostIPServiceRemark
controller01eth0(Management + API + Message + Storage Public Network): 172.30.200.31 eth1(External Network): 172.30.201.31 eth2(Tunnel Tenant Network):10.0.0.31 eth3(Vlan Tenant Network)1. keystone 2. glance-api , glance-registry 3. nova-api, nova-conductor, nova-consoleauth, nova-scheduler, nova-novncproxy 4. neutron-api, neutron-linuxbridge-agent, neutron-dhcp-agent, neutron-metadata-agent, neutron-l3-agent 5. cinder-api, cinder-schedulera 6. dashboard 7. ceph-mon, ceph-mgr 8. mariadb, rabbitmq, memcached等1.控制节点: keystone, glance, horizon, nova&neutron管理组件;2.网络节点:虚机网络,L2/L3,dhcp,route,nat等;3.存储节点:调度,监控(ceph)等组件;4.openstack基础服务
controller02eth0(Management + API + Message + Storage Public Network): 172.30.200.32 eth1(External Network): 172.30.201.32 eth2(Tunnel Tenant Network):10.0.0.32 eth3(Tenant Network)1. keystone 2. glance-api , glance-registry 3. nova-api, nova-conductor, nova-consoleauth, nova-scheduler, nova-novncproxy 4. neutron-api, neutron-linuxbridge-agent, neutron-dhcp-agent, neutron-metadata-agent, neutron-l3-agent 5. cinder-api, cinder-schedulera 6. dashboard 7. ceph-mon, ceph-mgr 8. mariadb, rabbitmq, memcached等1.控制节点: keystone, glance, horizon, nova&neutron管理组件;2.网络节点:虚机网络,L2/L3,dhcp,route,nat等;3.存储节点:调度,监控(ceph)等组件;4.openstack基础服务
controller03eth0(Management + API + Message + Storage Public Network): 172.30.200.33 eth1(External Network): 172.30.201.33 eth2(Tunnel Tenant Network):10.0.0.33 eth3(Tenant Network)1. keystone 2. glance-api , glance-registry 3. nova-api, nova-conductor, nova-consoleauth, nova-scheduler, nova-novncproxy 4. neutron-api, neutron-linuxbridge-agent, neutron-dhcp-agent, neutron-metadata-agent, neutron-l3-agent 5. cinder-api, cinder-schedulera 6. dashboard 7. ceph-mon, ceph-mgr 8. mariadb, rabbitmq, memcached等1.控制节点: keystone, glance, horizon, nova&neutron管理组件;2.网络节点:虚机网络,L2/L3,dhcp,route,nat等;3.存储节点:调度,监控(ceph)等组件;4.openstack基础服务
compute01eth0(Management + Message + Storage Public Network): 172.30.200.41 eth1(Storage Cluster Network):10.0.254.41 eth2(Tunnel Tenant Network):10.0.0.41 eth3(Tenant Network)1. nova-compute 2. neutron-linuxbridge-agent 3. cinder-volume(如果后端使用共享存储,建议部署在controller节点) 4. ceph-osd1.计算节点:hypervisor(kvm);2.网络节点:虚机网络等;3.存储节点:卷服务等组件
compute02eth0(Management + Message + Storage Public Network): 172.30.200.42 eth1(Storage Cluster Network):10.0.254.42 eth2(Tunnel Tenant Network):10.0.0.42 eth3(Tenant Network)1. nova-compute 2. neutron-linuxbridge-agent 3. cinder-volume(如果后端使用共享存储,建议部署在controller节点) 4. ceph-osd1.计算节点:hypervisor(kvm);2.网络节点:虚机网络等;3.存储节点:卷服务等组件
compute03eth0(Management + Message + Storage Public Network): 172.30.200.43 eth1(Storage Cluster Network):10.0.254.43 eth2(Tunnel Tenant Network):10.0.0.43 eth3(Tenant Network)1. nova-compute 2. neutron-linuxbridge-agent 3. cinder-volume(如果后端使用共享存储,建议部署在controller节点) 4. ceph-osd1.计算节点:hypervisor(kvm);2.网络节点:虚机网络等;3.存储节点:卷服务等组件

二.基础环境

1. 设置hosts

ha0101

2. 设置ntp

 

3. 设置openstack packages

 

4. 设置iptables

如对您有帮助,请随缘打个赏。^-^

gold