分享

关于swift副本存储位置的问题求教

qq315676394 发表于 2017-4-4 17:48:17 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 7 6891
我设置swift数据两个副本,节点情况 : z1 两台机器,z2一台机器。
问题是:我上传文件后偶尔出现两个副本分别落在z1的两台机器上的问题。按道理副本应该是落在不同的zone里面。

已有(7)人评论

跳转到指定楼层
qcbb001 发表于 2017-4-4 18:02:44
副本数量,表示有多少个虚节点->设备分派来构成单个环。给定一个虚节点编号,每个副本的设备将不会与其它副本的设备在同一个区域内。区域可以基于物理位置、电力分隔、网络分隔或者其它可以减少多个副本在同个时间点上失效的属性用来聚合设备。
楼主设置编号了吗?
这个有点类似hadoop机架感知,需要配置才能有,不配置应该不会。
推荐参考文档
链接:http://pan.baidu.com/s/1hrJJNvQ 密码:04pv
回复

使用道具 举报

yuwenge 发表于 2017-4-4 18:07:35
本帖最后由 yuwenge 于 2017-4-4 18:09 编辑

Swift将存储节点分为多个zone,将副本保存到不同的zone中,一般来说,zone的数量应当大于或等于副本数量。
楼主zone有几个,怎么划分的,副本又是多少。######
另外也跟楼主的配置有关系
最完善的是将这些副本放置到不同的zones中([zone] tier),但是如果只有一个zone可以使用时,那么就尽量将副本分配到不同的nodes中([zone ip:port] tier),相似的,当如果只有一个node可以使用时,那么就尽量将副本分配到这个节点上的不同devices([zone ip:port device] tier)。
所以楼主所说的不是必须的

回复

使用道具 举报

qq315676394 发表于 2017-4-4 18:07:44
你所指的编号是指zone的编号吗?下面是我的命令行

swift-ring-builder account.builder add r1z1-192.168.1.125:6002/sda3 100
swift-ring-builder account.builder add r1z2-192.168.1.126:6002/sda3 100
swift-ring-builder account.builder add r1z1-192.168.1.127:6002/sda3 100

swift-ring-builder container.builder add r1z1-192.168.1.125:6001/sda3 100
swift-ring-builder container.builder add r1z2-192.168.1.126:6001/sda3 100
swift-ring-builder container.builder add r1z1-192.168.1.127:6001/sda3 100

swift-ring-builder object.builder add r1z1-192.168.1.125:6000/sda3 100
swift-ring-builder object.builder add r1z2-192.168.1.126:6000/sda3 100
swift-ring-builder object.builder add r1z1-192.168.1.127:6000/sda3 100
回复

使用道具 举报

qq315676394 发表于 2017-4-4 18:12:28
yuwenge 发表于 2017-4-4 18:07
Swift将存储节点分为多个zone,将副本保存到不同的zone中,一般来说,zone的数量应当大于或等于副本数量。
...

我的规划是 副本数:2 , zone1(两台机器),zone2(一台机器) 副本数和zone数量相同
回复

使用道具 举报

qq315676394 发表于 2017-4-4 18:15:00
yuwenge 发表于 2017-4-4 18:07
Swift将存储节点分为多个zone,将副本保存到不同的zone中,一般来说,zone的数量应当大于或等于副本数量。
...

我的规划是 副本数:2 , zone1(两台机器),zone2(一台机器) 副本数和zone数量相同
回复

使用道具 举报

yuwenge 发表于 2017-4-4 18:15:57
qq315676394 发表于 2017-4-4 18:12
我的规划是 副本数:2 , zone1(两台机器),zone2(一台机器) 副本数和zone数量相同

这个跟程序有关系,如果不是普遍应该不是个人的问题。如果不行,楼主可以调试下。当然是自己必须会开发的前提
回复

使用道具 举报

qq315676394 发表于 2017-4-4 18:19:21
yuwenge 发表于 2017-4-4 18:15
这个跟程序有关系,如果不是普遍应该不是个人的问题。如果不行,楼主可以调试下。当然是自己必须会开发的 ...

好吧,发现这个问题感觉很疑惑,和官网的说法相违背,代码也没报错。
我是做开发的不过是java对python不太了解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条