免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: happy_fish100
打印 上一主题 下一主题

[FastDFS] FastDFS分布式文件系统应用交流!赢取数据库技术大会门票!(获奖名单公布) [复制链接]

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
31 [报告]
发表于 2012-02-28 10:48 |只看该作者
本帖最后由 happy_fish100 于 2012-02-28 10:54 编辑

回复 27# 独臂剑客

>>2:看文档好像不支持修改操作,不过看有追加写API,修改实现应该也会在那个版本会支持吧。
A:恩,有此打算。
准备对appender类型的文件,支持文件修改。

>>3:有没有考虑对不同磁盘介质如SATA、SAS、SSD等做一些配置、读写合并优化等。
A:底层文件系统,已经实现了读写合并等优化策略。FastDFS暂时没有这方面的优化考虑。

>>4:不支持用户自定义文件名,对于一些可以用KEY生成文件名的公司业务,如果业务有太多小文件,业务自己存文件名就要重新搭一套SQL/NoSQL,FastDFS是否可以内部搭建索引帮业务完成,现在都有比较成熟的nosql开源借鉴,不过看作者如何考虑。
A:应用端可以自己保存文件名和文件ID映射关系。我也准备加一层名字映射机制,以支持应用端指定文件ID(文件名)。
我准备把文件ID映射保存到FastDHT中,google code已经建立项目了,一直没时间搞。

>>5:组内文件同步机制如何完成?如果和rsync类实现机制,对于强一致性的业务虽然可以从源数据访问,但对于高并发业务还是有局限性,是否考虑在storage前加一层cache模块?tracker下载时间戳判断来看逻辑任务比较重了。
A:组内同步基于binlog文件,没有借助其他开源项目,完全是自己实现的。
文件下载,可以直接走HTTP,在storage server上部署apache或nginx,采用FastDFS提供的扩展模块。
这种下载方式,走主流的web server,独立于FastDFS集群,完全就绕开FastDFS的tracker server了。

>>6:如果新加一组服务器,是否业务新写请求都落到新加入组,扩容系统是否有自动均匀存储,自动平衡迁移的能力?
A:FastDFS不会自动对文件进行迁移,包括热点迁移和均衡存储迁移等等。

>>7:如果组内每一台服务器盘异常或文件块损坏,是否有自动恢复能力?
A:目前支持单盘损坏后自动恢复数据。就是单块磁盘损坏,更换好新硬盘后,FastDFS会自动从组内其他storage server上,将该磁盘上已有文件同步过来。

>>8:发现没有预上传接口,对于重复存储文件,FastDFS如何处理的?
A:FastDFS将 文件大小 + 文件签名 作为文件指纹,如果指纹相同,则认为文件内容相同。
这个工作在storage server上完成的,对应用端完全透明。

>>9:下载文件以及存储 读取这些都要询问tracker,tracker网络在大并发业务处理会成为屏劲,前端client有没有缓冲?
A:tracker server非常轻量级,支持的并发数完全可以超过5K。4核CPU上,QPS完全可以达到5w/s

>>10:热点文件前端http模块有没有处理?
A:没有。这个需要应用端自己优化处理。比如在前端加一层缓存服务,如squid。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
32 [报告]
发表于 2012-02-28 10:55 |只看该作者
niao5929 发表于 2012-02-27 22:53
FastDFS使用的什么授权协议哦。是自由、开源软件吗?现在觉得最值得研究的就是自由开源软件。那样的软件生命 ...


FastDFS采用的是GPL v3协议

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
33 [报告]
发表于 2012-02-28 11:20 |只看该作者
本帖最后由 happy_fish100 于 2012-02-28 11:21 编辑

回复 30# mirnshi

>>1. 文件的存储
>>   a. 文件系统的node是固定的,那么存储小文件或者大文件,FastDFS可以忽略这个限制吗?
A:如果保存海量小文件,可以使用FastDFS提供的文件合并存储特性。这样多个小文件会保存到一个trunk file中,大大减少文件系统inode数。
>>   b. FastDFS对于OS的文件系统参数是否有特别推荐要求,比如块大小之类的?
A:没有。对OS文件系统做常规优化即可。
>>   c. 一台存储是否只能归属于一个组?
A:实际应用中,一台storage server属于一个group即可。
属于多个group,没有什么好处,只会把自己搞晕。

>>2. 文件的备份恢复
>>   a. 如果出现异常,掉电/网络断开等导致文件存储过程被打断,FastDFS如何处理?
A:如果是网络异常导致文件上传终止,FastDFS会将写入的临时文件清除掉。
如果正在上传文件的时候掉电,临时文件不会被清除,会产生垃圾文件。
>>   b. 如果存储介质出现问题,FastDFS如何恢复数据?(可以部分恢复或全部失效?)
A:单盘出现故障,更换后支持单盘数据自动恢复。当然也可以把故障机器数据全部清除,然后FastDFS可以自动恢复已有的全部文件。
>>   c. 如果组内一台存储失效,那么新增一台存储,FastDFS是否可以自动做数据同步?如果做,时效性如何?
A:自动同步的。详细介绍看置顶贴中的文件同步机制吧。
>>   d. 如果tracker失效,是否意味着存储成为黑盒子?如果是,是否有备份tracker的机制?
A:FastDFS支持多台tracker server,各个tracker server对等,起着冗余备份和负载均衡的作用。

>>3. 应用
>>   a. 将来是否支持fuse?如果是,预计什么时间?
A:暂不考虑支持
>>   b. 均衡策略如何?大文件/小文件的访问占用资源是不同的,FastDFS如何处理均衡?
A:对大/小文件,除了对小文件采用合并存储模式外,其余的一视同仁,二者没有其他区别。
>>   c. 大内存的存储或者mfs是否有助于提高访问速度?
A:FastDFS集群中不需要保存文件索引,tracker server对内存没有特殊要求。
>>   d. tracker和storage是否可以共用一台机器?如果可以,storage是否可以利用单机多盘方式冗余存储数据?
A:tracker和storage完全可以共用一台机器。一台机器不能实现数据冗余,数据冗余靠组内的多机实现。
>>   e. tracker和storage是否支持类似nginx的不间断服务修改配置或升级?
A:不支持。升级程序或者修改配置文件后,必须重启程序(服务)。

论坛徽章:
0
34 [报告]
发表于 2012-02-28 12:05 |只看该作者
强力支持

论坛徽章:
0
35 [报告]
发表于 2012-02-28 12:36 |只看该作者
回复 31# happy_fish100


>>3:有没有考虑对不同磁盘介质如SATA、SAS、SSD等做一些配置、读写合并优化等。
A:底层文件系统,已经实现了读写合并等优化策略。FastDFS暂时没有这方面的优化考虑。
--------------------------------------
不同磁盘介质在合并优化写方面差异还是很大,VFS的IO调度策略也各不相同,写操作没成为屏劲问题到不大。



>>9:下载文件以及存储 读取这些都要询问tracker,tracker网络在大并发业务处理会成为屏劲,前端client有没有缓冲?
A:tracker server非常轻量级,支持的并发数完全可以超过5K。4核CPU上,QPS完全可以达到5w/s

SET点多了以后,如果所有API操作都依赖tracker,tracker就需要考虑IDC分布了,网络波动外部环境都会影响业务体验,个人理解tracker相当于一个配置中心,既然是一个配置逻辑规则处理中心,为啥前端client不缓冲一份,如果配置中心配置或逻辑变化,client再重新拉取即可。

论坛徽章:
0
36 [报告]
发表于 2012-02-28 13:13 |只看该作者
前端cache层可以根据情况自己搭一套。squid,nginx都有成熟的方案。这个就不劳fastdfs了。
tfs的cdn节点的做法,是比较好的做法。一个组件解决一个问题,积木一样搭出高可用方案。

回复 35# 独臂剑客


   

论坛徽章:
0
37 [报告]
发表于 2012-02-28 13:15 |只看该作者
回复 31# happy_fish100


>>4:不支持用户自定义文件名,对于一些可以用KEY生成文件名的公司业务,如果业务有太多小文件,业务自己存文件名就要重新搭一套SQL/NoSQL,FastDFS是否可以内部搭建索引帮业务完成,现在都有比较成熟的nosql开源借鉴,不过看作者如何考虑。
A:应用端可以自己保存文件名和文件ID映射关系。我也准备加一层名字映射机制,以支持应用端指定文件ID(文件名)。
我准备把文件ID映射保存到FastDHT中,google code已经建立项目了,一直没时间搞。


这个feature我再投一票,优先实现。

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
38 [报告]
发表于 2012-02-28 13:27 |只看该作者
又了解了一些,还有些疑问,烦劳解惑,多谢了。

1. 看了一些介绍,如果组内有多台存储,似乎只能是存储1,其他都是备份
   a. 如果采用多组方式增加容量,是不是至少是双机方式增加(保证数据安全)?
   b. 组的增减,是否影响到业务层?修改代码或者重新部署/启动?

2. 文件名路径映射
   假设用户上传存储了一个文件abc.txt,实际存储的是xxx
   那么映射关系是业务系统做,还是tracker做?
   如果是业务系统做,那么一旦业务系统的索引映射出现问题,实际存储的文件面临的是不可恢复,而且成为黑洞
   目前有无办法避免?
   
2. FastDFS如何报告硬件错误?比如某台存储下线或者磁盘故障?有监控程序吗?

3. 海量小文件可以合并存储,这是否会影响效率,是抑制了并发还是提高了并发?
   
4. FastDFS产生的垃圾文件,如果自身无法清除,那岂不是长期占用磁盘空间,有工具检测清除吗?或者可以手工删除?
   另外,FastDFS同步异常会产生垃圾文件吗?

5. FastDFS支持acl及quotas吗?

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
39 [报告]
发表于 2012-02-28 13:41 |只看该作者
>>3:有没有考虑对不同磁盘介质如SATA、SAS、SSD等做一些配置、读写合并优化等。
A:底层文件系统,已经实现了读写合并等优化策略。FastDFS暂时没有这方面的优化考虑。

不同的存储介质: 硬盘/ssd/内存,实现多级读写缓存优化,还是很有必要的。目前传统的文件系统还无法实现多级优化。

A:应用端可以自己保存文件名和文件ID映射关系。我也准备加一层名字映射机制,以支持应用端指定文件ID(文件名)

这个也很有必要,可以避免出现映射链断开,导致文件逻辑上的丢失

happy_fish100不妨弄一个todo列表,建立开发优先级。系统的架子搭好了,装饰和工具也非常重要。

论坛徽章:
0
40 [报告]
发表于 2012-02-28 16:49 |只看该作者
回复 39# mirnshi



happy_fish100不妨弄一个todo列表,建立开发优先级。系统的架子搭好了,装饰和工具也非常重要。
-----------------------------------------------
顶这个
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP