常见RAID总结

RAID浅析

目录索引

一、定义

二、特点

三、常用RAID级别

    

四、RAID实现方式

五、实际环境测试

一、定义:

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

二、特点:

        可以提高IO能力:

                磁盘并行读写

        可以提高耐用性:

                磁盘冗余来实现

        RAID实现的方式:

            硬RAID

                外接式磁盘阵列:通过扩展卡提供适配能力

                内接式RAID:主板集成RAID控制器

            Software RAID:

三、常用RAID级别:

        级别:level:多块磁盘组织在一起的工作方式有所不同

            RAID-0:条带卷,strip;把连续的数据分散到多个磁盘上存取;

                优点:读、写性能提升

                可用空间:N*min(s1,s2,…)

                缺点:无容错能力

                最少磁盘数:2,2+

                RAID 0.png

                

            

            RAID-1:镜像卷,mirror;

                特点:读性能提升,有冗余能力

                缺点:磁盘空间利用率低,写性能略有下降

                可用空间:1*min(s1,s2,…)

                最少次盘数:2,2+

                RAID 1.png

            RAID-5:

                优点:读、写性能提升

                可用空间:(N-1)*min(s1,s2,…)

                有容错能力:1块磁盘

                最少磁盘数:3,3+

                RAID 5.png

            RAID-6

                优点L:读、写性能提升

                可用空间:(N-2)*min(s1,s2,…)

                有容错能力:2块磁盘

                最少磁盘数:4,4+

                RAID 6.png

            RAID10:

                优点:读、写性能提升

                可用空间:N*min(s1,s2,…)/2

                有容错能力:每组镜像最多只能坏一块

                最少磁盘数:4,4+ 

                RAID 10.png 

            JBOD:Just a Bunch Disks

                功能:将多块磁盘的空间合并一个大的连续空间使用

                可用空间:sum(s1,s2,….)

四、RAID实现方式:

            相关命令:

            CentOS 6上的RAID的实现

                   结合内核中的md(multi devices)

                   mdadm工具:模式化的工具

                   命令的语法格式:madadm [mode] <raiddevice> [optiongs] <component-devices>

                          支持的RAID级别:LINEAE,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10

                          模式:

                              创建:-C

                              装配:-A

                              监控:-F

                              管理:-f, -r,-c

                              <raiddevice>:/dev/md#

                              <component-devices>:任意块设备

                              -C:创建模式

                                    -n #:使用#个快设备来创建此RAID

                                    -l #:指明要创建的RAID的级别

                                    -a {yes|no}:自动创建目标RAID设备的设备文件

                                    -c CHUNK_SIZE:指明块大小

                                    -x #:指明空闲盘的个数

                                    -D:显示raid的详细信息:mdadm -D /dev/md#

                                  管理模式:

                                    -f:标记制定磁盘为损坏

                                    -a:添加磁盘

                                    -r:移除磁盘

                        观察md的状态:

                            cat /proc/mdstat

                        停止md设备:

                            mdadm -S /dev/md#

                        watch命令

                            -n #:刷新间隔,单位是秒

                            watch -n# ‘COMMAND’

五、实际环境测试:

            实验利用4块盘配置RAID5,为此给虚拟机添加4块5G硬盘,测试环境如图所示:

            

                        实操环境.png

            实验步骤:

                    1、用#fdisk -l命令来确认可识别新添加硬盘,由下图可知:新增设备为/dev/sd[b,c,d,e]四块硬盘。

                             确认新加磁盘.png

                    2、用#rpm -qa|grep mdadm命令查看是否已安装mdadm软件,若无输出则证明该系统未安装相关软件,则使用#yum install madam进行安装。

                       如图所示,本系统已经安装相关软件。

                            确认安装mdadm软件.png

                    3、创建RAID5至少需要3块硬盘,所以本次实验中将/dev/sd[b,c,d]三块硬盘作为活动盘,剩下的一块硬盘/dev/sde作为热备盘。由于硬盘为

                       新添加硬盘,所以对四块硬盘进行分区并修改分区类型,命令为:fdisk /dev/sdb;fdisk /dev/sdc;fdisk /dev/sdd;fdisk /dev/sde,

                       分区时将分区类型id改成fd,操作完成后用命令#fdisk -l /dev/sd[b,c,d,e] 如图所示:

                            新磁盘分区完成.png

                    4、分区完成,开始创建RAID,命令:#mdadm -C /dev/md5 -n3 -l5 -ayes -x1 /dev/sd[b,c,d,e]1

                            创建RAID5.png

                    5、用#cat /proc/mdstat 查看刚刚创建的RAID5状态,以及用#mdadm -D /dev/md5查看所建RAID5的详细信息

                            查看RAID5创建状态.png

                            新建RAID5详细信息.png

                    6、将新建好的RAID5添加到RAID配置文件/etc/mdadm.conf文件中,命令为:

                        #echo DEVICE /dev/sd[b,c,d,e]1 >> /etc/mdadm.conf

                        #mdadm -Ds >> /etc/mdadm.conf

                       然后,用cat命令查看配置文件信息

                                RAID配置文件信息.png

                    7、对新建好的磁盘阵列进行格式化,命令为#mkfs.ext4 /dev/md5或#mkfs -t ext4 /dev/md5

                        磁盘阵列格式化.png

                    8、在/下建立名为/testraid5的挂载点,并将其挂载,命令:#mkdir /testraid5;#mount /dev/md5 /testraid5

                        挂载.png

                    9、挂载完成后,为了下次开机还能正常使用我们的RAID设备,需要将挂载的信息写入/etc/fstab 文件中

                                                编辑配置文件.png

                                        10、至此,本次创建RAID5实验结束。

                        


原创文章,作者:Net18-天津-康康,如若转载,请注明出处:http://www.178linux.com/14666

(0)
Net18-天津-康康Net18-天津-康康
上一篇 2016-04-12 18:58
下一篇 2016-04-12

相关推荐

  • shell之变量总结

    1 什么是shell变量 按照定义来说,变量是存储设备中的一些可读写的存储单元.变量可以定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关设置。变量也用 于保存暂时信息。例如:一变量为EDITOR,系统中有许多编辑工具,但哪一个适用于系统呢?将此编辑器名称赋给EDITOR,这样,在使用cron或其 他需要编辑器的应用时,这就是你将一直使用的…

    Linux干货 2016-08-15
  • Linux基本知识之echo命令详解

    该博文以CentOS6.8_x86_64系统为基础,Xshell使用pts/X终端登录CentOS6.8系统,以root身份登录系统。 为什么学习echo命令?     echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。…

    Linux干货 2016-07-29
  • sed工具

    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来…

    2017-08-26
  • 第四周练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 # cp -a /etc/skel /home/tuser1 # chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop #vim /etc/group #hadoop:x:5…

    Linux干货 2017-10-21
  • NFS

    NFS初探 NFS概述 NFS工作流程 NFS Server端设置 NFS工具与命令 NFS配置实例 NFS概述 NFS是什么? NFS,network file system(网络文件系统)的缩写,是一种实现文件共享的实现方式。 NFS的功能是什么 NFS基于RPC协议,实现远程系统调用,共享文件资源。 NFS工作流程 RPC,Remote Pr…

    Linux干货 2016-04-28
  • 网络N22期-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d" " -f1 | uniq root 2、取出最后登录到当前系统的用户的相关信息。 [roo…

    Linux干货 2016-08-29