《Linux之在RHEL6系统上配置磁盘阵列(RAID)》由会员分享,可在线阅读,更多相关《Linux之在RHEL6系统上配置磁盘阵列(RAID)(15页珍藏版)》请在金锄头文库上搜索。
1、Linux之在RHEL6系统上配置磁盘阵列(RAID)(摘自 羽飞博客)磁盘阵列全名是: Redundant Arrays of Inexpensive Disks, RAID ,大概的意思是:廉价的磁盘冗余阵列。 RAID 可以通过一个技术(软件或硬件),将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘不但扩展了储存空间,而且还有数据保护的功能。RAID会根据等级 (level) 的不同,而使得整合后的磁盘具有不同的功能,基本常见的 level 有以下这几种RAID级别划分RAID 0:磁盘叠加这种模式一般是使用相同型号与容量的磁盘来组成。这种模式的 RAID 会将磁盘先切出等量
2、的区块, 然后当一个文件需要要写入 RAID 设备时,该文件就会依据区块的大小切割好,然后再依次放到各个磁盘里。由于每个磁盘会交错的存放数据, 因此数据要写入 RAID 时,会被等量的放在各个磁盘上面。 所以说,RAID 0,他的特点就是: 1、磁盘越多RAID设备的容量就越大。 2、容量的总大小是多个硬盘的容量的总和。 3、磁盘越多,写入的效能就越高。 4、如果使用非等大的硬盘,那么当小的磁盘写满后,就直接向空间大的磁盘中写数据了。 5、最少的磁盘数是2个,而且磁盘使用率为100% 他的致使之处就是:万一其中一个磁盘有问题,那么数据就会全部出问题。因为数据是分开存储的。RAID 1:镜像备份
3、这种模式主要是让同一份数据,完整的保存在不同的磁盘上。由于同一份数据会被分别写入到其他不同磁盘。因此在大量写入 RAID 1 设备的情况下,写入的效能会变的非常差。但如果你使用的是硬件 RAID (磁盘阵列卡) 时,磁盘阵列卡会主动的复制一份而不使用系统的 I/O总线,这对效能影响是不大的。 如果使用软件磁盘阵列,效能就会明显下降了。 RAID 1,他的特点是: 1、保证了数据的安全, 2、RAID 1设备的容量是所有磁盘容量总和的一半 3、在多个磁盘组成RAID 1设备的时候,总容量将以最小的那一颗磁盘为主 4、读取的效能相对增加。这是因为数据在不同的磁盘上面,如果多个进程在读取同一笔数据时
4、,RAID 会自行取得最佳的读取平衡。 5、磁盘数必需是2的整数倍。磁盘利用率为50% 不足之处就是:写入的效能会降低RAID 5:效能与数据备份的均衡考虑RAID 5:至少需要三个以上的磁盘才能够组成这种类型的磁盘阵列。这种磁盘阵列的数据写入有点类似 RAID 0, 不过每个循环的写入过程中,在每颗磁盘还加入一个校验数据(Parity),这个数据会记录其他磁盘的备份数据, 用于当有磁盘损毁时的救援。特点: 1、当任何一个磁盘损坏时,都能够通过其他磁盘的检查码来重建原本磁盘内的数据,安全性明显增强。 2、由于有同位检查码的存在,因此 RAID 5 的总容量会是整个磁盘数量减一个。 3、当损毁的
5、磁盘数量大于等于两颗时,那么 RAID 5 的资料就损坏了。 因为 RAID 5 预设只能支持一颗磁盘的损坏情况。 4、在读写效能上与 RAID-0 差不多。 5、最少磁盘是3块,磁盘利用率N-1块 不 足:数据写入的效能不一定增加,因为要写入 RAID 5 的数据还得要经过计算校验码 (parity)。所以写入的效能与系统的硬件关系较大。尤其当使用软件磁盘阵列时,校验码 (parity)是通过 CPU 去计算而非专职的磁盘阵列卡, 因此在数据校验恢复的时候,硬盘的效能会明显下降。 RAID0 RAID1 RAID5三个级别的数据存储流程,大家可以参考下图 RAID 01或RAID 10这个R
6、AID级别就是针对上面的特点与不足,把RAID 0和RAID 1这两个结合起来了。 所谓的RAID 01就是: (1)先让磁盘组成 RAID 0 (2)将这 RAID 0 再组 RAID 1。这就是 RAID 0+1 而RAID 10就是:先组成 RAID 1 再组成 RAID 0,这就是RAID 1+0 特点与不足:由于具有 RAID 0 的优点,所以效能得以提升,由于具有 RAID 1 的优点,所以数据得以备份。 但是也由于 RAID 1 的缺点,所以总容量会少一半用来做为备份。 RAID10级别的数据存储流程,大家可以参考下图 由于 RAID5 仅能支持一颗磁盘的损毁,因此还有发展出另外
7、一种等级,就是 RAID 6 ,这个 RAID 6 则使用两颗磁盘的容量作为 parity 的储存,因此整体的磁盘容量就会少两颗,但是允许出错的磁盘数量就可以达到两颗,也就是在 RAID 6 的情况下,同时两颗磁盘损毁时,数据还是可以恢复回来的。而此级别的RAID磁盘最少是4块,利用率为 N-2。Spare Disk:热备磁盘他的作用就是:当磁盘阵列中的磁盘有损毁时,这个热备磁盘就能立刻代替损坏磁盘的位置,这时候我们的磁盘阵列就会主动重建。然后把所有的数据自动恢复。而这个或多个热备磁盘是没有包含在原本磁盘阵列等级中的磁盘,只有当磁盘阵列有任何磁盘损毁时,才真正的起作用。关于理论知识我们就只介绍
8、到这里,当然还可以延伸出多种组合,只要理解了上面的内容,那么其他级别就不难了,无非是多种组合而已。通过上面的讲解, 我相信大家也知道了做磁盘阵列的优点了:1、数据的安全性明显增强,2、读写的效能明显提高,3、磁盘的容量有效扩展。但也别忘记了他的缺点就是成本提 高。但相对于数据而言,我想这点成本也不算什么吧!下面我就以RAID5为例,给大家演示1、增加硬盘。我在虚拟机上新增了6块硬盘,每块是2G。哈哈,这么多只是为了做实验啊! rootyufei # ls /dev/sd*/dev/sda /dev/sda2 /dev/sdc /dev/sde /dev/sdg/dev/sda1 /dev/sd
9、b /dev/sdd /dev/sdf这里面除了sda是以前的,后面的都是新增加了,当然你也可以通过fdisk -l来查询,其他的都是没有进行过分区的。所以会显示Disk /dev/sdb doesnt contain a valid partition table这样的提示啊! 先拿出三个(sdb,sdc,sdd)来做RAID5,这是做RAID5的最少硬盘数量。但为了安全,我们需要加入sde做热备磁盘。这才是最安全的设置,当然,如果你不加热备也没有关系,RAID5照样能做出来。 特别说明:如果使用分区来创建的话,也是可以的,但不太科学啊!还有一点就是,你可以对分区转换类型(fd),也可以不转
10、换,似乎这个不重要,我测试转换与不转换都是一样的效果。 2、创建RAID设备文件rootyufei # mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdb,c,d,emdadm: partition table exists on /dev/sdb but will be lost or meaningless after creating arraymdadm: partition table exists on /dev/sdc but will be lost or meaningless after creating arraymdadm: partit
11、ion table exists on /dev/sdd but will be lost or meaningless after creating arrayContinue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md5 started.这时候会在/dev/下创建md文件夹和md5设备文件,而且/dev/md这个文件夹里面还有一个连接文件和一个MD设备的镜像文件rootyufei # ls -l /dev/md*brw-rw-. 1 root disk 9, 5 May 31
12、00:19 /dev/md5/dev/md:total 4lrwxrwxrwx. 1 root root 8 May 31 00:15 md5 - ./md127-rw-. 1 root root 53 May 31 00:19 md-device-map我们可以通过下面的命令查看RAID设备的状况rootyufei # mdadm -D /dev/md5/dev/md5: Version : 1.2 Creation Time : Tue May 31 00:19:11 2011 Raid Level : raid5 Array Size : 4191232 (4.00 GiB 4.29 G
13、B) Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue May 31 00:19:22 2011 State : clean Active Devices : 3Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name
14、 : yufei:5 (local to host yufei) UUID : 69443d97:7e32415d:7f3843c5:4d5015cf Events : 18 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 48 2 active sync /dev/sdd 3 8 64 - spare /dev/sde这里我们可以把他看作是一个普通的硬盘,只是他是多块硬盘的结合体而已。我们可以对其分区、格式化,然后挂载使用的操作3、对RAID设备进行分区、格式化、挂载如果你想对其分区也是可以,分区后的分区名为md5p1 md5p2等等。当然不分区也一样能正常使用,这个就看你的用途了。我这里就不分区了。直接进行格式化。 rootyufei # mkfs.ext4 /dev/md5 mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=128 blocks, Stripe width=256 blocks26214