我使用nginx->radosgw->ceph集群,其中每个放置的数据同时放置在3个osd上(每个osd是一个单独的osd服务器),整个集群包含9个osd服务器。v10 (如果这重要的话)
比如说,我的数据是5 5KiB的一个小文件。群集处于OK状态。
问:当我通过nginx->radosgw从集群中获得(请求)我的数据时,OSD选择了什么从SSD磁盘接收实际信息?
逻辑是什么?
谢谢你耐心阅读上面的选项。提前谢谢你的回答。
发布于 2018-12-07 21:06:05
问:当我通过nginx->radosgw从集群中获得(请求)我的数据时,OSD选择了什么从SSD磁盘接收实际信息?
客户端总是向主OSD发送读和写请求的地址。对于所需的其余工作,主要OSD是可回复的。
因此,在复制池的情况下,主OSD将直接响应请求,只依赖于它的本地存储。整个对象将从主OSD读取,不涉及其他OSD。
在擦除编码池的情况下,客户端也将从主OSD请求数据,当主OSD接收到来自其他涉及OSD的所有数据块时,主OSD将向客户端服务对象。在丢失块的情况下,主OSD也将查询奇偶校验块,以便解码数据。
https://stackoverflow.com/questions/53666457
复制相似问题