【Linux入门】磁盘阵列概述以及配置实例

磁盘阵列

磁盘阵列(Redundant Arrays of Independent Disks,RAID)是一种将多个独立的磁盘驱动器(如硬盘或光盘)组合成一个逻辑单元,以提供数据冗余、提高数据访问速度以及增强数据保护能力的技术。

概述

一、定义与组成

  • 定义:磁盘阵列是由许多台磁盘机或光盘机按一定的规则(如分条、分块、交叉存取等)组成一个快速、超大容量的外存储器子系统。
  • 组成:它主要包括多个磁盘驱动器、RAID控制器(也称为RAID卡)、缓存、CPU、IO处理器等组件。RAID控制器负责控制和管理磁盘阵列中的数据存取和冗余处理。

二、工作原理

  • 磁盘阵列通过RAID技术将数据分割成多个部分(通常称为“块”或“条带”),并将这些部分分散存储在多个磁盘上。这种分散存储的方式可以提高数据传输的并行性,从而加快数据访问速度。
  • 同时,RAID还利用奇偶校验信息或冗余数据来提供数据冗余。当某个磁盘发生故障时,可以利用其他磁盘上的数据和冗余信息来恢复故障磁盘上的数据,确保数据的完整性和可用性。

RAID级别

RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)是一种用于提高数据存储性能和可靠性的技术。RAID通过将多个物理驱动器组合成一个虚拟存储设备,不仅提供了更大的存储容量,还增强了数据的容错能力。以下是几种常见的RAID级别的详细介绍:

1. RAID 0

  • 概述:RAID 0也被称为数据分条(Data Stripping)技术,它将数据分割成多个部分并并行地存储在多个磁盘上,以提高数据传输速度和吞吐量。
  • 磁盘数:至少需要两块硬盘。
  • 读写性能:读和写性能都非常高,因为数据可以并行地在多个磁盘上存取。
  • 容错性:无冗余,因此任何一块硬盘的故障都会导致整个RAID 0阵列的数据丢失。
  • 应用场景:适合对数据安全性要求不高,但要求极高速度和吞吐量的场景,如大规模并发读取应用。

2. RAID 1

  • 概述:RAID 1也被称为磁盘镜像(Disk Mirroring),它将数据完全复制到另一个磁盘上,形成镜像关系。
  • 磁盘数:至少需要两块硬盘。
  • 读写性能:读性能较好,因为可以从两个磁盘中的任意一个读取数据;写性能较差,因为每次写操作都需要同时写入两个磁盘。
  • 容错性:具有很高的数据冗余能力,任何一块磁盘的故障都不会影响数据的访问,因为还有另一块磁盘上的镜像数据。
  • 应用场景:适合对数据安全性要求极高,但对性能要求不高的场景,如系统盘和监控服务器。

3. RAID 5

  • 概述:RAID 5是RAID 0和RAID 1的折中方案,它结合了数据分条和分布式奇偶校验技术。
  • 磁盘数:至少需要三块硬盘。
  • 读写性能:读性能接近RAID 0,因为数据可以并行地从多个磁盘上读取;写性能处于平均水准,因为需要计算并写入奇偶校验信息。
  • 容错性:允许一块磁盘损坏,利用剩下的数据和奇偶校验信息可以恢复被损坏的数据。
  • 应用场景:适合对性能和安全都有一定要求的场景,如数据库、文件服务器、Web服务器等。

4. RAID 6

  • 概述:RAID 6与RAID 5类似,但每个磁盘上存储了两个独立的奇偶校验块,以增加数据冗余和容错能力。
  • 磁盘数:至少需要四块硬盘。
  • 读写性能:读性能较好,但写性能较差,因为需要计算并写入两个奇偶校验块。
  • 容错性:可以在阵列中同时容忍两块磁盘的故障,而不会丢失数据。
  • 应用场景:适用于对数据安全性要求极高,且需要高容错能力的场景,如关键业务应用、数据中心等。

5. RAID 10(RAID 1+0)

  • 概述:RAID 10是RAID 1和RAID 0的组合体,它首先创建多个RAID 1镜像对,然后将这些镜像对条带化成RAID 0阵列。
  • 磁盘数:至少需要四块硬盘。
  • 读写性能:读写性能都非常高,因为结合了RAID 0的速度和RAID 1的冗余性。
  • 容错性:可以容忍一半数量的镜像对中的磁盘故障,只要每个镜像对中至少有一块磁盘正常工作。
  • 应用场景:适用于对性能和数据安全性都有极高要求的场景,如高并发或高访问量的数据库主库、存储主库等。

6. RAID 50和RAID 60

  • 概述:RAID 50和RAID 60是跨区RAID级别,它们分别由多个RAID 5或RAID 6阵列组成,并通过条带化技术进一步提高性能和容量。
  • 磁盘数:需要多个硬盘(通常超过6个)。
  • 读写性能:读写性能非常高,因为它们结合了多个RAID 5或RAID 6阵列的优势。
  • 容错性:可以容忍多个磁盘的故障(具体取决于RAID 5或RAID 6阵列的数量和配置)。
  • 应用场景:适用于需要极高容量、性能和容错能力的场景,如大型数据中心、云计算环境等。

总结:

RAID级别硬盘数量利用率读写性能容错性常用作成本评估
RAID 0≥2100%高(并行读写)无冗余数据盘(高性能需求)低(无冗余,硬件成本最低)
RAID 1≥250%读高(并行),写低(同步)完全冗余系统盘、数据盘(高可用性需求)中(需要双倍硬盘,但提供高可用性)
RAID 5≥3(n-1)/n读高(并行),写中等(需计算奇偶校验)可容忍一块硬盘故障数据盘(中等性能与冗余需求)中等偏低(较RAID 1成本低,但提供数据冗余)
RAID 6≥4(n-2)/n读高(并行),写较低(需计算两个奇偶校验)可容忍两块硬盘故障数据盘(高冗余需求)中等偏高(比RAID 5成本高,因为需要更多的冗余信息)
RAID 10 (RAID 1+0)≥4(偶数)50%高(结合RAID 0的速度和RAID 1的冗余)可容忍每组镜像中的一块硬盘故障系统盘、数据盘(高性能与高可用性需求)高(需要双倍于RAID 0的硬盘数量,但提供高性能和高冗余)
RAID 50 (RAID 5+0)≥6(偶数)(n/2-1)/n非常高(结合多个RAID 5的性能)可容忍每个RAID 5组中的一块硬盘故障数据盘(大容量、高性能与高冗余需求)中等偏高(需要多个RAID 5组,但比RAID 10成本低)
RAID 60 (RAID 6+0)≥8(偶数)(n/2-2)/n非常高(结合多个RAID 6的性能)可容忍每个RAID 6组中的两块硬盘故障数据盘(极高冗余与性能需求)高(需要多个RAID 6组,提供极高的冗余,但成本也较高)
RAID 0+1≥4(通常是偶数对)25%高(RAID 0条带化),冗余(RAID 1镜像)可容忍整个RAID 0条带集的镜像中的一块硬盘故障数据盘(极高性能与高冗余需求),但成本高昂非常高(需要四倍于单个RAID 0条带集的硬盘数量,成本最高)

补充:

  • 常用作:这一列提供了RAID级别通常被用作的场景。然而,这些并不是绝对的,具体使用场景还需根据实际需求和环境来决定。
  • 系统盘:通常要求高可用性和稳定性,因此RAID 1和RAID 10由于其冗余特性常被用作系统盘。
  • 数据盘:对于需要高性能、大容量或高冗余的数据存储,RAID 0、RAID 5、RAID 6、RAID 50和RAID 60都是合适的选择。具体选择取决于对性能、冗余和成本的需求。
  • 缓存盘:虽然RAID本身不是直接用作缓存的,但RAID阵列中的一部分硬盘或SSD可以配置为缓存层,以提高读写性能。这通常通过专门的缓存技术(如SSD缓存、混合RAID等)来实现。然而,这些不是标准的RAID级别,而是RAID配置的扩展或优化方式。
  • RAID 0+1的利用率:由于RAID 0+1实际上是将RAID 0条带集镜像成RAID 1,因此其利用率通常远低于RAID 10(RAID 1+0)。在这个例子中,我假设了25%的利用率,但这取决于具体的实现方式。实际上,由于需要为每个RAID 0条带集创建镜像,利用率可能会更低。
  • RAID 0+1的常用作:由于其高昂的成本和复杂的配置,RAID 0+1通常用于对数据安全性、性能和容量都有极高要求的场景。然而,由于其成本问题,这种配置并不常见。
  • 实际部署:在实际部署中,更常见的是使用RAID 10(RAID 1+0),因为它提供了类似的高性能和冗余性,但成本更低,因为它不需要为整个RAID 0条带集创建镜像,而是将多个磁盘组合成镜像对,并将这些镜像对条带化成RAID 0。

关于成本评估:

  • RAID 0:成本最低,因为没有冗余,所需硬盘数量最少。
  • RAID 1:成本中等,需要双倍硬盘来提供完全的数据冗余,但提高了数据可用性。
  • RAID 5RAID 6:成本中等偏低到中等偏高,具体取决于所需的冗余级别。RAID 6由于需要存储两个奇偶校验信息,因此成本略高于RAID 5。
  • RAID 10:成本较高,因为它结合了RAID 0的速度和RAID 1的冗余,需要双倍于RAID 0的硬盘数量。
  • RAID 0+1:成本非常高,因为它需要四倍于单个RAID 0条带集的硬盘数量来提供冗余,这种配置在实际应用中较为罕见。
  • RAID 50RAID 60:成本中等偏高到高,因为它们结合了多个RAID 5或RAID 6组的性能,但提供了更高的冗余和更大的容量。

RAID配置实例过程

通用前置

1. 检查是否安装mdadm:

rpm -qa | grep "mdadm"

如果未安装,可以通过yum安装:

yum install -y mdadm

2. 检查有没有磁盘已经安装了raid:

mdadm -E /dev/sdx(n)

其中 /dev/sdx是要检查的设备名称(例如 /dev/sda/dev/sdb 等)

3. 配置磁盘分区:

如果未进行分区,可以通过fdisk配置磁盘分区:

fdisk /dev/sd(n)

此处注意,在fdisk中不要忘记令你的分区支持raid

Command (m for help): t
Partition number (1-4, default 4): 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'

RAID 0

创建RAID 0阵列

  1. 查找并确定硬盘分区
    • 使用lsblkfdisk -l命令查看所有可用的磁盘和分区。
    • 确定要用于RAID 0的分区,例如/dev/sda1/dev/sdb1
  2. 创建RAID 0阵列
    • 使用mdadm命令创建RAID 0阵列。例如,要创建一个名为/dev/md0的RAID 0阵列,包含两块硬盘分区/dev/sda1/dev/sdb1,可以使用以下命令:
      mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
      
    • 这里,--create选项用于创建新的RAID设备,--level=0指定RAID级别为0,--raid-devices=2指定使用两块硬盘。

验证RAID 0配置

  • 使用cat /proc/mdstat命令查看RAID设备的状态,确认RAID 0阵列已成功创建并处于活动状态。

格式化和挂载RAID设备

  1. 格式化RAID设备
    • 使用mkfs命令对RAID设备进行格式化。例如,要创建一个ext4文件系统,可以使用:
      mkfs.xfs /dev/md0
      
  2. 创建挂载点并挂载
    • 创建一个目录作为挂载点,例如/mnt/raid0
    • 使用mount命令将RAID设备挂载到该目录:
      mkdir /mnt/raid0
      mount /dev/md0 /mnt/raid0
      
  3. 永久挂载
    • 要在系统重启后自动挂载RAID设备,需要在/etc/fstab文件中添加相应的条目。
  • 可以用blkid命令查找/dev/md0的UUID。
  • 然后,编辑/etc/fstab文件,添加一行类似于以下内容的条目:
    UUID=<RAID设备的UUID> /mnt/raid0 xfs defaults 0 0
    
  • <RAID设备的UUID>替换为实际的UUID值或绝对路径。

RAID 1

创建RAID 1阵列

  • 使用mdadm命令创建RAID 1阵列。例如,要创建一个名为/dev/md0的RAID 1阵列,包含两块硬盘分区/dev/sda1/dev/sdb1,可以使用以下命令:
    mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
    
  • --create选项用于创建新的RAID设备,--level=1指定RAID级别为1(镜像),--raid-devices=2指定使用两块硬盘。

验证RAID 1配置

  • 使用cat /proc/mdstat命令查看RAID设备的状态,确认RAID 1阵列已成功创建并处于活动状态。在输出中,你应该能看到/dev/md0的状态为“active raid1”,并列出了两块硬盘的分区。

格式化

使用mkfs命令对RAID设备进行格式化

  mkfs.xfs /dev/md0

挂载RAID设备

  • 创建挂载点并挂载:
    • 创建一个目录作为挂载点,例如/mnt/raid1
    • 使用mount命令将RAID设备挂载到该目录:
      mkdir /mnt/raid1
      mount /dev/md0 /mnt/raid1
      

设置开机自动挂载(可选)

  • 要在系统重启后自动挂载RAID设备,需在/etc/fstab文件中添加相应的条目。
    • 可以用blkid命令查找/dev/md0的UUID。
    • 然后,编辑/etc/fstab文件,添加一行类似于以下内容的条目:
      UUID=<RAID设备的UUID> /mnt/raid1 xfs defaults 0 0
      
    • <RAID设备的UUID>替换为实际的UUID值或绝对路径。

热备盘

  • 可以在创建RAID 1阵列时指定--spare-devices选项,或者在阵列创建后使用mdadm --add命令添加热备盘。

RAID 5

配置RAID 5

  1. 查看硬盘信息
    • 使用fdisk -llsblk命令查看系统中所有硬盘的详细信息,包括硬盘名称(如/dev/sda、/dev/sdb等)和分区情况。
  2. 对硬盘进行分区
    • 使用fdiskparted等工具对每块硬盘进行分区。RAID 5使用硬盘的分区来创建,而不是直接使用整个硬盘。
    • 分区时,确保每块硬盘的分区大小相同,并且分区类型适合RAID(通常使用Linux RAID autodetect类型)。
  3. 创建RAID 5
    • 使用mdadm命令创建RAID 5。命令格式大致如下:
      mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
      
      其中,/dev/md0是创建的RAID设备名称,--level=5指定RAID级别为5,--raid-devices=3指定用于RAID 5的硬盘分区数量,--spare-devices=1指定热备盘数量。/dev/sdb1/dev/sdc1/dev/sdd1是三个用于RAID 5的分区,/dev/sde1是热备盘分区。
    • 注意:在创建RAID时,请确保指定正确的分区名称,并且分区已正确格式化。
  4. 查看RAID状态
    • 使用cat /proc/mdstat命令查看RAID的状态和进度。RAID 5在创建过程中会进行数据同步,可能需要一些时间。
  5. 保存RAID配置
    • 为了在系统重启后能够自动识别和组装RAID设备,需要将RAID配置保存到配置文件中。使用以下命令将RAID配置信息保存到/etc/mdadm/mdadm.conf文件中:
      mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
      

格式化文件系统

  • 在RAID 5设备创建并同步完成后,使用文件系统工具mkfs.对RAID设备进行格式化。
    mkfs.xfs /dev/md0
    

挂载RAID设备

  • 创建一个挂载点目录(如/mnt/raid5),并使用mount命令将RAID设备挂载到该目录上:
    mkdir /mnt/raid5
     mount /dev/md0 /mnt/raid5
    
  • 为了在系统启动时自动挂载RAID设备,可以将挂载信息添加到/etc/fstab文件中。例如:
    /dev/md0 /mnt/raid5 xfs defaults 0 0
    

验证和测试

  • 验证RAID设备是否已正确挂载并可用。可以使用df -h命令查看挂载点信息,或使用ls /mnt/raid5命令查看挂载点下的文件和目录。
  • 进行RAID 5的容错测试,模拟硬盘故障并观察RAID是否能够自动重建数据。可以使用mdadm --fail /dev/md0 /dev/sdb1命令模拟/dev/sdb1分区故障,并观察RAID状态。

RAID 10

方法一、RAID12+RAID 01

在Linux系统中,创建RAID 10时,采用先创建两个RAID 1,然后再将这两个RAID 1组合成一个RAID 0的方法,是一种嵌套RAID配置方式。以下是这个过程的详细步骤:

创建两个RAID 1
  1. 查找并确定硬盘分区
    • 使用lsblkfdisk -l命令查看所有可用的磁盘和分区。
    • 确定要用于创建RAID 1的硬盘,例如/dev/sdb/dev/sdc用于第一个RAID 1,/dev/sdd/dev/sde用于第二个RAID 1。
  2. 创建第一个RAID 1
    • 使用mdadm命令创建第一个RAID 1。例如,要创建一个名为/dev/md1的RAID 1,包含/dev/sdb/dev/sdc,可以使用以下命令:
      mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
      
  3. 创建第二个RAID 1
    • 类似地,使用mdadm命令创建第二个RAID 1。例如,要创建一个名为/dev/md2的RAID 1,包含/dev/sdd/dev/sde,可以使用以下命令:
      mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdd /dev/sde
      
  4. 验证RAID 1状态
    • 使用cat /proc/mdstat命令查看两个RAID 1的状态,确保它们都已成功创建并处于活动状态。
创建RAID 0
  1. 使用两个RAID 1创建RAID 0
    • 使用mdadm命令将前面创建的两个RAID 1(/dev/md1/dev/md2)组合成一个RAID 0。例如,要创建一个名为/dev/md0的RAID 0,可以使用以下命令:
      mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/md1 /dev/md2
      
    • 注意:这里使用--level=0来指定RAID级别为0,因为我们是将两个RAID 1作为RAID 0的底层设备。
  2. 验证RAID 10状态
    • 实际上,由于RAID 0不提供数据冗余,所以这里的配置并不是传统意义上的RAID 10。但是,从逻辑结构上看,它实现了两个RAID 1的条带化组合,类似于RAID 10的嵌套方式。
    • 要查看RAID 0的状态,可以使用cat /proc/mdstat命令。然而,由于这是RAID 0,它不会显示像RAID 10那样的镜像和条带化信息。
格式化RAID设备挂载RAID设备
mkfs.fxs /dev/md0
挂载RAID设备
  1. 创建挂载点
    在Linux中,你不能直接访问设备文件(如/dev/md0)来读写文件,你需要先将其挂载到一个目录(称为挂载点)上。因此,你需要先创建一个目录作为挂载点。
    使用mkdir命令创建一个新的目录作为挂载点。例如,创建一个名为/mnt/raid0的目录:
    mkdir /mnt/raid0
    
  2. 挂载RAID设备
    使用mount命令将/dev/md0挂载到/mnt/raid0目录:
    mount /dev/md0 /mnt/raid0
    
  3. 验证挂载
    为了确认RAID设备已经成功挂载,你可以使用df -h命令来查看磁盘使用情况,或者使用ls /mnt/raid0来列出挂载点下的文件和目录(如果挂载点下还没有文件或目录,这个命令可能不会显示任何内容)。
  4. 永久挂载(可选):
  • 要在系统重启后自动挂载RAID设备,需要在/etc/fstab文件中添加相应的条目。
  • 首先,使用blkid命令查找/dev/md0的UUID。
  • 然后,编辑/etc/fstab文件,添加一行类似于以下内容的条目:
    UUID=<RAID设备的UUID> /mnt/raid10 xfs defaults 0 0
    
  • <RAID设备的UUID>替换为实际的UUID值或者设备的绝对路径。
    保存/etc/fstab文件后,下次系统启动时/dev/md0将自动挂载到/mnt/raid0
注意
  • 上述步骤创建的是RAID 0+RAID 1的组合,而不是传统意义上的RAID 10。在真正的RAID 10配置中,数据会同时进行条带化和镜像,而这通常是通过硬件RAID控制器或高级软件RAID解决方案来实现的。
  • 由于RAID 0不提供任何数据冗余,因此将RAID 1作为RAID 0的底层设备并不提供额外的数据保护。如果其中一个RAID 1出现故障,整个RAID 0阵列的数据将会丢失。
  • 如果需要真正的RAID 10配置,请考虑使用支持RAID 10的硬件RAID控制器,或者在支持的软件RAID解决方案中直接使用RAID 10级别创建阵列。
  • 上述步骤中的/dev/md0/dev/md1/dev/md2是示例设备

方法二、直接创建RAID 10阵列

创建RAID 10阵列

  • 使用mdadm命令创建RAID 10阵列。创建名为/dev/md0的RAID 10阵列的示例命令:
    mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    
  • 或者,如果硬盘名称具有连续性,可以使用通配符来简化命令:
    mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]
    
  • 这里,--create选项用于创建新的RAID设备,--level=10指定RAID级别为10,--raid-devices=4指定使用四块硬盘。

验证RAID 10配置

  • 使用cat /proc/mdstat命令查看RAID设备的状态,确认RAID 10阵列已成功创建并处于活动状态。在输出中,你应该能看到/dev/md0的状态为“active raid10”,并列出了四块硬盘。

格式化和挂载RAID设备

  1. 格式化RAID设备
    • 使用mkfs命令对RAID设备进行格式化。
      mkfs.xfs /dev/md0
      
  2. 创建挂载点并挂载
    • 创建一个目录作为挂载点,例如/mnt/raid10
    • 使用mount命令将RAID设备挂载到该目录:
      mkdir /mnt/raid10
      mount /dev/md0 /mnt/raid10
      

设置开机自动挂载

  • 要在系统重启后自动挂载RAID设备,需要在/etc/fstab文件中添加相应的条目。
    • 首先,使用blkid命令查找/dev/md0的UUID。
    • 然后,编辑/etc/fstab文件,添加一行类似于以下内容的条目:
      UUID=<RAID设备的UUID> /mnt/raid10 xfs defaults 0 0
      
    • <RAID设备的UUID>替换为实际的UUID值或者设备的绝对路径。

RAID的删除

删除raid里的所有硬盘:

mdadm --misc --zero-superblock /dev/sdc
mdadm --misc --zero-superblock /dev/sdd
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf

也可以写在一条命令:

mdadm --misc --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

删除配置文件:

rm -rf /etc/mdadm.conf

补充——命令

madam

mdadm是Linux系统中用于管理磁盘阵列(RAID)的工具,它提供了丰富的选项和命令来创建、管理、监控和维护RAID设备。

常用选项

通用选项

  • --verbose:增加输出信息的详细程度。
  • --config:指定mdadm的配置文件。
    创建RAID阵列时的选项
  • --create-C:创建新的RAID阵列。
  • --level:指定RAID级别,如0, 1, 5, 6, 10等。
  • --raid-devices-n:指定参与RAID的设备数量。
  • --spare-devices-x:指定备用设备的数量。
  • --chunk:设置条带大小(单位KB),默认为64KB。
    管理RAID阵列时的选项
  • --manage:对正在运行的RAID阵列进行管理操作。
  • --add:向RAID阵列中添加一个成员设备。
  • --remove:从RAID阵列中移除一个成员设备。
  • --fail:将RAID阵列中的一个成员设备标记为故障状态。
  • --stop:停止RAID阵列。
  • --detail-D:显示RAID阵列的详细信息。
    其他选项
  • --zero-superblock:清除磁盘上的RAID超级块信息,使其不再属于任何RAID阵列。
  • --assemble-A:组装已存在的RAID阵列。
  • --grow:调整RAID阵列的大小或设备数量。

常用命令及示例

创建RAID阵列

mdadm --create /dev/md0 --level=5 --raid-devices=3 --chunk=128 /dev/sda1 /dev/sdb1 /dev/sdc1

该命令创建了一个RAID 5阵列,名为/dev/md0,包含三个成员盘(/dev/sda1, /dev/sdb1, /dev/sdc1),条带大小为128KB。
查看RAID阵列状态
创建RAID的进度:

cat /proc/mdstat

mdadm --detail /dev/md0

这两个命令都可以查看/dev/md0的当前状态和详细信息。
添加热备盘到RAID阵列

mdadm --add /dev/md0 /dev/sdd1

该命令将/dev/sdd1添加为/dev/md0的热备盘。
移除RAID阵列中的磁盘

mdadm --fail /dev/md0 /dev/sda1
mdadm --remove /dev/md0 /dev/sda1

这两个命令首先将/dev/sda1标记为故障状态,然后将其从/dev/md0中移除。
停止并移除RAID阵列

mdadm --stop /dev/md0
mdadm --remove /dev/md0

这两个命令停止并移除了/dev/md0。
清除磁盘上的超级块

mdadm --zero-superblock /dev/sda1

该命令清除了/dev/sda1上的RAID超级块信息。
生成配置文件

mdadm --detail --scan > /etc/mdadm.conf

/usr/share/mdadm/mkconf --generate > /etc/mdadm.conf

这两个命令都可以生成mdadm的配置文件,以便于在系统重启后自动恢复RAID阵列。

注意

  • 在执行任何mdadm命令之前,请确保已经正确安装了mdadm软件包,并且你有足够的权限来执行这些命令(通常需要root权限)。
  • 在创建或管理RAID阵列时,请仔细选择RAID级别、设备数量和条带大小等参数,以确保它们符合你的存储需求和性能要求。
  • 在更改RAID配置之前,请务必备份重要数据,以防止数据丢失。

简略版

删除配置文件:

rm -rf /etc/mdadm.conf

生成配置:

mdadm -D -s >> /etc/mdadm.conf

停止设备:

mdadm -S /dev/md0

激活设备:

mdadm -A -s /dev/md0

强行启动:

mdadm -R /dev/md0

增加新的成员:

mdadm -G /dev/md0 -n5 -a /dev/sdg

命令解析:

mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1

-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md5:创建 RAID5 的名称。
-a yes:–auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[bcd]1:指定使用这四块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,-x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘
查看创建RAID的进度

cat /proc/mdstat

查看RAID磁盘详细信息

mdadm -D /dev/md5

mdadm命令其它常用选项:
r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID

在这里插入图片描述

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值