如何解决ceph RBD是否有能力进行负载平衡?
我对ceph不太了解。据我所知,RBD是ceph的分布式块存储设备,并且相同的数据应该存储在组成ceph集群的多台计算机上。那么,该分布式块设备(ceph RBD)是否具有负载平衡能力?换句话说,如果多个客户端(在我的情况下,将是QEMU)使用该RBD块存储,并且它们同时读取相同的数据,则ceph RBD将平衡流量并将其同时从不同计算机中发送到客户端集群还是一台计算机将其数据发送到多个客户端?如果我有一个由6台计算机组成的ceph集群和由3台计算机组成的ceph集群,那么这些RBD的性能有什么不同吗?
解决方法
这不是负载平衡,但是ceph的分布式特性允许并行服务许多客户端。如果我们专注于大小为3的复制池,则有3个不同的磁盘(在不同的主机上)存储完全相同的对象。但是总会有一个主OSD将写请求转发到其他副本。这会使写入请求稍慢一些,但读取请求仅由主OSD服务,因此它比写入要快得多。而且由于客户端直接与OSD“对话”(它们从MON获取地址),因此可以并行服务许多客户端。特别是因为OSD不会将RBD存储为单个对象,而是将其拆分为按“放置组”分组的许多对象。
但是,如果您真正谈论的是多个客户端正在读取的完全相同的对象,则必须知道RBD上有watchers
会将它们锁定,因此只有一个客户端可以更改数据。如果您可以更详细地描述您的情况,我们可以提供更多信息。
如果我有一个由6台计算机组成的ceph集群和一个ceph集群 由3台计算机组成。在性能上有什么区别吗 这些RBD?
这取决于实际配置(合理数量的PG,粉碎规则,网络等),但总的来说答案是肯定的,您拥有的ceph节点越多,您可以并行服务的客户端就越多。与其他存储系统相比,Ceph可能没有最好的性能(当然,这取决于实际设置),但它的伸缩性很好,以至于随着客户端数量的增加,性能保持不变。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。