BFS-Baidu百度文件系统
The Baidu File System
百度的核心数据库Tera将数据持久化在分布式文件系统上,分布式文件系统的性能、可用性和扩展性对整个上层搜索业务的稳定性与效果有着至关重要的影响。现有的分布式文件系统(如HDFS等)无法满足低延迟、高可用、跨地域扩展等方面的需求,所以我们从百度搜索的业务特点出发,开发了自己的分布式文件系统BFS。
设计目标
高可靠、高可用
通过将数据副本进行多机房、多地域冗余,实现单个机房、地域遇到严重灾害的情况下,不丢失数据,不影响整体可用性。
将元数据服务分布化,通过多副本实现高可用,通过Raft等一致性协议同操作日志,实现多副本的一致性。高吞吐、低延迟
通过高性能的存储引擎,最大化存储介质IO吞吐;通过全局的副本、流量调度,实现热点负载均衡。水平扩展
支持跨地域、多数据中心部署,可水平扩展至10万台机器。
系统架构
系统主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。
其中NameServer是中心控制模块,采用集群化部署,负责目录树的管理;ChunkServer是数据节点负责提供文件块的读写服务;SDK以静态库的形式提供了用户使用的API;bfs_mount通过libfuse,将bfs挂载到本地,作为本地文件系统访问;bfs_client是一个二进制的管理工具。
评论
BcachefsLinux 文件系统
Bcachefs是Linux的新文件系统,Bcachefs源自于名叫bcache的内核块层缓存,作者希望能提供类似XFS/EXT4的性能以及类似Btrfs和ZFS的特性。目前的特性包括了支持多驱动器,
BcachefsLinux 文件系统
0
dhcpdfsDHCP 文件系统
DHCPasafilesystem,要求FUSE的支持,使用Go语言开发。安装:GOFUSE=github.com/hanwen/go-fusego get $GOFUSEcd $GOPATH/src
dhcpdfsDHCP 文件系统
0
nvimfsFUSE 文件系统
nvimfs是一个FUSE文件系统,公开NeovimAPI。它需要:FUSENeovimPython3(testedusing3.4)python-neovim forPython3(pip3inst
nvimfsFUSE 文件系统
0
CarvFSFUSE文件系统
CarvFS是一个userspace的FUSE文件系统,旨在这一进程的磁盘和/或内存转储映像或其他大型数据文件。文件系统允许CarvPath意识的工具来使用,以此来指定分区,文件CarvPath注释,
CarvFSFUSE文件系统
0
PhoenixFS文件系统
PhoenixFS是一个使用FUSE的文件系统实现,其灵感来自于Git版本控制。依赖库:Zlib(>=1.2)FUSE(>=2.6)pkg-config(>=0.25)Linuxke
PhoenixFS文件系统
0