LFS 轻量级分布式文件储存系统

openkk 12年前

LFS是一个轻量级分布式文件系统。

LFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。LFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

文件系统中使用的技术都是最简单的,在1.0版本之前没有刻意的追求性能

RPC传输统一采用int8_t,int32_t,int64_t数据类型

如果你有什么疑问可以发送邮件到:redchen1255@gmail.com

1.0版目标

1.实现driver中所有功能

2.chunk备份数目自动迁移

3.没有内存泄露

4.管理控制工具

5.支持100个节点

接口API

Status lfs_write(LFS * lfs,SFile * file)

参数:

lfs :系统实例

file :要写入的文件

返回:

返回该方法处理状态码

Status lfs_read(LFS * lfs,const char * namespace,/ *out */SFile * file);

参数:

lfs :系统实例

namespace:需要读取文件的命名空间

file :文件指针,取得文件将放入这个指针的地址中

返回:

返回该方法处理状态码

实例

当前支持写,读,删除操作

(完全支持x86_32,x86_64)

测试环境:Ubuntu 10.04 32位 64位

操作命令:

1.下载源代码到lfs文件夹中(文件夹不用预先建立)

svn export http://lemon-file-system.googlecode.com/svn/trunk/ lfs

2.进入lfs文件夹,打开lfs.py,检查user config项目,检查配置是否正确(lfs现在还不支持远程自动部署,因为测试和开发者服务器数量有限,只仅限在单机启动多个进程的办法,如果有需要的用户,可以自己修改lfs.py来支持远程自动部署)

cd lfs

3.运行lfs.py,查看系统支持的命令

python lfs.py help

4.启动lfs(如果系统已经编译部署,启动lfs,可以直接运行 python lfs.py start)

python lfs.py all

5.运行测试case进入到build目录(系统默认是 ~/work/build,如果更改配置,按照自己的配置的路径)

cd ~/work/build

6.运行driver_unittest

./driver_unittest

(没有出现红色的FAIL,表示测试例子成功通过)

7.停止lfs

python lfs.py stop

项目主页:http://www.open-open.com/lib/view/home/1338889393219