shanno吳

我与我周旋久,宁作我

2017年2月19日

聊聊dmClock算法

摘要: 作者: "吴香伟" 发表于 2017/01/08 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 人们常常容易忽略一些不起眼但特别重要的事物。曾经跟同事聊Python,有人说一切皆对象,这也是一些OOP的广告词,但我始终觉得一切皆函数。至今为止,还尚未听过见过没 阅读全文

posted @ 2017-02-19 20:31 shanno吴 阅读(2935) 评论(1) 推荐(1) 编辑

Ceph BlueStore 解析:Object IO到磁盘的映射

摘要: 作者: "吴香伟" 发表于 2017/02/19 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 简单回顾下Ceph OSD后端存储引擎的历史。 为解决事务原子性问题,最早的FileStore存储引擎引入了Journal机制,一个IO先同步写日志,再异步写文件, 阅读全文

posted @ 2017-02-19 20:06 shanno吴 阅读(7815) 评论(0) 推荐(0) 编辑

2017年2月10日

拆开Ceph看队列和线程

摘要: 作者: "吴香伟" 发表于 2017/01/08 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 我上小学时家离学校很远,家在某某山脚,学校在镇里。每周回家一趟,周五放学后回家,周日带着一星期吃的梅干菜回学校。从家到学校有5公里山路,现在觉得5公里不算长,骑个自 阅读全文

posted @ 2017-02-10 22:00 shanno吴 阅读(3098) 评论(0) 推荐(0) 编辑

2017年2月7日

基于Ceph快照的异地灾备设计

摘要: 作者: "吴香伟" 发表于 2017/02/06 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 喜欢请点击右边打赏,谢谢支持! 引子 技术改变生活。 越来越方便的手机让大家能够更有效的利用碎片时间,我很享受在上下班的公交车上或在阳光明媚的花园里梳理思路,并写成 阅读全文

posted @ 2017-02-07 21:14 shanno吴 阅读(1524) 评论(0) 推荐(1) 编辑

2017年2月6日

Ceph QoS 初探(下)

摘要: 作者: "吴香伟" 发表于 2017/01/24 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 喜欢请点击右边打赏,谢谢支持! 存储QoS是个可以做很大也可以做很小的特性。SolidFire认为将QoS归类为特性太儿戏,QoS应该是存储系统设计之初就要仔细考虑 阅读全文

posted @ 2017-02-06 20:42 shanno吴 阅读(7760) 评论(0) 推荐(0) 编辑

2014年12月1日

Linux命令(ntp)

摘要: ###NTP时间同步下载ntp软件包```root@rgw01:~# apt-get install ntp```调整ntp server时间```root@rgw01:~# dateMon Dec 1 17:02:03 EST 2014```修改ntp服务配置```root@rgw01:~# c... 阅读全文

posted @ 2014-12-01 19:40 shanno吴 阅读(2136) 评论(0) 推荐(0) 编辑

2014年11月30日

Tier和RBD Cache的区别

摘要: 相同点缓存 数据不会持久保存在ssd或者内存;预读回写直写 都需要解决缓存数据和磁盘数据不一致和“内存页”置换的问题。差异点缓存的位置不同,tier是rados层在osd端进行数据缓存,也就是说不论是块存储、对象存储还是文件存储都可以使用tier来提高读写速度;rbd cache是rbd层在... 阅读全文

posted @ 2014-11-30 12:17 shanno吴 阅读(1232) 评论(1) 推荐(0) 编辑

2014年10月10日

Ceph剖析:故障检测

摘要: 作者: "吴香伟" 发表于 2014/10/10 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 心跳是用于OSD节点间检测对方是否故障的,以便及时发现故障节点进入相应的故障处理流程。故障检测需要在故障的发现时间和心跳带来的负载之间做权衡,如果心跳频率太高则过多 阅读全文

posted @ 2014-10-10 19:40 shanno吴 阅读(2965) 评论(0) 推荐(0) 编辑

2014年10月9日

Ceph剖析:消息处理

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/10/9 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 ![](http://images.cnitblog.com/blo... 阅读全文

posted @ 2014-10-09 19:32 shanno吴 阅读(1585) 评论(0) 推荐(0) 编辑

2014年10月8日

Ceph剖析:Paxos算法实现

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 ## Recovery阶段在Leader选举成功后,Leader... 阅读全文

posted @ 2014-10-08 19:35 shanno吴 阅读(1899) 评论(0) 推荐(0) 编辑

iscsi: 多路径

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 ![](http://images.cnitblog.com/b... 阅读全文

posted @ 2014-10-08 19:28 shanno吴 阅读(1828) 评论(0) 推荐(0) 编辑

2014年9月30日

Paxos算法分析

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/09/30 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 ### 一致性问题![](http://image... 阅读全文

posted @ 2014-09-30 14:47 shanno吴 阅读(1437) 评论(0) 推荐(1) 编辑

2014年9月26日

ceph实践: 搭建环境

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/09/26 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 本节主要参考官网的[ADDING/REMOVING O... 阅读全文

posted @ 2014-09-26 21:55 shanno吴 阅读(2429) 评论(0) 推荐(0) 编辑

2014年9月19日

ocfs2: 搭建环境

摘要: OCFS2是基于共享磁盘的集群文件系统,它在一块共享磁盘上创建OCFS2文件系统,让集群中的其它节点可以对磁盘进行读写操作。OCFS2由两部分内容构成,一部分实现文件系统功能,位于VFS之下和Ext4同级别;另一部分实现集群节点的管理。![](http://images.cnitblog.com/b... 阅读全文

posted @ 2014-09-19 19:47 shanno吴 阅读(10588) 评论(0) 推荐(0) 编辑

2014年9月12日

设计模式:Context模式

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/09/12 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Ceph实现中使用了大量派生于Context抽象类的子类,用法简单却... 阅读全文

posted @ 2014-09-12 18:24 shanno吴 阅读(3979) 评论(0) 推荐(0) 编辑

2014年9月11日

Ceph剖析:Leader选举

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/09/11 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Paxos算... 阅读全文

posted @ 2014-09-11 19:30 shanno吴 阅读(4981) 评论(0) 推荐(1) 编辑

2014年9月9日

Ceph剖析:定时器safetimer的实现

摘要: 定时器的作用是在指定的时间执行指定的动作。SafeTimer通过multimap数据结构维护定时项,定时项是时间和事件的Pair,定时项在map中按照定时时间从小到大排列。此外,SafeTimer使用一个线程来轮询定时项,当到达定时项指定的时间时执行对应的事件。下面代码是这个线程的入口函数:```c... 阅读全文

posted @ 2014-09-09 16:25 shanno吴 阅读(870) 评论(0) 推荐(0) 编辑

2014年9月6日

nfs:环境搭建

摘要: ## 准备环境通过VirtualBox创建两台虚拟机client1和client2,这两台虚拟机和物理主机组成一个网络。将物理主机作为NFS的服务端,虚拟机client1和client2作为NFS的客户端。物理主机装Mint系统,虚拟机中装Fedora 20系统。### 修改client的运行级别安... 阅读全文

posted @ 2014-09-06 19:53 shanno吴 阅读(1692) 评论(0) 推荐(0) 编辑

2014年9月5日

Ceph剖析:数据分布之CRUSH算法与一致性Hash

摘要: 作者:[吴香伟](http://www.cnblogs.com/shanno) 发表于 2014/09/05 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下三... 阅读全文

posted @ 2014-09-05 16:15 shanno吴 阅读(18024) 评论(1) 推荐(1) 编辑

2014年8月29日

Linux命令小结:crontab/netstat/iostat/sar

摘要: 阅读全文

posted @ 2014-08-29 17:35 shanno吴 阅读(1208) 评论(0) 推荐(0) 编辑

2014年8月7日

Markdown: 用写代码的思维写文档

摘要: 阅读全文

posted @ 2014-08-07 20:23 shanno吴 阅读(1742) 评论(0) 推荐(0) 编辑

2014年8月4日

Ceph剖析:线程池实现

摘要: 线程池ThreadPool的实现符合*生产者-消费者*模型,这个模型解除生产者消费者间的耦合关系,生产者可以专注处理制造产品的逻辑而不用关心产品的消费,消费者亦然。当然,生产者消费者之间需要一个连接的纽带,那就是产品接口。产品接口是对这两者的约束,生产者生产的产品要符合产品的接口,消费者依据产品接口... 阅读全文

posted @ 2014-08-04 18:49 shanno吴 阅读(1672) 评论(0) 推荐(0) 编辑

2014年7月31日

Python小知识

摘要: 阅读全文

posted @ 2014-07-31 18:36 shanno吴 阅读(386) 评论(0) 推荐(0) 编辑

2014年7月24日

OpenSSL Heartbleed原因小结

摘要: User发送心跳报文给Server,Server复制心跳报文的内容回应User。```cmemcpy(bp, p1, payload); ```Server拷贝心跳报文的内容给Client时,如果拷贝的字节数目超过实际心跳报文的长度,那么就会拷贝Server内存中其它的字节数据回应给User,从而泄... 阅读全文

posted @ 2014-07-24 17:34 shanno吴 阅读(557) 评论(0) 推荐(0) 编辑

2014年7月23日

回溯法:找回遗失的创造力

摘要: 今天非常高兴可以听高老师的讲座,因为我跟高老师有渊源(当然是我认识他,他不认识我)。我毕业后的第一份工作中有一小段时间在做Android手机应用的开发,那时Android正盛, 网上资料铺天盖地,但良莠不齐,想我在初出茅庐软件思想还不健全的情况下要找到一份通俗易懂并且靠谱的参考资料实在很困难。但非常... 阅读全文

posted @ 2014-07-23 20:33 shanno吴 阅读(358) 评论(0) 推荐(0) 编辑

学车日记

摘要: ## 2014-08-15 科目二大结局### 上车上车做好三个步骤:1) 调整座椅。踩踩离合器,把离合器踩到底时膝关节不用伸直还有弯曲;眼睛能够看到左右车头2) 调整左右反光镜。车身占镜面的1/4,后车门把手被反光镜上边沿盖住,并且只露出一点3) 系安全带。### 起步起步和上车一样也有三个动作:... 阅读全文

posted @ 2014-07-23 17:49 shanno吴 阅读(2349) 评论(0) 推荐(0) 编辑

分布式存储系统的数据分布

摘要: ### Dynamo在一致性Hash上的负载均衡*参考[一致性Hash相关的内容](#consistent-hash)**本节主要参考自[Amazons Dynamo中文](./reference/Amazon_Dynamo论文中文版.pdf)*![*副本位置*](http://images.cni... 阅读全文

posted @ 2014-07-23 17:18 shanno吴 阅读(1794) 评论(0) 推荐(0) 编辑

B-tree

摘要: ### 2-3 Tree二叉搜索树的每个节点只带有一个值,这个值将数据区间划分成两部分,值左边的部分(也就是小于这个值的数据)保存到节点的左子树,值右边的部分保存到节点的右子树。因此,每个非叶子节最多能够拥有两个子节点。如果每个节点保存两个值,那么这两个值可以将数据区间划分成三部分,左边部分的数据保... 阅读全文

posted @ 2014-07-23 16:46 shanno吴 阅读(419) 评论(0) 推荐(0) 编辑

导航