首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenStack cinder-volume 的高可用

为了保证云平台的稳定性,需要做很多部分的高可用。比如控制节点高可用、计算节点高可用、网络节点高可用、存储的高可用等;

控制节点的高可用与网络节点的高可用都有官方的文档,有详细的安装步骤,实现起来相对来说比较简单。存储的高可用在openstack这一块也不用考虑很多,比如ceph、glusterfs自带高可靠性。

当做了这些高可用后,我发现cinder-volume是一个瓶颈,如果它挂了的话,现有已经挂载的云硬盘是可以继续使用的。但是如果要对云硬盘进行管理(创建、挂载、卸载等操作)就不行了。任凭你后端存储高可靠性再NB也只能保证数据的可靠性,这时候的解决办法就只有对cinder-volume做高可用。

对cinder-volume做HA,第一个想到的就是负载均衡+keepalived来实现。经过验证这样的配置方式是可行的。不过我在测试过程中发现了一个有趣的问题:如果按照了cinder-volume的主机名一致那么,服务列表就只会显示一个cinder-volume服务。也就是说只要这两台服务器存储后端配置为同一种存储,如果使用ceph那么keyring保持一致,那么就可以实现高可用了,后面我就进行了测试:

1、开启两台服务器,主机名一致,均为ceph-node1,后端存储为ceph,控制节点服务列表如下:

上图显示只有一个cinder-volume服务

2、这时候我开启两台主机的日志,创建三块云硬盘:

通过上图可以看出它是随机选择了一台服务器进行创建的

3、为了验证高可靠性,现在关闭其中一台服务器

服务列表服务状态依然是up

4、删除云硬盘

这是未关闭服务的服务器的日志,也就是说,它可以继续管理云硬盘

总结:个人觉得这是最干脆的HA,只需要要主机名与存储后端一致即可预防单点故障。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428G1V7GC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券