摘要: 课程地址: https://pdos.csail.mit.edu/6.824/schedule.html 《MapReduce》 1. 中文翻译:https://www.cnblogs.com/YaoDD/p/6017397.html 阅读全文
posted @ 2020-03-10 09:24 yunlion 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 转载链接: https://www.cnblogs.com/yi-mu-xi/p/10282678.html 消息从(pipe.cc) pipe->reader() 处理后,若ms_can_fast_dispatch()就fast_dispatch()(DispatchQueue.cc ); 否则 阅读全文
posted @ 2020-01-19 14:51 yunlion 阅读(828) 评论(0) 推荐(0) 编辑
摘要: 参考: 1. 深入浅出BlueStore的OSD创建与启动 https://mp.weixin.qq.com/s?src=11&timestamp=1578463611&ver=2083&signature=riJ9hFMjhhUN2eFr0kzFFuVglj9KMXD*Qr1NjFLx4N9Oum 阅读全文
posted @ 2019-12-11 11:14 yunlion 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: 根据日志追踪启动过程: sheep启动: 使用zookeeper作为集群管理: 需要提供的接口: zk_init: ret = create_cluster(port, zone, nr_vnodes, explicit_addr); // 创建sheepdog集群 // 监控节点连接状态 ret 阅读全文
posted @ 2019-04-22 16:40 yunlion 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 添加xml文件: 官方xml文件: 实际测试发现,qemu需要添加path才支持部分功能:如 ioeventfd="on" event_idx="off"和<transient/> 部分patch地址:https://www.redhat.com/archives/libvir-list/2011- 阅读全文
posted @ 2019-04-17 18:46 yunlion 阅读(331) 评论(0) 推荐(0) 编辑
摘要: sheepdog 与QEMU: QEMU的sheepdog驱动层实现在协议层,QEMU软件的最底层;和QEMU的NBD有些相似,但比他更强大。我们可以在这里实现我们想要的任何格式,而且该协议支持实时迁移、快照、克隆等功能; Raw格式,不仅可以实现存储(性能更高),也可以实现快照、克隆、精简配置这些 阅读全文
posted @ 2019-04-16 10:29 yunlion 阅读(288) 评论(0) 推荐(0) 编辑
摘要: map_with_crush(): 构造crush map 1. 创建crush map struct crush_map *m = crush_create(); 2. 添加bucket 分为两步:先make,后add 2.1 make bucket 先看一下bucket的数据结构: 产生一个bu 阅读全文
posted @ 2019-04-15 18:23 yunlion 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 文件读写接口: 例如:rados_write(ioctx, "foo", buf, sizeof(buf), 0) do_rule函数: 函数原型: crush_choose_firstn 函数 这个函数递归的选择特定bucket或者设备,并且可以处理冲突,失败的情况. 如果当前是choose过程, 阅读全文
posted @ 2019-04-11 16:57 yunlion 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 1. ceph群集里pg存在的意义? 由于PG和OSD的数量都比较有限,记录每个OSD承载了哪些PG可行,而且变化不频繁,开销小。 在OSD X故障后,很容易获得OSD X承载的PG列表,并计算出各个PG的另外两个副本在哪个OSD。而每个PG下面的对象,都按照PG做了聚集(称为collection, 阅读全文
posted @ 2019-04-11 16:40 yunlion 阅读(470) 评论(0) 推荐(0) 编辑
摘要: nodes到vnodes的映射: sheep.h文件 阅读全文
posted @ 2019-04-04 10:55 yunlion 阅读(172) 评论(0) 推荐(0) 编辑