LFS 轻量级分布式文件储存系统
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