常见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

相关推荐

  • 马哥教育网络21期+第三周练习博客

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

    Linux干货 2016-07-26
  • Linux系统发展历史

    一、什么是Linux? Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和…

    Linux干货 2016-10-14
  • varnish

    Web Page Cache: squid –> varnish程序的运行具有局部性特征:时间局部性:一个数据被访问过之后,可能很快会被再次访问空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 cache:命中 热区:局部性;时效性:缓存空间耗尽:LRU过期:缓存清理 缓存命中率:hit/(hit+miss)(0,1)页面命中率:…

    Linux干货 2017-05-22
  • 20本最好的Linux免费书籍

    前些天Neo推荐了一个网站有《超过100本的linux免费书籍》,这里,我也向大家推荐20本最好的Linux免费书籍,当然,也是英文版的。 1. Ubuntu Pocket Guide and Reference 一本介绍关于Ubuntu 8.04和8.10的使用书。 Website www.ubuntupocketguide.com Author Keir…

    Linux干货 2015-04-01
  • 内部命令与外部命令——Linux基本命令(3)

    1.     内部命令与外部命令 内部命令:由shell自带的,而且通过某命令形式提供 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令:在文件系统路径下有对应的可执行程序文件 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。 2.     命令类…

    2017-07-13
  • 高级变量-有类型变量

    一.高级变量用法– 有类型变量   Shell 变量一般是无类型的,但是bash Shell 提供了declare和 typeset 两个命令用于指定变量的类型,两个命令是等价的 declare [ 选项]  变量名 -r  将变量设置为只读属性 -i  将变量定义为整型数 -a  将变量定义为数…

    Linux干货 2016-11-24