源码属性
授权 | 免费 |
大小 | 757.11KB |
语言 | C++ |
源码简介
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
本文永久链接地址:https://www.ymkuzhan.com/66610.html