数据分布式存储规则,华为的FusionStorage系统在创建分布式存储的存储池时,系统会针对加入该存储池的各个存储服务器中的存储介质安装OSD模块。
一般来说每一块存储介质或者说磁盘都会对应一个OSD模块,该OSD模块负责该磁盘的状态检测,接收VBS下发的数据,并存储于该磁盘中。
通常存储池会生成对应的MDC模块(一个MDC最多管理两个存储池),首先将存储池托管给该MDC,MDC会生成一个哈希路由圆环,然后将圆环分为N(N=2^32)份分区,根据存储池内OSD的数量,对N份分区进行的均分,每一个OSD都可以分到对应的分区(切记,均分)。
你可以这样想象,哈希路由圆环就像一个很大的抽奖转盘(如下图),由MDC生成,然后我们把这个抽奖转盘分为很多个小份区域,每一小份就是上文说的分区。接着我们可以根据OSD的数量,将这些小份区域均分给OSD。假设现在N为36份,且有12个OSD,则一共36个分区,12个OSD,将36个分区均分给12个OSD,每个OSD分到了3个分区。比如分区1-分区3为OSD1的所属分区,分区4-分区6为OSD2的所属分区,以此类推。
(图 哈希分区逻辑图)
最终会形成一个分区对应OSD的对应关系,因为OSD是对应磁盘的管理模块,所以也可以说是分区对应磁盘的关系,我们也可以说这个分区对应磁盘的关系为数据分布式规则,由MDC生成。