raid是英文redundant array of inexpensive disks的缩写,中文简称为廉价磁盘冗余阵列。raid就是一种由多块硬盘构成的冗余阵列。虽然raid包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。利用raid技术于存储系统的好处主要有以下三种:
- 通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
- 通过把数据分成多个数据块(block)并行写入/读出多个磁盘以提高访问磁盘的速度
- 通过镜像或校验操作提供容错能力
最初开发raid的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。目前来看raid在节省成本方面的作用并不明显,但是raid可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,raid还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
raid技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的raid级别可以满足用户对存储系统可用性、性能和容量的要求。常用的raid级别有以下几种:nraid,jbod,raid0,raid1,raid0+1,raid3,raid5等。目前经常使用的是raid5和raid(0+1)。
nraid nraid即non-raid,所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)。nraid不提供数据冗余。要求至少一个磁盘。
jbod jbod代表just a bunch of drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。jbod也不提供数据冗余。要求至少一个磁盘。
raid 0 raid 0即data stripping(数据分条技术)。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。我们通过raid 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。raid 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。
raid 1 raid 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同样的数据)。同raid 0相比,raid 1首先考虑的是安全性,容量减半、速度不变。
raid 0+1 为了达到既高速又安全,出现了raid 10(或者叫raid 0+1),可以把raid 10简单地理解成由多个磁盘组成的raid 0阵列再进行镜像。
raid 3和raid 5 raid 3和raid 5都是校验方式。raid 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。raid 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。
按照硬盘接口的不同,raid分为scsi raid,ide raid和sata raid。其中,scsi raid主要用于要求高性能和高可靠性的服务器/工作站,而台式机中主要采用ide raid和sata raid。
以前raid功能主要依靠在主板上插接raid控制卡实现,而现在越来越多的主板都添加了板载raid芯片直接实现raid功能,目前主流的raid芯片有highpoint的htp372和promise的pdc20265r,而英特尔更进一步,直接在主板芯片组中支持raid,其ich5r南桥芯片中就内置了sata raid功能,这也代表着未来板载raid的发展方向---芯片组集成raid。 |