分布式存储,是怎么解决增/删节点,还能维持数据一致性的?原理还是没搞太清楚 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liudaqi
V2EX    问与答

分布式存储,是怎么解决增/删节点,还能维持数据一致性的?原理还是没搞太清楚

  •  
  •   liudaqi 2017-10-30 07:52:57 +08:00 via Android 2283 次点击
    这是一个创建于 2905 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假设有三台图片存储服务器 A,B,C,按 IP 通过一致性 hash 算法,加虚拟节点,分别存储各种图片文件。

    1. B 服务器突然当机了,B 服务器上的文件,怎么迁移,同时保持可访问?

    2. A,B,C 三台服务器全满了,增加 D 服务器。怎么保证所有数据只存到 D 上来?

    3. B 服务器 IP 更换了,新 IP 地址怎么无缝接回原 hash 系统里去呢?
    9 条回复    2017-10-30 10:08:07 +08:00
    tammy
        1
    tammy  
       2017-10-30 08:02:04 +08:00 via Android
    你这是把三台 nas 认为改名分布式存储?
    chih
        2
    chih  
       2017-10-30 08:05:40 +08:00 via Android
    请学习 Hadoop HDFS paxos,这三个是基础。
    liudaqi
        3
    liudaqi  
    OP
       2017-10-30 08:19:02 +08:00 via Android
    @tammy 三台只是举个例子,可以随时增减不是

    @chih 原理没理解透,什么工具都行
    LxExExl
        4
    LxExExl  
       2017-10-30 08:27:33 +08:00 via iPhone
    1 当机了就不行了 但是有备份节点可以访问当机节点的数据
    2 不了解
    3 加入新节点的时候会重新分配已有节点里的数据 之后新节点入环 就衔接上了
    0ZXYDDu796nVCFxq
        5
    0ZXYDDu796nVCFxq  
       2017-10-30 08:58:24 +08:00 via iPhone
    通过 IP 一致性 hash 算法当然不能扩容和冗余了
    你提到图片,那就是对象存储了
    冗余是通过多副本来实现的,比如三节点双副本,或者三节点三副本
    然后需要中央服务器来管理文件对象,实现冗余,高可用,扩容,迁移等功能

    原理差不多都这样,但实现起来就复杂了
    块存储难度更高
    xomix
        6
    xomix  
       2017-10-30 09:15:12 +08:00
    事实上文件都是快存储的冗余…………并没有什么一个文件在什么地方的问题。
    qianlv7
        7
    qianlv7  
       2017-10-30 09:16:40 +08:00
    catror
        8
    catror  
       2017-10-30 09:30:22 +08:00 via Android
    1. 多副本(不同副本放在不同主机),替换的服务器上来后,同步副本
    2. 分布算法加入剩余空间的考虑。另外新服务器上来,也可以做数据迁移来平衡剩余空间
    3. 有换 IP 需求的话,可以考虑用给每个节点命名,解析交给 hosts 文件
    binux
        9
    binux  
       2017-10-30 10:08:07 +08:00 via Android
    需要中心节点协调文件分布的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 20:14 PVG 04:14 LAX 13:14 JFK 16:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86