RAID独立冗余磁盘阵列

一、什么是 RAID ?

计算机的组成部件中,CPU、内存的速度远高于磁盘,导致磁盘 I/O 经常成为系统的性能瓶颈。同时,磁盘设备用于存储数据,磁盘的损坏将会导致数据丢失,增加系统风险。基于以上性能和安全问题,在磁盘存储中提出了 RAID(Redundant Array of Independent Disks)冗余磁盘阵列技术。

RAID 技术通过组合多个物理磁盘,形成一个独立的逻辑盘,它能够比单个物理磁盘提供更好的性能和更大的容量。同时由于有多个物理磁盘做冗余处理,数据存储多份,在部分磁盘损坏时,能够保证数据可用,提高了数据安全性。

RAID 技术通常需要有独立的硬件支撑,称之为 RAID 卡,RAID 卡有自己的 CPU 和缓存,通过集成或借用主板上的控制器来管理硬盘。有 RAID 卡后,一般把磁盘连接到 RAID 卡上,而不是直接插在主板上,RAID 卡插在主板对应的插槽里。

二、RAID 级别

RAID 磁盘阵列可以设置成不同的级别,常见的比如 RAID0,RAID1,RAID3,RAID5,RAID10,RAID50 等等,其中 RAID10 是 RAID0 和 RAID1 的组合,RAID50 是 RAID0 和 RAID5 的组合。不同的 RAID 级别代表着不同的存储性能、数据安全性和存储成本。

RAID0 和 RAID1 相对简单,通常服务器板载控制器已经达到了这种要求,RAID5, RAID10 等需要增加独立的 RAID 卡。

RAID-0 RAID-1 RAID-3 RAID-5 RAID-10
别名 条带 镜像 专用奇偶位条带 分布奇偶位条带 镜像阵列条带
容错性 没有
冗余类型 没有 复制 奇偶校验 奇偶校验 复制
热备盘选项 没有
读性能 中间
随机写性能 最低 中间
连续写性能 中间
需要的磁盘数 一个或多个 只需2个或2N个 三个或更多 三个或更多 只需4个或4N个
可用容量 总的磁盘容量 50%磁盘容量 (n-1)/n的容量 (n-1)/n的容量 50%磁盘容量
典型应用 无故障的迅速读写,要求安全性不高,如图形工作站等 随机数据写入,要求安全性高,如服务器数据库领域 连接数据传输,要求安全性高,如视频编辑,大型数据库等 随机数据传输,要求安全性高,如金融,数据库,存储等 要求数据量大,安全性高,如银行、金融等领域

RAID0:一块及以上硬盘就可做 RAID0

  • 优势:数据读取写入最快,最大优势提高硬盘容量,比如 3 块 80G 的硬盘做 RAID0 可用总容量为240G,速度是一样。
  • 缺点:无冗余能力,一块硬盘损坏,数据全无。
  • 建议:做 RAID0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用。

RAID1:至少 2 块硬盘可做 RAID1

  • 优势:镜像,数据安全强,2 块硬盘做 RAID,一块正常运行,另外一块镜像备份数据,保障数据的安全。一块硬盘坏了,另外一块硬盘也有完整的数据,保障运行。
  • 缺点:性能提升不明显,做 RAID1 之后硬盘使用率为50%。
  • 建议:对数据安全性比较看重,性能没有太高要求的场景使用。

RAID5:至少需要 3 块硬盘 RAID5

  • 优势:以上优势,RAID5 兼顾,任意 N-1 块硬盘都有完整的数据。
  • 缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,RAID5 IO/CPU 性能下降严重。
  • 建议:盘不多,对数据安全性和性能提示都有要求,RAID5 是个不错选择,鉴于磁盘出问题时的性能下降,可考虑 RAID10。

RAID10:至少需要 4 块硬盘。RAID10 是 2 块硬盘组成 RAID1,2组 RAID1 再组成 RAID0,所以必须需要 4 块硬盘。

  • 优势:兼顾安全性和速度,4盘的情况下,RAID10 允许 2 块盘故障,随着硬盘数量的提升,容错量也会相对应提升。
  • 缺点:对盘的数量要求稍高,磁盘使用率为一半。
  • 建议:硬盘数量足够的情况,建议 RAID10。

三、RAID 卡参数

Read Policy(读策略):
  • Read Ahead(预先读取),使用此策略后,从虚拟磁盘中读取所需数据时,会把后续数据同时读出放在 Cache 中,用户随后访问这些数据时可以直接在 Cache 中命中,节省响应时间,提高了数据读取速度。要使用该策略,要求 RAID 卡支持数据掉电保护功能,且如果此时超级电容异常,可能导致数据丢失。
  • No Read Ahead(无预先读取),停用预先读取功能,使用此策略后,RAID 卡接收到数据读取命令时,才从虚拟磁盘读取数据,不会做预读取的操作。
Write Policy(写入政策):
  • Write Back(回写),使用此策略后,需要向虚拟磁盘写数据时,会直接写入 Cache 中,当写入的数据积累到一定程度,RAID 卡才将数据刷新到虚拟磁盘,这样不但实现了批量写入,而且提升了数据写入的速度。当控制器 Cache 收到所有的传输数据后,将给主机返回数据传输完成信号。要使用该策略,要求 RAID 卡支持数据掉电保护功能,且如果此时超级电容异常,可能导致数据丢失。
  • Write Through ( 透写 ),使用此策略后,RAID 卡向虚拟磁盘直接写入数据,不经过 Cache。当磁盘子系统接收到所有传输数据后,控制器将给主机返回数据传输完成信号。此种方式不要求 RAID 卡支持 BBU,即使 BBU 故障,也无影响,缺点是写入速度较低。
  • Write Back with BBU(BBU可用时回写),使用此策略后,当 RAID 卡 BBU 在位且状态正常时,RAID 卡到虚拟磁盘的写操作会经过 Cache 中转(即回写方式)。当 RAID 卡 BBU 不在位或 BBU 故障时,RAID 卡到虚拟磁盘的写操作会自动切换为不经过 Cache 的直接写入(即透写方式)。

注:
BBU,全称 Battery Backup Unit,电池备份单元,在电源供应出问题的时候,为 RAID 卡缓存供电。

四、RAID 卡优缺点

优点:

  • 将小的物理磁盘整合在一起,整体作一个独立的逻辑磁盘,提供比单个物理磁盘高得多的容量。
  • 多台物理磁盘可并行工作,提高了数据传输率。
  • 提供校验和冗余,增强了数据安全性。

缺点:

  • RAID 卡使用了缓存,需要安装电池,否则在断电场景下,容易丢失数据。
  • RAID 卡需要额外的硬件支撑,导致成本增加。

文章评论

0条评论