操作系统导论习题解答(38. Redundant Disk Arrays (RAID))

本文深入探讨了RAID(Redundant Arrays of Inexpensive Disks)技术,从RAID的基本原理、接口与内部构造、故障模型,到不同级别的RAID(如RAID 0、RAID 1、RAID 4/5)的性能、可靠性和容量评估。RAID通过使用多个磁盘来提升性能、容量和可靠性,但不同级别的RAID在应对磁盘故障和提供吞吐量方面有所不同。RAID-0通过条带化提高性能,但无冗余;RAID-1通过镜像实现高可靠性,但牺牲了容量;RAID-4/5则利用奇偶校验平衡了容量和可靠性。

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

Redundant Arrays of Inexpensive Disks (RAIDs)

带着问题学习:如何制作容量大、速度快、可靠的磁盘?

解决上述问题使用了一种技术叫做Redundant Array of Inexpensive Disks(RAID):协同使用多个磁盘。

RAIDs相对于单个磁盘有如下几点优势:

  1. 性能(performance)
  2. 容量(capacity)
  3. 可靠性(reliability)

RAIDs对使用它们的系统透明地(transparently)提供了这些优势,对于宿主系统而言一个RAID看起来就像一个磁盘。透明性提高了RAID的可部署性,使使用者和管理员使用RAID不需要担心软件兼容问题。

1. Interface And RAID Internals

当文件系统向RAID发出一个逻辑I/O请求,RAID内部必须计算获取哪个(些)磁盘响应这个请求,然后发出一个或多个物理I/O请求完成这个请求。举一个简单的例子,考虑一个RAID,该RAID保留每个块的两个副本(每个副本在单独的磁盘上);在写入此类镜像RAID系统时,RAID必须为发出的每个逻辑I/O执行两个物理I/O。

一个RAID系统通常情况下被设计成一个单独的硬件盒,通过标准(SCSI或SATA)与主机连接。但是在RAID内部却相当复杂,有运行固件以指导RAID操作的微控制器;用于在读写数据块时对其进行缓冲的诸如DRAM之类的易失性存储器;在某些情况下,非易失性存储器可以安全地缓冲写入操作,甚至可以使用专门的逻辑来执行奇偶校验计算。

从较高层次上讲,RAID是一个非常特殊的计算机系统,它有处理器、存储器和磁盘。但是,它不是运行应用程序,而是运行专门用于操作RAID的软件。

2. Fault Model

要了解RAID并比较不同方法的优劣,我们必须知道故障模型。RAID旨在检测特定类型的的磁盘故障并从中恢复。因此,准确知道预期的故障对于实现可行的设计至关重要。

第一个故障模型相当简单,叫做fail-stop故障模型。在这个模型中,一个磁盘能有确定的两个状态中的一个:能工作(working)或者已失效(failed)

这个故障模型一个至关重要的点就是它关于故障侦测的假设:当一个磁盘失效后,它非常容易检测到。因此,在这个模型中,我们不需要关心更复杂的故障问题。

3. How To Evaluate A RAID

构建RAID有多种不同的方法,这些方法中的每一种有不同的特征,为了了解每一种方法的优缺点,我们需要了解每一种方法的特征。

上述我们也提到过,评估RAID设计优劣有三个指标:

  1. capacity。N个磁盘,每个磁盘有B块,不使用冗余阵列,可用容量为N * B;如果我们使用RAID保留每个块的两个副本,那么可用容量就为(N * B)/ 2。
  2. reliability。给定的设计可以容忍多少磁盘故障?
  3. performance。性能评估在某种程序上具有挑战性,因为它很大程序上取决于提供给磁盘阵列的工作负载。

我们将重点考虑三个RAID设计:

  1. RAID Level 0 (striping)
  2. RAID Level 1 (mirroring)
  3. RAID Levels 4/5 (parity-based redundancy)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值