Skip to content

liangxs/fmcfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fmcfs: 一个整合 HDD 和 SSD 的分级文件系统

###1. 简介

fmcfs 是在 Linux 环境下开发的一个用于整合磁盘和固态盘的分级文件系统. fmcfs 把存储设备分为两个级别, 其中固态盘(SSD)做为第一级别存储设备, 磁盘(HDD)做为第二级别存储设备. fmcfs 可以自动统计文件中每个数据块的历史访问信息, 识别出冷/热数据块, 然后在磁盘和固态盘之间自动地进行数据块的迁移和回迁操作.

fmcfs 名称含义如下:

f 表示 Flash-based SSD,

m 表示 Magnetic-based HDD,

c 表示 Cloud storage, (注: 设计初期准备把云存储作为第三级存储整合进来, 但这项功能目前还没有开发, 留待以后扩展.)

fs 表示 file system.

###2. fmcfs 文件系统架构 fmcfs 被设计为 Linux 下的一个文件系统功能模块, 在 Linux 中的位置如下图所示:

fmcfs

fmcfs 模块中有两个子功能模块: fmc_ssd 模块和 fmc_hdd 模块. 模块功能如下所示:

  • fmc_ssd 模块以日志方式管理 SSD 卷空间, 并在需要时把冷数据块自动回迁到 HDD 卷.
  • fmc_hdd 模块借鉴 ext 文件系统格式管理 HDD 卷空间, 并额外提供了统计文件数据块历史访问信息的功能, 以及把热点数据块自动迁移到 SSD 卷的功能.

###3. 源代码目录简介

bin : 包含编译生成的可执行文件.

docs : fmcfs 中各模块的设计说明文档.

fmc_cld: 有待扩展的云存储功能.

fmc_hdd: 磁盘相关的功能代码.

fmc_ssd: 固态盘相关的功能代码.

fmc_tools: 格式化磁盘和固态盘的工具.

pics: 撰写 markdown 文档所需的图片.

###4. 代码使用说明

####4.1 编译文件系统格式化工具

$ cd ./fmc_tools
$ make

####4.2 格式化设备, 创建文件系统

cd ../bin
./fmc_ssd /dev/sdb1	/* 格式化固态盘 */
./fmc_hdd /dev/sdc1	/* 格式化磁盘 */

####4.3 安装文件系统模块.

About

Linux 环境下的一个分级文件系统, 用于整合 SSD 和 HDD 存储设备。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages