各 raid 级别介绍
- raid 0(等量模式,stripe)
- 实现原理
- 将磁盘切成等量的 chunk(4K~1M之间)
- 当一文件要写入 raid 时,该文件根据 chunk 的大小切好,之后顺序放到各个磁盘中
- 数据等量的放在各个磁盘中
- 特点
- 越多磁盘组成 raid 0,由于数据分散的原因,IO 速度越快
- 不同大小的硬盘也可以组成 raid 0
- 优点
- 速度快
- 缺点
- 任意一个硬盘坏掉后,数据就丢失了一块
- 实现原理
- raid 1(映像模式,mirror,完整备份)
- 实现原理
- 两个磁盘同步写入数据
- 特点
- 软 raid 的 raid 1 如果有大量数据写入时,效果可能不好
- 硬 raid 基本不用考试效率的问题
- 优点
- 数据可备份
- 缺点
- 成本较高
- 实现原理
- raid 5(效率与数据备份的均衡考虑)
- 组建条件
- 3 块盘及以上
- 实现原理
- 在每个循环的写入过程中,在每个盘加入一个检查数据(Parity)
- 这个数据会记录其他磁盘的备份数据,用于当有磁盘坏掉时的救援
- 总容量是整体磁盘数量 - 1
- 当坏盘 > 2 时,数据会丢失
- 读速度上和 raid 0 有的比,写速度不会增加很多,因为写入时要计算 Parity
- Parity 是通过 CPU 计算,而不是 raid 卡
- 组建条件
- raid 6
- raid 10
- 实现原理
- 先做 raid 1,再做 raid 0
- 优点
- 效率很高
- 实现原理
- raid 50
其他 raid 知识
- Spare Disk
- 为了让系统在坏掉硬盘时主动重建,就需要热备盘了
- 平时不会使用,当有坏盘的时候,热备盘顶替上去,然后立即重建数据系统
- raid 的优点
- 数据安全与可靠效率
- 读写效能
- 容量
各 raid 模式比较
项目 | RAID0 | RAID1 | RAID10 | RAID5 | RAID6 |
---|---|---|---|---|---|
最少磁盘数 | 2 | 2 | 4 | 3 | 4 |
最大容错磁盘数(1) | 无 | n-1 | n/2 | 1 | 2 |
数据安全性(1) | 完全没有 | 最佳 | 最佳 | 好 | 比 RAID5好 |
理论写入效能(2) | n | 1 | n/2 | <n-1 | <n-2 |
理论读出效能(2) | n | n | n | <n-1 | <n-2 |
可用容量(3) | n | 1 | n/2 | n-1 | n-2 |
一般应用 | 强调效能但数据不重要的环境 | 资料与备份 | 服务器、云系统常用 | 资料与备份 | 资料与备份 |
raid 相关工具
MegaCli
管理维护硬件 raid,可以查看 raid 信息
安装
# 检查当前系统是否安装
rpm -qa | egrep 'Lib_Utils|MegaCli' //检查是否安装
# 选择以下任意一种方式下载安装包
https://raw.githubusercontent.com/crazy-zhangcong/tools/master/MegaCli8.07.10.tar.gz
ftp://download2.boulder.ibm.com/ecc/sar/CMA/XSA/ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip
# 下载后解压
# 进入目录,使用 rpm 安装
rpm -ivh Lib_Utils-1.00-09.noarch.rpm MegaCli-8.02.21-1.noarch.rpm
# 配置软链接
ln -sv /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/
常用查询命令
# 查 raid 级别
MegaCli64 -LDInfo -Lall -aALL
# 查 raid 卡信息
MegaCli64 -AdpAllInfo -aALL
参考资料
http://www.ttlsa.com/tools/megacli-monitor-raid-status/