本文主要介绍了Linux下软Raid的相关知识。


(1)概念

软Raid,就是所谓的软件Raid,他的功能都依赖于主机CPU完成,没有第三方的控制处理器和I/O芯片。所用的程序为md。而md完全可以基于任何块设备进行创建。例如把 /dev/sda5,/dev/sda6创建为Raid1。但这没有任何意义,切记不要在一块设备上创建软Raid。


(2)相关命令

软Raid所用的命令为:mdadm。这是一个模式化命令。

1.使用-C可以工作在创建模式下

2.使用-A可以工作在装配模式下

3.使用-F可以工作在监控模式下

4.使用-D可以查看详细信息

5.默认为管理模式


(3)简单例子

创建大小为10G的Raid0。这里用两块硬盘,每块5G来实现。

1.创建模式下的选项

-a {yes|no}:是否为新建的raid设备自动创建设备文件/dev/md#;

        -l  #:指定Raid级别;
        -n  #:用于Raid的块设备的个数,但不包括备盘。
        -c :指定TRUNK大小

        -x  #:指定备盘的块设备个数

       DEVICE ...

2.创建步骤

   ①使用fdisk -l /dev/sd[a-z]查看现有的磁盘,这里本机有5块硬盘,其中sdd,sde为需要用到的硬盘。

Linux基础(六)--软Raid实现_第1张图片

提供分区,操作如下:

使用命令fdisk /dev/sdd,会显示如下界面:

Linux基础(六)--软Raid实现_第2张图片

依次键入n-->p-->1-->+5G,创建一个5G的主分区。其中n表示new新建,p表示创建的为主分区,1表示第一个分区,5G表示大小。如图:

Linux基础(六)--软Raid实现_第3张图片

使用 l 查看软Raid所需的类型。软Raid所需的类型为  fd  Linux Raid auto。

Linux基础(六)--软Raid实现_第4张图片

使用t调整分区格式。

Linux基础(六)--软Raid实现_第5张图片

使用w保存

wKiom1M2tJrwKw9QAABbM_FPCu4009.jpg

使用partx -a /dev/sdd1 /dev/sdd把磁盘加入。而后可以使用cat /proc/partitions进行查看,可以看到这里sdd1已经被加入。

Linux基础(六)--软Raid实现_第6张图片

至此,一个分区创建好了,而后可以使用相同的方法在sde下创建一个5G的分区。这里就不截图演示了。


查看下本机有没有md设备

使用 cat /proc/mdstat命令。如图所示,本机有两个md

Linux基础(六)--软Raid实现_第7张图片


创建一个Raid0

使用命令mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdd1 /dev/sde1

wKiom1M2ty3RGA7SAAB651yG3Eg871.jpg

   而后可以使用cat /proc/mdstat来查看

Linux基础(六)--软Raid实现_第8张图片

创建好了之后在/dev/md下会生成一个文件,保存映射关系:

Linux基础(六)--软Raid实现_第9张图片


对md0进行格式化

使用mke2fs -t ext4 /dev/md0把md0格式化为ext4格式。

Linux基础(六)--软Raid实现_第10张图片

对md0进行挂载即可

使用命令mount /dev/md0 /backup1,把md0挂载到/backup1

Linux基础(六)--软Raid实现_第11张图片


(4)查看详细信息:

使用mdadm -D /dev/md0查看md0的详细信息。

Linux基础(六)--软Raid实现_第12张图片

其设备文件中:

   Major为主设备号,用于区分设备类别

   Minor为次设备号,用于区分用于区分同一种类别下不同的具体设备,一般会为一个设备预留15个。


(5) 阵列中磁盘管理的命令:

mdadm /dev/md# 【option】 /dev/sd##
   -f:把指定设备模拟损坏
   -r:把损坏设备移除
   -a:新增一个设备到阵列中


(6)停掉正在运行的md设备

       命令为:mdadm -S /dev/md1

       例如:mdadm -S /dev/md1:停掉md1