《OpenStack高可用集群(上册):原理与架构》 —2.1.3 集群存储节点
2.1.3 集群存储节点
在OpenStack集群中,有很多服务项目组件需要使用后端存储来存储数据,如Nova项目需要存储实例,Glance项目需要存储镜像,而在OpenStack集群中提供存储服务的主要是块存储组件Cinder和对象存储组件Swift,以及可以同时提供文件系统、块存储、对象存储服务的Ceph集群。OpenStack集群中存储节点的部署比较灵活,用户可以根据自身情况将存储节点与计算节点分开独立部署,也可以将存储服务和计算服务同时部署到一个节点上。在OpenStack集群中,存储服务可以通过三种形式对外提供存储服务,分别是独立于计算节点的共享存储方式、位于计算节点的共享存储方式、位于计算节点的非共享存储方式。其中,独立于计算节点的共享存储方式是OpenStack生产环境高可用集群部署推荐的部署模式。在这种部署模式中,共享存储可以通过NFS、GlusterFS、GPFS和Ceph集群的形式实现,同时由于存储服务与计算服务实现了独立部署,计算节点即可看成是“无状态”的,只要当前运行的计算节点上没有实例存在,则该节点随时可以从OpenStack集群中移除而不会影响集群存储服务的使用,并且由于使用了共享存储,位于故障计算节点上的实例可以在其他正常运行的计算节点上迅速恢复。因此,独立存储节点共享存储部署模式不仅有利于计算节点和存储节点各自的独立维护,还可以实现虚拟机实例的高可用。
当然,如果服务器数目有限,则可以将计算服务和存储服务部署到同一服务器上,并以共享存储的形式对外提供存储服务。这种部署方式通常是为各个计算节点从外部存储设备上分配大量存储空间,然后通过分布式文件系统将各个计算节点上的空间合并为单一挂载点。这种部署方式的好处是节省了存储节点,同时在需要存储空间的时候可以很方便地通过外部存储来扩容,但是由于分布式文件系统的存在,使得存储数据难以定位到具体的节点,并且可能会出现存储服务和计算服务同时争抢计算节点资源的情况而导致节点性能下降。另外一种部署模式是存储服务与计算服务合并但是使用共享存储,即每个存储节点独立在计算节点上,计算节点仅能使用位于其上的存储服务。这种部署模式的优点在于节省存储节点的同时,独立计算节点上的高I/O并不会影响其他计算节点上的实例性能,但是缺陷也很多,比如计算节点故障后,实例无法在其他计算节点上恢复,也很难实现实例在计算节点之间的迁移,同时在需要更多存储空间时,无法实现在线的存储扩容。
在大规模高可用OpenStack集群部署中,由于Ceph拥有自己的集群高可用和数据恢复机制,并且易于扩展、维护和满足各种存储对象的需求,因此Ceph集群通常被用于替代Cinder和Swift的后端存储功能,简单来说,Ceph集群由Ceph监控服务、Ceph OSD服务以及Ceph客户端构成,在Ceph与OpenStack的整合部署中,Ceph的Monitor服务被部署到控制节点上,而Ceph的OSD进程可以独立于计算节点,也可以合并到计算节点上部署,Ceph的客户端通常是Nova的Compute服务和Glance以及Cinder服务,图2-3为Ceph与OpenStack整合后的高可用部署模式。
- 点赞
- 收藏
- 关注作者
评论(0)