|
CEPH 家用很垃圾的,因为它把每个大文件分成小块,这就导致看一部电影,可能要到所有磁盘上找各个块来合并成一部电影。商用场景下没错,IO 性能最高。但家用场景下所有磁盘都不能休眠,耗电高、温度高、空调散热压力大、炒豆子声音和散热风扇声更是受不了。
其实基于文件散列值,自己写一个家用的分布式存储并不难。基于散列值分片,每个片有 3 块硬盘来达到三副本。考虑到不是同一时期买的硬盘(但一次必须买 3 块盘),后买的硬盘容量更大,那可以数据分片时环形哈希就行了。不考虑动态扩容,存不下了采用数据割接方案。
在确保三副本前提下,应该尽可能将一个文件完整存储在一个磁盘上。家用场景很可能是晚上才看部电影,甚至都不看,所以所有硬盘在正常情况下都应该休眠。
当然实际上都不需要这么麻烦。只需要保证 3 副本,然后不同的磁盘取不同的名字就完了,手动往上面放就行,最简单最好维护。我家里就这么玩的。而我之所以提了散列值,是因为我的文件快照,就是这样实现的。 |