首页 > 代码库 > CentOS系统安装过程中配置软RAID-0或RAID-1

CentOS系统安装过程中配置软RAID-0或RAID-1

什么是RAID-0

RAID-0 (等量模式, stripe):效能最佳。这种模式如果使用相同型号与容量的磁碟来组成时,效果较佳。这种模式的 RAID 会将磁碟先切出等量的区块 (举例来说, 4KB), 然后当一个文件要写入 RAID 时,该文件会依据区块的大小切割好,之后再依序放到各个磁碟里面去。由於每个磁碟会交错的存放数据, 因此当你的数据要写入 RAID 时,数据会被等量的放置在各个磁碟上面。举例来说,你有两颗磁碟组成 RAID-0 , 当你有 100MB 的数据要写入时,每个磁碟会各被分配到 50MB 的储存量。RAID-0 的示意图如下所示:
技术分享
上图的意思是,在组成 RAID-0 时,每颗磁碟 (Disk A 与 Disk B) 都会先被区隔成为小区块 (chunk)。 当有数据要写入 RAID 时,数据会先被切割成符合小区块的大小,然后再依序一个一个的放置到不同的磁碟去。 由於数据已经先被切割并且依序放置到不同的磁碟上面,因此每颗磁碟所负责的数据量都降低了!照这样的情况来看, 越多颗磁碟组成的 RAID-0 效能会越好,因为每颗负责的数据量就更低了! 这表示我的数据可以分散让多颗磁碟来储存,当然效能会变的更好啊!此外,磁碟总容量也变大了! 因为每颗磁碟的容量最终会加总成为 RAID-0 的总容量喔!

只是使用此等级你必须要自行负担数据损毁的风险,由上图我们知道文件是被切割成为适合每颗磁盘分区区块的大小, 然后再依序放置到各个磁碟中。想一想,如果某一颗磁碟损毁了,那么文件数据将缺一块,此时这个文件就损毁了。 由於每个文件都是这样存放的,因此 RAID-0 只要有任何一颗磁碟损毁,在 RAID 上面的所有数据都会遗失而无法读取。

另外,如果使用不同容量的磁碟来组成 RAID-0 时,由於数据是一直等量的依序放置到不同磁碟中,当小容量磁碟的区块被用完了, 那么所有的数据都将被写入到最大的那颗磁碟去。举例来说,我用 200G 与 500G 组成 RAID-0 , 那么最初的 400GB 数据可同时写入两颗磁碟 (各消耗 200G 的容量),后来再加入的数据就只能写入 500G 的那颗磁碟中了。 此时的效能就变差了,因为只剩下一颗可以存放数据嘛!

什么是RAID-1

RAID-1 (映射模式, mirror):完整备份。这种模式也是需要相同的磁碟容量的,最好是一模一样的磁碟啦!如果是不同容量的磁碟组成 RAID-1 时,那么总容量将以最小的那一颗磁碟为主!这种模式主要是『让同一份数据,完整的保存在两颗磁碟上头』。举例来说,如果我有一个 100MB 的文件,且我仅有两颗磁碟组成 RAID-1 时, 那么这两颗磁碟将会同步写入 100MB 到他们的储存空间去。 因此,整体 RAID 的容量几乎少了 50%。由於两颗硬盘内容一模一样,好像镜子映照出来一样, 所以我们也称他为 mirror 模式罗~
技术分享
如上图所示,一份数据传送到 RAID-1 之后会被分为两股,并分别写入到各个磁碟里头去。 由於同一份数据会被分别写入到其他不同磁碟,因此如果要写入 100MB 时,数据传送到 I/O 汇流排后会被复制多份到各个磁碟, 结果就是数据量感觉变大了!因此在大量写入 RAID-1 的情况下,写入的效能可能会变的非常差 (因为我们只有一个南桥啊!)。 好在如果你使用的是硬件 RAID (磁盘阵列卡) 时,磁盘阵列卡会主动的复制一份而不使用系统的 I/O 汇流排,效能方面则还可以。 如果使用软件磁盘阵列,可能效能就不好了。

由於两颗磁碟内的数据一模一样,所以任何一颗硬盘损毁时,你的数据还是可以完整的保留下来的! 所以我们可以说, RAID-1 最大的优点大概就在於数据的备份吧!不过由於磁碟容量有一半用在备份, 因此总容量会是全部磁碟容量的一半而已。虽然 RAID-1 的写入效能不佳,不过读取的效能则还可以啦!这是因为数据有两份在不同的磁碟上面,如果多个 processes 在读取同一笔数据时, RAID 会自行取得最佳的读取平衡。
以上文字转自:http://vbird.dic.ksu.edu.tw/linux_basic/0420quota_2.php

系统安装过程配置raid

下面我们以centos 5.8,两块硬盘/dev/sda和/dev/sdb为例进行操作。

1、自定义分区

在“安装需要对您的硬盘进行分区”的步骤中,选择“建立自定义分区结构”

2、创建RAID分区

2.1 为/boot创建raid分区
点击“RAID”按钮,选择“创建软件RAID分区”,“确定”进行一步。在“允许的驱动器”中只选择“sda”,大小100M即可,之后点击确定。重复之前的步骤,在“允许的驱动器”中只选择"sdb",其它的与之前的操作相同。如图:
技术分享
技术分享
2.2 为swap创建raid分区
根据2.2的步骤,只是大小不同,如内存2G的机器,可以创建2G的swap。
2.3 为 根目录 /创建raid分区
根据2.2的步骤,把剩下的空间全部分配给根目录。
最终状态如下:
技术分享
技术分享

3、创建RAID设备

3.1 boot raid设备
点击“RAID”,选择“创建RAID设备”,点击“确定”。挂载点选择“/boot”,文件系统类型“ext3”,raid设备“md0”,raid级别“RAID1”,RAID成员选择“sda1和sdb1”(可以根据大小判断是刚才创建的boot)。点击“确定”完成boot raid设备的创建。
技术分享
3.2 swap raid设备
点击“RAID”,选择“创建RAID设备”,点击“确定”。文件系统类型“swap”,raid设备“md1”,raid级别“RAID0或RAID1”,RAID成员选择“sda2和sdb2”(可以根据大小判断是刚才创建的swap)。点击“确定”完成swap raid设备的创建。
技术分享
3.3 root raid设备
点击“RAID”,选择“创建RAID设备”,点击“确定”。挂载点选择“/boot”,文件系统类型“ext3”,raid设备“md2”,raid级别“RAID0或RAID1”,RAID成员选择“sda3和sdb3”(可以根据大小判断是刚才创建的swap)。点击“确定”完成root raid设备的创建。
技术分享
此时就创建好了RAID,最终状态如下:
技术分享
技术分享
技术分享

CentOS系统安装过程中配置软RAID-0或RAID-1