Linux基础篇学习——Linux磁盘管理及维护之RAID磁盘阵列
RAID
概念
磁盘阵列(Redundant Arrays of Independent Drives,RAID),有
独立磁盘构成的具有冗余能力的阵列
之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
类别
RAID类型 | 个数 | 利用率 | 优缺点 |
---|---|---|---|
RAID0 条带集 | 2,2+ | 100% | 读写性能提升,不容错 |
RAID1 镜像集 | 2,2+ | 50% | 读性能提升,写性能下降,有冗余能力 |
RAID5 奇偶校验条带集 | 3+ | n-1/n | 读写性能提升,容错,允许坏一块盘 |
RAID6奇偶校验条带集双校验 | 4+ | n-2/n | 读写性能提升,容错,允许坏2块盘 |
RAID10 | 4+ | 50% | 读写性能提升,容错 |
RAID01 | 4+ 50% | 读写性能提升,容错 |
RAID 级别比较
RAID 卡支持的硬盘接口类型
如何保证磁盘坏了之后,数据不丢失?
映像,冗余备份
如何提高磁盘数据的读写速率?条带
RAID0
磁盘的有效利用率 100%
特点 只做条带,提高磁盘的读写性能
没有映像,不做冗余
数据存在丢失风险
应用场景 对数据的读写性能要求较高,安全性要求较低的场景(视频、音频、临时缓存)
RAID1
磁盘的有效利用率 50%
特点 只有镜像,提高数据冗余
没有条带,磁盘写性能降低,读性能不受影响
数据绝对安全
应用场景 对数据的安全性要求较高,顺序读写的场景(邮件系统、系统盘)
RAID01,RAID10
RAID01 先做条带,再做镜像
RAID10 先做镜像,再做条带
RAID01本质是对物理磁盘实现镜像,RAID10是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01比RAID10具有更好的容错能力。
磁盘的有效利用率 50%
特点 有镜像,也有条带,可以实现数据冗余,提高读写性能
保证安全
成本高
RAID5
只能允许一个磁盘故障
磁盘的有效利用率 n-1/n(n>=3)
特点 有镜像,也有条带
读写性能提高
扩展性强
是兼顾存储性能、数据安全、存储成本等多方面因素的综合方案
同一个盘上存在存储数据和校验数据
RAID6
允许2个磁盘故障
磁盘的有效利用率 n-2/n(n>=4)
特点 有镜像,也有条带
写性能较RAID5下降
扩展性强
实现复杂,成本高
同一个盘上存在存储数据和校验数据
配置RAID
RAID卡带电池和不带电池有什么区别?
raid卡开启回写的情况下,数据是先写到缓存,在缓存累计到一定量的数据再顺序写入磁盘,这样能显著提高小文件的交换速度。但是由于缓存是易失性的,所以主机掉电的话,缓存数据就丢失了。这样会造成系统记录与实际数据的不对称。
通写情况下,所有数据直接写进磁盘,与缓存无关。
例子
当数据库写入一个条目的时候,raid卡先把这个条目放进缓存。这时数据库会认为这个条目已经被存放好了。其实不是,因为它没有被写入磁盘。当这时主机掉电,缓存中的条目丢失,会造成以下情况:数据库认为刚才的条目已经存储了,但是在磁盘上却找不到该条目,数据库就会进入死循环,严重的数据库就直接崩了。
电池就是为了防止这种现象才存在的。
知识补充
同一台服务器上安装的RAID卡型号可能不同
RAID卡要有对应的驱动
容错
容错是指在子系统出现磁盘错误或磁盘故障时,可以保证数据完整性和数据处理能
力。
容错性能提高了系统的可用性,即磁盘故障时,系统仍可正常运行。因此,在故障修
复流程中,容错是非常重要的特性。
扩容
- 只有RAID 0、RAID 1、RAID 5、RAID 6支持增加硬盘扩容。
- RAID10、RAID 50、RAID 60不支持增加硬盘扩容。
- 当硬盘组中包含了2个或2个以上的VD时,无法通过添加新硬盘扩容。
- 添加新硬盘扩容时,每次扩容操作只能增加一块硬盘。
存储容量
在选择RAID级别时,其存储容量也是一个重要参数。
- RAID 0:在指定一组磁盘后,同等情况下,RAID 0可以提供个最大的存储容量,可用容量=成员盘最小容量x成员盘个数。
- RAID 1:由于对一个磁盘进行写入时,必须同时写入另一个磁盘,导致存储空间损耗。可用容量=成员盘最小容量。
- RAID 5:校验数据块与常规数据块隔离,因此整体上来说,校验数据会占用1个成员盘的容量。可用空间=成员盘最小容量x(成员盘个数-1)。
- RAID 6:由于2个独立的校验数据块与常规数据块隔离,整体上来说,校验数据会占用2个成员盘的容量。可用空间=成员盘最小容量x(成员盘个数-2)。
- RAID 10:可用容量=成员盘最小容量x成员盘个数/2。
- RAID 50:可用容量=子组容量x子组数。
- RAID 60:可用容量=子组容量x子组数。