Linux学习笔记之 10 Linux创建磁盘阵列

1 创建磁盘阵列
磁盘阵列(Redundant Array of Independent Disks,RAID) 是由美国加州大学柏克菜分校与1987年提出的,其概念是将多个硬盘组成一个逻辑上的虚拟的硬盘。
使用磁盘阵列的好处:
  • 整合多个硬盘
  • 数据具有较高的安全性
  • 提高存取效率
磁盘阵列的分类方式
  • 按硬件设备来区分
  • 按数据存储位置来区分:可分为7种
1.1 按数据存储位置来区分
  • Linear:数据会先放在第一个硬盘,当此硬盘空间已经使用完时,在依次存储至2、3….个硬盘
  • RAID-0:当写入一份数据时,会将数据切割成多个小区块,并将这些   区块分别存储到每个硬盘中
  • RAID-1:把数据在每个硬盘中均存储一份,每个硬盘中所存储的数据是一模一样
  • RAID-2:数据会以位(bit)为单位切割,并分别存储到各硬盘中,但存储时,此方法会额外保留若干数据的硬盘。支持同步校验码;
  • RAID-3:一份数据会以字节(byte)为单位切割,并分别存储到个硬盘中,保留一个固定硬盘存储同位效验码
  • RAID-4:一份数据会被切割成固定大小的小区块,并分别存储到个硬盘中。保留一个固定硬盘存储同位效验码
  • RAID-5:一份数据会被切割成固定大小的小区块,并分别存储到个硬盘中。将同步校验码分散储存在所有的硬盘。

2 Linux支持的磁盘阵列
Linux学习笔记之 10 Linux创建磁盘阵列_第1张图片
图1 Linux支持的磁盘阵列
2.1 Linux支持的磁盘阵列
    Linear模式的磁盘阵列,是将多个硬盘组成一个空间更大的硬盘。当存储数据时,会优先放在第1个硬盘中,直到第一个硬盘的空间用完,才会放到第2个硬盘,然后依次类推。

图2 Linux模式的磁盘阵列

2.2 硬件需求
    至少需要2个硬盘
    注:由于linear磁盘阵列实际上只具有硬盘   分区合并的效果,所以这2个硬盘分区并不需要有相同的容量的硬盘空间

3 创建磁盘阵列
    磁盘阵列的配置文件为/etc/raidtab
    注:默认并没有此配置文件,需要自行编辑
    1、创建配置文件
        Raiddev /dev/md0
        raid-level linear
        nr-raid-disks 2
chunk-size 32
persistent-superblock 1
        device /dev/hdb1
        raid-disk 0
        device /dev/hdc1
raid-disk 1

    2、初始化刚刚创建的/dev/md0磁盘阵列
          #mkraid /dev/md0
    3、重启,系统便会自动启动此磁盘阵列
    4、格式化并挂载此磁盘阵列
          #mke2fs –j /dev/md0
          #mount –t /ext3 /dev/md0 /mnt/raid

3.1 查看磁盘阵列状态记录文件,停止或启动磁盘阵列
    1、停止已启动的磁盘配额:
         先卸载已挂载的目录,然后再执行raidstop命令停止指定的磁盘阵列
            #umount /dev/md0
            #raidstop /dev/md0
        注:raidstop命令的作用仅到系统关机为止
    2、启动停止中的磁盘阵列
            #saidstart /dev/md0
    3、查看状态记录文件
           可以列出/proc/mdstat状态记录文件的内容

3.2 变更磁盘阵列配置情况与删除磁盘阵列
    变更磁盘阵列配置情况
  • 先执行raidstop命令停止磁盘阵列
  • 修改/etc/raidtab配置文件
  • 执行mkraid重新初始化磁盘阵
    删除磁盘阵列
  • 先执行raidstop命令停止磁盘阵列
  • 删除/etc/raidtab配置文件(或改名)
4 容错能力分析
    1、容错能力测试
        Linear模式虽然不具有容错能力,但如果有硬盘发生故障,并不会导致数据全毁。仍然可以挂载其他正常的硬盘分区,并挽回在这些硬盘中的数据
    2、不支持配用硬盘
    3、空间利用率分析
        如有N台硬盘组成linear磁盘阵列,且每台硬盘的容量均为S,则可存储数据的总容量为N*S
    4、读写性能分析

5 创建RAID-5磁盘阵列
ARID-5磁盘阵列存储方式是利用同位校验码的方式来达到数据容错的目的。具体是RAID-5将数据分成大小相同的区块,并分别存储到不同的硬盘中,会保留硬盘的一部分来存储同位校验码。

5.1 硬件需求
    由于RAID-5需要存储同位校验码,因此要创建此模式的磁盘阵列,至少需要3个以上的硬盘。硬盘大小最好一致,否则就算有一个硬盘的容量比较大,RAID-5也是不会使用那些多出来的。

5.2 创建磁盘阵列
    我们以3个硬盘的分区hdb1、hdc1、hdd1组成RAID-5的磁盘阵列,并讲解如何创建/etc/raidtab磁盘阵列配置文件:
        raiddev      /dev/md0    //指定磁盘阵列名称
        raid-level      5           //指定使用的RAID-5磁盘阵列
        nr-raid-disks  3      //此磁盘阵列由3个硬盘所组成
        nr-spare-disks 0  //此磁盘阵列的备用硬盘数目
        chunk-size     32 //当数据要写入磁盘阵列时,每个写入的大小(单位为KB,且必须为2的幂次方).此设置值的大小,会影响磁盘阵列的读写效率,不过理想的设置值,则按每不计算机的使用情况而异,并无绝对的结果.

        persistent-superblock 1
         //设置是否要写入磁盘的superblock:设成“1”表示写入,否则设成“0”.若将此参数设成“1”则当磁盘阵列中有硬盘损坏时,系统仍可继续启动;若有备用硬盘,也会同时启用备用硬盘
        parity-algorithm  left-symmetric
          //指定要用哪一种算法计算同位校验吗,可使用的算法有left-symmetric,left-asymmetric,right-symmetric 及right-asymmetric等4种.一般采用left-symmetric能有最好的存取效率
        device  /dev/hdb1  //指定所有使用的第1个硬盘分区名称
        raid-disk   0   //设置上述的分区是此磁盘阵列所使用的第1个硬盘(编号由“0”开始)
        device  /dev/hdc1  //指定所要使用的第2个硬盘分区名称
        raid-disk   1   //设置上述的分区是此磁盘阵列所使用的第2个硬盘
        device  /dev/hdd1  //指定所要使用的第3个硬盘分区名称
        raid-disk   2   //设置上述的分区是此磁盘阵列所使用的第3个硬盘

创建好配置文件,然后执行mkraid、mke2fs及mount命令

5.3 查看磁盘阵列状态记录
    当初始化或存储大量数据到RAID-5磁盘阵列时,系统会执行硬盘间的同步,以确保数据正确无误。因此,如果发觉计算机的硬盘指示灯闪烁不停,即可列出/proc/mdstat状态记录文件,查看磁盘阵列是否正在同步硬盘的数据。

5.4 容错能力分析
    1、容错能力测试
    2、支持备用硬盘:
        由于RAID-5磁盘阵列具有容错能力,因此也支持了备用硬盘。要加上备用硬盘,可以自行修改/etc/raidtab配置文件。修改完以后保存退出,依次执行raidstop及mkraid命令
    3、空间利用率分析
    4、读写性能分析


你可能感兴趣的:(算法,计算机,格式化,数据存储,硬件)