sheepdog v0.8.0 新特性

翻译URL:http://lists.wpkg.org/pipermail/sheepdog-users/2014-January/001780.html

用户可见的变化:

1. 数据的分布式算法改变
对于数据的分布,我们引入了基于所有节点和硬盘的更好的hash算法。因此,你可以获取更好的基于所有节点和硬盘的数据和请求的分布。这项变化不具备前向兼容性,这意味着用户不能直接从v0.7.x升级为v0.8.0。一种将老数据迁移到v0.8.x的方法是使用“dog cluster snapshot”先将v0.7.x的集群数据保存下来,然后加载至v0.8.0中。
2. 增加了针对sha1的x86硬件加速
Cluster snapshot的创建和恢复依赖sha1算法,所以增加这项加速特性后,如果你的CPU支持ssse3,可以体验到恢复和创建快照的小幅加速。
3.基本请求的统计
新增了一项“dog node stat”命令用来增加了一些统计操作。
命令:$ dog node stat -w
输出:
Request Active Total Write Read Remove Flush All WR All RD WRBW RDBW RPS 
Client 5 341362 100459 234375 0 6528 44 GB 26 GB 98 MB 0.0 MB 0 
Peer 0 41128 4008 37120 0 0 8.6 GB 3.9 GB 24 MB 0.0 MB 0 
Request Active Total Write Read Remove Flush All WR All RD WRBW RDBW RPS 
Client 0 341969 100459 234982 0 6528 44 GB 26 GB 92 MB 0.0 MB 0 
Peer 0 41220 4008 37212 0 0 8.6 GB 3.9 GB 24 MB 0.0 MB 0
其中:
Client:本node上来自虚拟机的所有请求;
Peer:来自其它node的所有请求;
Active:当前正在处理的活跃请求;
RPS:每秒请求数;
BW:每秒带宽。
4. 多硬盘支持增强
现在可支持node上的本地硬盘数量无限制。之前最多支持64块。
5. 集群内节点数量
使用zookeeper,现在可支持6000+节点。之前最多支持1024个节点。
6. Erasure Code(纠删码,EC)
与全量复制相比,EC是一种使用更少的存储开销来实现数据HA的冗余机制。在sheepdog中,EC可以支持运行虚拟机,而不仅仅是冷数据,因此sheepdog中的EC性能比全量复制要好。更多信息,参考: https://github.com/sheepdog/sheepdog/wiki/Erasure-Code-Support
7. 大容量的Volume
v0.8.x中,我们引入了大容量卷(可支持高达16PB)。目前,只支持通过sheepfs、http service来试用,这意味着只能通过sheepfs将16PB的卷加载到本地文件系统中。QEMU和iSCSI还不支持大容量的卷。
8. HTTP Simple Storage
sheepdog的HTTP Simple Storage可以通过RESTful的API支持简单对象的存储和检索获取服务,类似于openstack swift和Amazon S3。HTTP API目前只支持GET/PUT/DELETE/POST/HEAD,我们只实现了openstack swift API的一个子集,未来计划兼容支持Amazon S3。
对于small/big对象的上传/下载,我们使用相同的API,并且对象大小支持高达16PB。更多信息,参考: https://github.com/sheepdog/sheepdog/wiki/HTTP-Simple-Storage
9. 日志增强
目前用户可通过SIGHUP信息来持续输出sheep log(sheep.log),也可以通过设置SHEEPDOG_DOG_LOG和SHEEPDOG_DOG_LOG_PATH来获取dog的操作日志。例如:
$ export SHEEPDOG_DOG_LOG
$ export SHEEPDOG_DOG_LOG_PATH=/var/log/dog.log # if not set, we'll log in syslog # then all your dog operations are logged.
10. strict mode被加回来了
之前,我们支持 safe/qurum/unsafe模式,但是后来去掉了,因为在某些边缘测试用例中不能保证“safe”。但是,有时我们需要strict模式,该模式是我们希望确保副本的写入数量的准确性来保证冗余的承诺。这意味着目标数据写入完成后,目标数据是按承诺冗余的,并经得住随机的节点失效故障。
例如:在4:2的策略下,我们需要至少6个节点分布存储data strip(条带化的数据)和parity strip(条带化的校验数据)。在non-strict模式下,只有在4个节点都正常的情况下,才允许写入成功。
我们可以通过对“dog cluster format”使用“-t | --strict”启用strict模式。
11. QEMU v1.7中正式支持sheepdog虚拟机的auto-reconnect
这部分与QEMU的sheepdog block driver有关,auto-reconnect在sheepdog所有版本中都支持。
12. “dog vdi delete”同步
这个命令将一直等待所有数据都被删除后才返回。之前,即使“dog vdi delete”操作一段时间后执行失败,也会立即返回。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值