洪运源码

FastCFS分布式文件系统v5.3.0

FastCFS分布式文件系统是一个基于块存储的高性能通用分布式文件系统,FastCFS可以作为数据库(MySQL、PostgresSQL、Oracle等)以及k8s和虚拟机(KVM等)的后端存储。

FastCFS分布式文件系统是一个可以跑数据库的高性能分布式文件系统。

支持的操作系统:

Linux: Kernel version >= 3.10 (完全支持)

MacOS or FreeBSD (仅支持服务端,不支持FUSE)

一键部署:

如果你打算快速体验一下FastCFS,可以一键搭建(包括部署和运行)单节点(需要root身份执行):

git clone https://gitee.com/fastdfs100/FastCFS.git; cd FastCFS/

./helloWorld.sh

# 注意:helloWorld.sh将更改FastCFS相关配置文件,请不要在多节点集群上执行!

上述操作完成后,执行命令:

df -h /opt/fastcfs/fuse | grep fuse

可以看到FastCFS挂载的文件目录,你可以当作本地文件系统访问该目录。



经过整整4个月的潜心研发,FastCFS V4.0终于与大家见面了。V4.0主要改进:faststore引入存储插件,存储节点以有限内存(如32GB)支持上百TB的存储空间。如果单机要支持PB级的存储空间,出于性价比考虑,建议存储节点至少配置128GB内存。另外V4.0 对faststore的存储层进行了重构,直接使用底层库 libdiskallocator,这样的做好处是保持一套代码,更容易维护,同时减少出bug的几率。

faststore存储插件以block(4MB的文件块)为单位进行持久化存储,存储该block对应的slice索引;当内存不足时按block进行淘汰。faststore使用slice binlog + block索引持久化的做法,block索引持久化采用的是异步方式。总结一下faststore是否使用存储插件的差异:未使用存储插件只有slice binlog;使用存储插件是slice binlog + 按block组织的slice索引。


V4.0其他小改进:

[fdir] add protocols get_fullname_by_[inode|pname] for fdir_stat(便于调试文件访问权限问题)

[fuseclient] support mount option ro (read-only)(mount的文件系统支持只读模式)

[fstore] file block size use config instead of macro define(默认为4MB的文件block大小支持配置方式)


V4.0修复的bug列表:

[fdir] bugfixed: correct idempotency output when storage engine enabled

[fdir] bugfixed: rename_check with flags S_ISVTX when dest dentry exist

[fstore] bugfixed: must call slice_binlog_set_binlog_start_index(0)

[libfastcommon] bugfixed: fast_mblock_batch_alloc correct return value

[libdiskallocator] trunk_space_log.c: fix redo logic of keep record


FastCFS分布式文件系统下载地址

FastCFS分布式文件系统v5.3.0 源码链接:https://www.hycodes.cn/server/4249.html

下载说明:本站部分资源供学习交流使用,如商业用途,请购正版。

返回顶部