自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 论坛 (4)
  • 收藏
  • 关注

原创 mdadm彻底删除software RAID

mdadm彻底删除software RAID Linux系统中可以通过使用mdadm这个简单高效的命令将几块盘甚至一块盘的几个分区组成一个software RAID阵列,提高存储效率。但是当我们不想保留这个RAID了,就需要彻底删除这个RAID,今天就来说说如何删除的彻彻底底的。实验环境使用mdadm安装software RAID的流程请参考mdadm创建software RAID,安装结束后

2015-08-11 10:14:38 14899

原创 Linux内核中RAID5源码详解之写过程剖析(二)

Linux内核中RAID5源码详解之写过程剖析(二)继上一篇Linux内核中RAID5源码详解之写过程剖析(一),现在我们已经将bio添加到了相应的stripe_head中,记为sh,由于RAID5处理的基本单元就是stripe_head,所以接下来就是怎么处理这个含有bio的stripe_head过程。 上篇中make_request() 中最后调用release_stripe_plug() 处

2015-08-03 16:25:41 3566 4

原创 Linux内核RAID5写性能分析

Linux内核RAID5写性能分析前面的几篇博文大致介绍了下Linux内核中RAID5源码实现写的过程,那么今天我们就来分析下RAID5写性能如何,具体来说,应该是根据bio请求的大小来分析写延迟。Background首先我们先确定下测试的模型:3+1 RAID5,并且有chunk_size=4∗pagechunk\_size=4*page,结构如下图。 上图中S0~S3均为stripe_he

2015-07-24 18:27:29 2805 2

原创 Linux 内核中RAID5源码详解之写过程剖析(一)

Linux 内核中RAID5源码详解之写过程剖析(一)前面说了很多铺垫性的东西,感觉是时候放大招了,今天我们就来谈谈内核中RAID5最重要的特征:写。前面说过了handle_stripe() 是处理stripe_head的真正战场,由于该函数十分复杂,所以我在内核源码中增添了写输出信息,便于理解,由于里面的函数调用很多,下面讲的时候会涵盖很多函数的源码,所以请自备花生、水果和饮料,感觉会很长,我尽量

2015-07-24 17:16:44 3732 2

原创 Linux 内核中RAID5源码详解之守护进程raid5d

Linux 内核中RAID5源码详解之守护进程raid5d对于一个人,大脑支配着他的一举一动;对于一支部队,指挥中心控制着它的所有活动;同样,对于内核中的RAID5,也需要一个像大脑一样的东西来支配着他的正确运转,那就是RAID5的守护进程raid5d。今天,我们就好好来看看raid5d到底是怎么一回事~进程的注册前面的博文中贴出的源码经常会出现这样一条语句md_wakeup_thread(mdde

2015-07-24 15:22:48 2114

原创 Linux 内核中RAID5源码详解之stripe_head的管理

Linux 内核中RAID5源码详解之stripe_head的管理前面已经介绍了整个系统的全局架构和内核中RAID5的基本处理单元stripe_head结构,基本上已经从整体上对Linux内核中的RAID5模块有了一定的认识,今天我们就来说说RAID5是怎么来管理stripe_head(下面有时也会说到”条带“,其实指的就是stripe_head结构)的,闲话不多说,go~

2015-07-24 14:01:48 2897 6

原创 Linux 内核中RAID5源码详解之RAID模块声明

Linux 内核中RAID5源码详解之模块声明系统整体布局在讲RAID5之前,我们先来思考下这个问题:我们平时写的C函数,比如说write() 是怎么将数据写到计算机的硬盘上的?整个系统指令执行的流程是什么?我们带着这个问题来了解系统的整体布局。 这是系统的整体布局的示意图,比如说问题中的write() 执行流程则为用户态调用该函数,然后进行系统调用,将指令和参数传给虚拟文件系统层,然后再具体

2015-07-23 16:28:12 2565 4

原创 Linux内核中RAID5源码详解之基本架构与数据结构

Linux内核中RAID5的基本架构与数据结构解析众所周知,早年的计算机存储数据现在磁带上,然后发展到了磁盘,然而仅仅是单个盘,速度和性能都不是很好,然是,要知道人类的聪明才智是连ET都想不到的,前辈们不断的猜想,实验来提高计算机的性能,于是磁盘阵列问世了。由于磁盘阵列(Redundant Arrays of Independent Disks,RAID)的出现,使磁盘的存储性能和安全性等诸多方面有

2015-07-22 16:51:11 4683 4

原创 Linux内核中MD及RAID模块化

Linux 内核中MD及RAID模块化这段时间接触了下linux内核中的MD代码以及RAID源码,想自己在上面加一些东西,期间就要重新编译MD和RAID,但是由于修改的是内核源码,所以刚开始每次编译都需要编译内核,花费的时间比较长,于是就想起了将MD和RAID进行模块化,这样的话就大大节省了编译的时间,下面我们就来谈谈是怎么模块化的。模块化的步骤大致分为三个阶段:编译内核、编译模块和插入模块。接下来

2015-07-22 13:27:33 5107 6

转载 mdadm创建software RAID

Notes - Updated 1/28/2014:I am performing these examples in Virtualbox, so the hard drive sizes will be much smaller than what you'll have in reality, but this will serve as a good demonstrati

2015-07-21 15:33:49 2157 1

原创 Linux中将文件系统模块化详解

Linux内核中的模块化最近接触了下linux内核中的文件系统源码,但是想在上面修改的话必须要重新编译内核,如果不使用模块化的话,那就要修改一次编译一次内核,由于编译内核的时间非常长,所以就将修改的那部分编译成一个模块,进而后来使用模块化来达到预期效果。首先,大致几个步骤如下:编译内核编译模块插入模块编译内核首先来说下编译内核是怎么实现的,其实这方面网上

2015-07-21 14:42:47 2309 3

ext2文件系统扩展属性

详细介绍了ext2文件系统在内核中的布局,以及ext2的基本数据结构和功能介绍,同时详细的讲解了ext2文件系统中的扩展属性,从基本数据结构入手,剖析了关于扩展属性的详细操作流程。

2015-08-10

新型存储PCM综述

作为比SSD性能更优的新型存储器件,PCM(phase-change memory)的研究也在如火如荼的进行着,本篇文档详细的介绍了PCM的原理、性能等特点,让你全面的了解PCM。

2015-07-21

如何实现O_DIRECT与异步io同时使用?

发表于 2015-12-22 最后回复 2016-01-19

使用O_DIRECT打开文件后,对该文件的写操作可以批量发送吗

发表于 2015-12-19 最后回复 2016-01-19

如何实现O_DIRECT与异步io同时使用?

发表于 2015-12-23 最后回复 2016-01-19

使用O_DIRECT打开文件后,对该文件的写操作可以批量发送吗

发表于 2015-12-21 最后回复 2015-12-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除