v0.4 发布
我标记了 v0.4。 此版本的新内容
- 灵活的快照(创建任何子目录的快照)
- 递归的尺寸、ctime、文件计数统计
- 大量的客户端错误修复和改进,包括异步写页、网络消息的额外 crc 保护、sendpage(在支持的情况下进行零拷贝写入)。
此版本的主要新功能是快照支持。 与大多数其他文件系统中的快照不同,Ceph 快照不是卷范围的;它们可以在每个子目录(树)的基础上创建。 也就是说,您可以执行以下操作:
$ cd /ceph $ mkdir foo/.snap/foo_snap $ ls foo/.snap foo_snap $ mkdir foo/bar/.snap/bar_snap $ ls foo/bar/.snap _12020210321_foo_snap # 父快照以 ino# 开头 bar_snap
快照包括准确的递归统计信息(例如 rsize,它反映了嵌套在目录下的所有文件的总大小,并默认报告为目录的 st_size)。 例如,
$ cd test $ tar jxf something.tar.bz2 & $ mkdir .snap/1 $ mkdir .snap/2 $ killall %1 $ ls -al .snap total 0 drwxr-xr-x 1 root root 0 Jan 1 1970 . # 虚拟“.snap”目录 drwxr-xr-x 1 root root 3590037 Oct 7 20:36 .. # “活动”目录最大 drwxr-xr-x 1 root root 1220238 Oct 7 20:36 1 drwxr-xr-x 1 root root 2366114 Oct 7 20:36 2
删除快照就像这样简单:
$ rmdir foo/.snap/foo_snap
内核客户端在过去几个月里已经稳定下来。 下一个版本将侧重于改进存储云的故障恢复行为(主要是,节流恢复和快照删除与客户端工作负载),智能地响应部分故障(单个文件对象的 EIO),以及应对 ENOSPC 条件。
源代码可用
git clone git://ceph.newdream.net/ceph.git
或者可以通过 gitweb 浏览。
