Linux软RAID基本操作介绍

    RAID全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,称为“廉价磁盘冗余阵列”,由加州大学伯克利大学在1987年发表的论文中而来。RAID的主要思想就是把若干小容量物理磁盘组成一个大容量虚拟存储设备,以提高磁盘存储的读、写效率,并提供冗余以提高数据存储的安全性。

    根据应用方向的不同,RAID也分为不同级别,常用的有RAID-0、RAID-1、RAID-5、RAID-10。
    RAID-0也称为条带模式(striping),即把连续的数据分散到多个磁盘上存取,最少需要磁盘数大于等于2。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这也通常是使用RAID-0的主要原因。但RAID-0没有数据冗余,如果驱动器出现故障,那么将无法恢复任何数据,所以一般主要用在对设备读取要求高,但对数据安全性不做要求的业务中。

      RAID-1又称为镜像(Mirroring),RAID-1要求至少有2的整数倍块硬盘,并使用0块或更多的备用磁盘。每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量减小到总容量的一半,同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。这种方法完整备份了数据,对数据的写入速度稍有降低,而且磁盘的利用率只有二分之一。但其优点是对数据的容错很好,对数据的读取有较大的提高。


      RAID-5具有和RAID-0相近似的数据读取速度,同时磁盘空间利用率也要比RAID1高。属于是RAID-0和RAID-1的折中方案,是一种存储性能、数据安全和存储成本兼顾的存储解决方案。由于存储成本相对较低,是目前运用较多的一种解决方案。
      RAID-5阵列中数据的分布与RAID-0类似,数据也是分布到每块硬盘上,但Raid-5没有独立的奇偶校验盘,他通过将校验的数据循环存储并分散放在所有磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5能够支持在一块盘离线的情况下保证数据的正常访问,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
      RAID-5的组建,至少需要三块或更多的磁盘,并可以使用0块或更多的备用磁盘,其数据安全保障程度要比RAID1低,写入数据的速度比对单个磁盘进行写入速度稍慢。如果有两块或两块以上硬盘同时离线,或者RAID信息出错等原因,阵列便会失效,这时就需要对数据进行重组。并且做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 同时,最好硬盘转速一样,否则会影响性能。

      RAID 1+0也被称为RAID-10标准,实际是将RAID-0和RAID-1标准结合的产物,是先对磁盘先进行RAID-1,然后RAID-0,这种方法即提供了冗余,而且也提升了速度。
      在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID-0的超凡速度和RAID-1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。由于利用了RAID-0极高的读写效率和RAID-1较高的数据保护、恢复能力,使RAID-10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。


      但是,RAID-10对存储容量的利用率和RAID-1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能,使用此方案比较昂贵。

Linux软RAID基本操作介绍


      由于RAID的使用性很高,而对硬盘的使用内核需要识别,在最新的内核中已经默认加载了对常见RAID卡的驱动。RAID设备在linux系统中会被识别成/dev/md[N] N是数字。使用mdadm命令能够对RAID设备配置。
  目前 RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。其中在Linux下通过自带的软件就能实现RAID功能,由于是用软件去实现的RAID功能,所以它配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。
      Linux软RAID是在linux操作系统层面进行的软件RAID配置,虽然也能对数据进行保护,但是在实际生产环境中,还是建议使用存储中磁盘阵列和硬RAID实现磁盘存储冗余。基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能方面不仅更胜一筹,而且在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面更有安全保障。

基本操作命令总结:
创建模式:
    -C:创建md0
    -n#:指明创建raid所需要的磁盘个数

    -#:指明 创建raid的级别

    -c:指明创建的块大小

    -x:指明冗余(空闲)磁盘的个数
    -a{yes|no}:自动创建目标raid设备的设备文件

管理模式:
    -f:标记模拟指定磁盘为损坏

    -a:向raid里面添加磁盘

    -r:移除磁盘

    -S:停止阵列
    -A -s:激活阵列

    -D -s:生成配置文件(mdadm -D -s >> /etc/mdadm.conf)
    mdadm -zero-superblock /dev/sdb1(删除raid信息)

监控模式:
    -F:(一般不怎么常用)

装配模式:
    软raid是基于系统的,当我们原系统损坏了,那么我们此时就需要重新装配raid
    -A (例如:mdadm -A /dev/md1 /dev/sdb5 /dev/sdb6)
曾长模式:

    用于增加磁盘,为阵列实现扩容

    -G (例如:[root@localhost ~]# mdadm -G /dev/md2  -n 4)

查看:
  mdadm -D /dev/md#(显示raid阵列详细信息)
    cat /proc/mdstat(查看raid的状态)

--------------------------------------------------------------------------------
下面我们就来具体操作试试吧!!

一、添加了4块磁盘,我们来查看下是否存在:

七、接下了我们把刚刚损坏的磁盘给移除掉

猜你喜欢

转载自www.linuxidc.com/Linux/2016-07/133333.htm