私有云裸机物理服务器角色规划
OpenStack 私有云建设而言,一个完善、高可用的企业私有云通常由管理节点、控制节点、计算节点、存储节点和网络节点组成的物理服务器集群构成。
1、管理节点
作为一个完善的 OpenStack 私有云集群,管理节点应该具备“带外”和“带内”管理功能,通过“带外”管理,实现裸机服务器的系统部署、远程开关机等功能,通过“带内”管理实现私有云集群的操作系统和 OpenStack 集群的部署管理。通常,带外和带内管理功能可以独立部署,也可合并在同一个管理节点上实现。在私有云集群中,除了集群管理之外,管理节点通常还会承担整个集群的共享仓库源,如 Docker 容器镜像仓库、yum 源仓库以及操作系统镜像存放等功能。因此,在管理节点配置选型方面,需要考虑适当的本地存储空间,依据受管集群的规模大小,可以考虑配置适当的 CPU、内存资源。另外,为了加速镜像资源传输,“带内”管理网络以万兆网卡为佳。由于管理节点通常仅在部署阶段高负载运行,因此一台普通的中低配服务器即可满足管理节点正常运行的资源需求。
2、控制节点
控制节点主要向 OpenStack 私有云用户提供管理控制集群的 API,是用户与 OpenStack 云计算资源池进行交互的关键。控制节点通常运行 OpenStack 集群所依赖的基础架构软件,如 RabbitMQ、MariaDB、HAProxy、Keepalived 等。除此之外,控制节点还运行 OpenStack 各个项目的 API 服务,如 Nova-api、Cinder-api 和 Glance-api 等。对于一个面向生产环境的 OpenStack 高可用集群,控制节点应由奇数台(至少三台)物理服务器组成高可用集群。在资源配置方面,由于控制节点除了存储 OpenStack 服务日志外,几乎不占用额外的大量存储空间,因此系统盘的存储空间几乎够用。依据控制节点需要运行的 OpenStack 服务数量,可进行适当的 CPU 和内存资源配置,对于常规的 OpenStack 集群,三台中高配的物理服务器即可满足控制节点需求。
3、计算节点
计算节点是 OpenStack 对外提供计算资源的关键,通常由运行 Hypervisor 虚拟化引擎的物理服务器组成。在基于 KVM 的 OpenStack 私有云集群中,计算节点主要运行 Nova-compute 和 libvirt 服务。在计算节点物理服务器选型方面,为了保证虚拟机的热迁移和高可用,最好选用相同厂商、相同型号的 CPU 作为计算节点物理服务器,同时配置尽可能多的 CPU 和内存资源。如果网络采用 Multi-host 或者 DVR(分布式虚拟路由)模式,则须考虑为计算节点规划用于外网通信的万兆网卡,对于计算节点之间或计算节点与控制节点之间通信的隧道网络,可配置多张物理网卡并以多网口绑定方式增加带宽。
4、存储节点
存储节点主要为 OpenStack 私有云提供块存储、对象存储或文件存储服务。在 OpenStack 私有云中,使用最普遍的还是 Cinder 块存储和 Ceph 分布式存储。如果仅使用 OpenStack 原生的块存储服务,则存储节点主要运行 Cinder-volume 服务;如果使用 Ceph 分布式存储集群,则存储节点运行 Ceph-osd 进程,通常 Ceph-mon 进程会部署在控制节点。就主流的 OpenStack 私有云建设而言,Ceph 是推荐的最佳实践。
5、网络节点
网络节点为 OpenStack 私有云提供二层和三层网络服务,在官方推荐的 OpenStack 集群规划配置中,建议通过独立的网络节点提供网络服务。考虑到网络瓶颈和服务高可用问题,在实际的 OpenStack 高可用集群部署中,通常把网络服务部署在三个控制节点上,结合负载均衡(HAProxy)和虚拟路由冗余协议(Keepalived/VRRP)实现网络服务的高可用。因此,在实际的 OpenStack 私有云部署中,网络节点服务通常运行在控制节点,而网络服务的高可用模式可选择 L3HA 方案或者 DVR 方案。如果属于中小规模的集群,则 L3 HA 方案为最佳;如果集群规模较大,考虑到网络瓶颈问题,则可采用 DVR 方案。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/ac616649a7d511a5c188897d7】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论