简单梳理RAID算法

本文简要介绍了RAID在Linux-IO协议栈中的位置和作用,阐述了RAID作为Block I/O layer的拓展模块,如何过滤IO并提供阵列给应用程序访问。同时,提到了RAID的组件化设计思想,以md为基础,子类如raid5、raid6等实现特定功能。作者还分享了一个简单的RAID测试代码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接触raid也算有段时间了,其实对于raid,自己也利用空闲时间尝试过一些东西,raid缓存掉电保护,实现一个简单的raid模块。前者,看过一些技术文章和论文,写过些代码,后来不知道怎么搞就停了,后者,bug很多。总结下来,感觉现在自己还是tai cai。以后必继续搞起,哈哈,先把牛皮吹出去!
     raid文档公司要求也写过一些,至于本篇,先前写了个PPT,本来是要搞一个公司内部raid的简单培训不了了之了,下面主要就是贴到一些ppt截图。见谅,无干水文一篇,目前我想着开个有关linux系统的博客专栏,发现要有15篇原创技术blog,这篇就先用来顶了,以后有机会补充分享有关raid的东西!


     什么是RAID?如上图可知RAID所处Linux-IO协议栈的位置,介于通用块层与IO调度层,作为Block I/O layer其中的一个功能拓展模块,正常数据流通不必要经过RAID层。既然是Linux-IO栈中的拓展模块,必定服务于数据IO,其功能:对于要从文件系统下发至实际磁盘的bio来说,它相当于做了一层IO过滤。RAID实现获取和处理bio数据的接口,并实现将RAID阵列以标准块设备的形式提供给Applictions访问,用户也可基于可视化的阵列通过格式化Block-based文件系统使用,如:xfs、ext4以及btrfs等。而对于RAID组件?采取组件方式方便了阵列管理和功能扩展,有个比喻很恰当:面向对象思想,md相当于基类,而raid5(或raid4、raid6等)类似于子类,在继承了基类属性及方法的同时又实现了私有方法,解决业务逻辑。
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值