v0.46 发布
又一个冲刺迭代,v0.46 版本已经准备就绪。 此版本包含的主要项目包括
- rbd:新的缓存模式(见下文)
- rbd:trim/discard 支持
- 集群命名
- osd:新的默认位置(更简洁的 .conf 文件,见下文)
- osd:针对非 btrfs 文件系统的各种日志回放修复
- log:异步和多级日志记录(见下文)
这里最大的新功能是 Josh 正在开发的新 RBD (librbd) 缓存模式。 此模式重用了 ceph-fuse 和 libcephfs 已经使用了多年的缓存模块,因此缓存部分的代码经过了充分的测试,但与 librbd 的集成是新的,并且此版本中仍未处理一些(罕见)故障情况。 在此阶段,我们建议用于性能和故障测试,但尚未用于生产环境——请等待 v0.47。 librbd 还获得了 trim/discard 支持。 将其连接到 qemu 的补丁仍在上游进行中(在 virtio 获得 discard 支持之前将无法使用)。
我们改进了数据目录和日志文件的默认位置,并集成了可配置的集群名称。 默认情况下,集群名称为“ceph”,配置文件为 /etc/ceph/$cluster.conf(因此 ceph.conf 仍然是默认值)。 $cluster 替换变量用于其他默认位置,允许同一主机包含参与不同集群的守护进程。 所有数据默认为 /var/lib/ceph/$type/$cluster-$id(例如,/var/lib/ceph/osd/ceph-123 用于 osd_data),日志转到 /var/log/ceph/$cluster.$type.$id。 当然,您仍然可以使用自己的位置来覆盖这些设置。
还有新的日志记录代码,允许守护进程以不同(更高)的日志级别收集调试信息,而不是实际写入日志的信息(异步)。 在发生崩溃(段错误、断言失败)时,完整的日志会转储到日志中,供我们阅读。 一般语法如下:
debug foo = 1/10
其中“foo”是子系统名称(例如“osd”、“filestore”等),第一个数字是写入日志的调试级别,第二个数字是在内存中收集的级别(默认情况下,我们保留数千个过去的条目)。 希望人们可以在内存中以较低的性能影响收集调试信息,并避免占用磁盘空间。 我们需要更多的操作经验才能确定这是否真的会很昂贵。
您可以从通常的位置获取 v0.46
- Git 在 git://github.com/ceph/ceph.git
- Tarball 在 http://ceph.newdream.net/download/ceph-0.46.tar.gz
- 对于 Debian/Ubuntu 包,请参阅 http://ceph.newdream.net/docs/master/ops/install/mkcephfs/#installing-the-packages
