【IT168 技术】RAID有很多值得学习的地方,这里我们主要介绍RAID控制器,包括介绍RAID 5磁盘空间等方面。作为网络操作系统,冗余磁盘阵列(Redundant Array of Inexpensive Disks,简称RAID)功能是必备的功能之一。从Linux 2.4内核开始,Linux就提供软件RAID,不必购买昂贵的硬件RAID控制器和附件(一般中、高挡服务器都提供这样的设备和热插拔硬盘),就能极大地增强Linux磁盘的I/O性能和可靠性。
同时,它还具有将多个较小的磁盘空间组合成一个较大磁盘空间的功能。这里的软件RAID不是指在单个物理硬盘上实现RAID功能。为提高RAID的性能,最好还是使用多个硬盘,使用SCSI接口的硬盘效果会更好。
RAID作用及主要使用类型
RAID将普通硬盘组成一个磁盘阵列,在主机写入数据时,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,从而提高了存储系统的存取程度。此外,RAID磁盘阵列更主要的作用是,可以采用镜像、奇偶校验等措施来提高系统的容错能力,保证数据的可靠性。一般在安装Linux操作系统时可以根据需要进行RAID的安装配置。
在使用Linux操作系统的过程中,也可以根据应用的需要,用手工方法进行RAID的配置。配置前提是必须已经安装raidtools工具包。该包可以从http://people.redhat.com/mingo/raidtools处下载最新版raidtools-1.00.3.tar.gz ,然后用root用户解压缩包然后输入以下命令:
# cd raidtools-1.00.3
# ./configure
# make
# make install
这样raidtools-1.00.3就安装好了,从而可以随时安装使用RAID。
在Linux系统中,主要提供RAID 0、RAID 1、RAID 5三种级别的RAID方法。RAID 0又称为Stripe或Striping,中文译为集带工作方式。它是将要存取的数据以条带状形式尽量平均分配到多个硬盘上,读写时多个硬盘同时进行读写,从而提高数据的读写速度。RAID 0另一目的是获得更大的“单个”磁盘容量。
RAID 1又称为Mirror或Mirroring,中文译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,它是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上或硬盘的不同地方(镜像)。当读取数据时,系统先从RAID 1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案,也是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛。其不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低,而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5磁盘空间利用率要比RAID 1高,存储成本相对较低。以上介绍RAID控制器。