FusionStorage-DHT算法
DHT(distributed hash table)分布式hash算法,华为指的是数据路由算法
- VBS提供SCSI\ISICI服务,DHT算法需要解决的问题是VBS接收到数据后怎么进行有效快速的分布式存储到OSD中
SCSI协议
预备知识,简单理解VBS怎么通过SCSI协议确定到具体的磁盘

- HOST_ID,通过主板总线接口识别并加载驱动所识别的SCSI控制器
- CHANNEL_ID,每个channel拥有一条scsi总线
- TARGENT_ID,具体的设备,比如U盘,硬盘
- LUN_ID,硬件具体使用还会再分成多个逻辑磁盘LUN
- LAB_ID,LUN设备的具体哪个位置
VBS会把SCSI信息转换为VBS能识别的信息,最终的LABID就是OSD了
做法一:
- HASH的值:LUNID+LABID(VBS中叫tree_id/branch_id)
- HASH值的范围:0-2 ^32-1次方
- 通过HASH值的范围和OSD通过映射平均对应

- 存在问题:每次检索需要2^32次方,CPU寻址时间过长
做法二:
- 通过缩减检索范围,进行合并组(FS中叫Partition),减少条目

本文深入探讨了FusionStorage中的DHT算法,详细解释了如何通过SCSI协议将数据路由到特定的磁盘,并介绍了三种不同的实现方法及其存在的问题。同时,文章还讨论了存储池的最大容量限制及解决方案。

2195

被折叠的 条评论
为什么被折叠?



