RAID

在 CentOS 7 中,RAID(独立磁盘冗余阵列)通过将多个物理磁盘组合为逻辑卷,实现提升存储性能、增强数据冗余的目的。其实现方式主要有两种:基于硬件的 RAID(需独立 RAID 控制器)和基于软件的 RAID(通过mdadm工具实现),后者在中小规模场景中更常用,以下重点围绕软件 RAID 展开:

一、RAID 核心级别补充说明

  • RAID 0:需至少 2 块存储设备(磁盘 / 分区),数据条带化分散存储,总容量 = 单设备容量 × 数量(如 2 块 20GB 设备→40GB),无冗余,性能最优但单盘故障则全量数据丢失
  • RAID 1:需至少 2 块设备,数据镜像存储,总容量 = 单设备容量(如 2 块 20GB 设备→20GB),冗余最高(单盘故障不丢数据),但空间利用率低
  • RAID 5:需至少 3 块设备,数据 + 奇偶校验分散存储(非固定某块存校验),总容量 =(设备数量 - 1)× 单设备容量(如 3 块 20GB 设备→40GB),支持单盘故障,故障后读写速度下降(需重建校验)
  • RAID 10/50:嵌套级别(先做镜像 / RAID5,再条带化),RAID 10 需 4 块(2 组 RAID 1 条带化),RAID 50 需 6 块(2 组 RAID 5 条带化),兼顾性能与冗余,适合高 IO 场景

二、实验环境准备

  1. 环境:CentOS 7 虚拟机(建议克隆 “demo” 镜像避免影响原环境)

  2. 存储设备:添加 4 块新虚拟磁盘(如/dev/sdb/dev/sdc/dev/sdd/dev/sde,大小均设为 20GB 以上,方便分区操作)

  3. 工具安装:若未预装

    mdadm
    

    先执行:

    yum install -y mdadm  # 安装RAID管理工具
    

三、实验步骤

1. 创建 RAID 0(以 2 块分区为例)
步骤 1:准备分区(可选,也可直接用整盘)

若需用 “分区” 而非整盘创建 RAID,需先为/dev/sdb/dev/sdc创建分区(以/dev/sdb为例):

fdisk /dev/sdb  # 进入分区工具
# 输入n→p→回车(默认分区号)→回车(起始扇区)→+20G(分区大小20GB)→t→fd(设置分区类型为“Linux raid autodetect”)→w(保存)
# 重复上述操作,为/dev/sdc创建同样的20GB分区(最终得到/dev/sdb1、/dev/sdc1)
lsblk  # 确认分区创建成功(sdb1、sdc1各20GB)

(若直接用整盘,可跳过此步,直接用/dev/sdb/dev/sdc

步骤 2:创建 RAID 0 阵列
# 命令说明:-C(创建)-v( verbose)-l 0(级别0)-n 2(2块设备)
mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1  # 若用整盘则替换为/dev/sdb /dev/sdc

执行后可通过cat /proc/mdstat查看创建进度(显示 “active raid0” 即成功)。

步骤 3:查看 RAID 信息
mdadm -Ds  # 查看所有RAID详细信息(含设备、级别、容量等)
# 输出示例:/dev/md0: ... level=raid0 ... devices=/dev/sdb1,/dev/sdc1
步骤 4:格式化并挂载
mkfs.xfs /dev/md0  # 格式化为xfs文件系统(CentOS 7默认推荐)
mkdir /raid0  # 创建挂载点
mount /dev/md0 /raid0/  # 临时挂载
df -Th /raid0/  # 确认挂载成功(容量应约为40GB)
步骤 5:设置开机自动挂载
blkid /dev/md0  # 获取RAID设备的UUID(如UUID="8eafdcb6-d46a-430a-8004-d58a68dc0751")
echo "UUID=上述UUID /raid0 xfs defaults 0 0" >> /etc/fstab  # 写入fstab
cat /etc/fstab  # 确认添加成功
2. 删除 RAID 0
umount /raid0/  # 先卸载
mdadm -S /dev/md0  # 停止RAID阵列(-S:stop)
rm -rf /raid0/  # 删除挂载点
# 清除磁盘/分区上的RAID信息(避免下次误识别)
mdadm --zero-superblock /dev/sdb1  # 若用整盘则替换为/dev/sdb
mdadm --zero-superblock /dev/sdc1  # 同上替换为/dev/sdc
# 删除fstab中对应的自动挂载条目
vi /etc/fstab  # 找到UUID行并删除,保存退出
3. 创建 RAID 5(含热备盘)
步骤 1:准备设备(4 块分区 / 整盘)

若用分区,按上述 “RAID 0 分区步骤” 为/dev/sdb/dev/sdc/dev/sdd/dev/sde各创建 1 个 20GB 分区(如sdb1~sde1);若用整盘则直接使用原设备。

步骤 2:创建 RAID 5(3 块数据盘 + 1 块热备盘)
# 命令说明:-l5(级别5)-n3(3块数据盘)--spare-devices=1(1块热备盘)
mdadm -Cv /dev/md5 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

通过cat /proc/mdstat确认状态(初始可能显示 “resyncing”,同步完成后状态正常)。

步骤 3:查看 RAID 5 详情
mdadm -D /dev/md5  # 查看详细信息
# 关键信息:成员设备(3块数据盘+1块spare)、容量(约40GB,即2×20GB)、状态(active)
步骤 4:模拟磁盘故障与自动重建
  1. 标记故障盘:

    mdadm -f /dev/md5 /dev/sdb1  # -f:标记为故障(fail)
    
  2. 查看重建状态:

    mdadm -D /dev/md5  # 此时热备盘/dev/sde1会自动替换故障盘,显示“rebuilding”
    
  3. 移除故障盘:

    mdadm -r /dev/md5 /dev/sdb1  # -r:移除故障盘(remove)
    
步骤 5:格式化并挂载 RAID 5
mkfs.xfs /dev/md5  # 格式化
mount /dev/md5 /mnt/  # 挂载到/mnt
df -h  # 确认挂载(容量约40GB)

四、关键注意事项

  1. 设备一致性:创建 RAID 时,建议用同容量、同型号设备(避免容量浪费或性能不均)
  2. 分区类型:若用分区创建 RAID,需将分区类型设为 “Linux raid autodetect”(fdisk 中类型码fd),否则mdadm可能无法识别
  3. 热备盘作用:RAID 5 中热备盘(spare)会在数据盘故障时自动重建阵列,无需手动干预,建议必设
  4. 数据安全:RAID≠备份!RAID 5 仅防单盘故障,若多盘同时故障仍会丢数据,需配合定期备份(如 rsync、快照)

详细实验:

新添加一块硬盘:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
添加完成,如果是开机状态需要重启

查看硬盘:

[root@syf ~]# parted -l
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  xfs          boot
 2      1075MB  59.1GB  58.0GB  primary               lvm


Error: /dev/sdb: unrecognised disk label
                                                              Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB       //硬盘20G大小
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-swap: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system     Flags
 1      0.00B  4295MB  4295MB  linux-swap(v1)


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-root: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  53.7GB  53.7GB  xfs


Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
has been opened read-only.
                                                              Model: NECVMWar VMware IDE CDR10 (scsi)
Disk /dev/sr0: 4589MB
Sector size (logical/physical): 2048B/2048B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      4907kB  40.6MB  35.7MB  primary

现在需要两个分区模拟两块硬盘RAID 0:

[root@syf ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of
commands.
                                                              (parted) p  
Error: /dev/sdb: unrecognised disk label
                                                              Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown     //未定义分区方案
Disk Flags: 

(parted) mklabel 
                                                              New disk label type? 
aix    bsd    gpt    mac    pc98   
amiga  dvh    loop   msdos  sun    
New disk label type? gpt 
                                                              (parted) unit
                                                              Unit?  [compact]? MiB
                                                              (parted) P  
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 20480MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

                                                              (parted) quit
Information: You may need to update /etc/fstab.

                                                              [root@syf ~]# udevadm settle 
[root@syf ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name

Command (m for help): n
Partition number (1-128, default 1): 
First sector (34-41943006, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943006, default 41943006): +1G
Created partition 1


Command (m for help): n
Partition number (2-128, default 2): 
First sector (34-41943006, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-41943006, default 41943006): +1G
Created partition 2


Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste 
 2      2099200      4196351      1G  Linux filesyste 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@syf ~]# partprobe /dev/sdb
[root@syf ~]# fdisk -l

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000cfdb0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   115361791    56631296   8e  Linux LVM
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste 
 2      2099200      4196351      1G  Linux filesyste 

Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 4294 MB, 4294967296 bytes, 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    1G  0 part 
└─sdb2            8:18   0    1G  0 part 
sr0              11:0    1  4.3G  0 rom  

创建RAID 0:

[root@syf ~]# mdadm -Cv /dev/md0 -l 0 -n 2 /dev/sdb{1..2}
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@syf ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=syf.example.com:0 UUID=7c815340:055586e1:1ee02395:390a6397
[root@syf ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Mon Aug 18 10:35:52 2025
        Raid Level : raid0
        Array Size : 2093056 (2044.00 MiB 2143.29 MB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Mon Aug 18 10:35:52 2025
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : syf.example.com:0  (local to host syf.example.com)
              UUID : 7c815340:055586e1:1ee02395:390a6397
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2

使用进行格式化:

[root@syf ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=8, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 
└─sdb2            8:18   0    1G  0 part  
  └─md0           9:0    0    2G  0 raid0 
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# blkid
/dev/sda1: UUID="7b61b282-6669-4f4c-8fce-6882b6e17d81" TYPE="xfs" 
/dev/sda2: UUID="jtncmM-LCvL-PQq4-ldR3-LU3F-RFS0-JyHOwD" TYPE="LVM2_member" 
/dev/sdb1: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="d3bb162f-1998-087b-5365-e60afa27bf6e" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="05f76a82-cb37-45ac-a150-4d7c5f6ffb7c" 
/dev/sdb2: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="45828413-7088-0969-a9f1-c0c60aa7172c" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="537f3460-01fa-4904-8af7-cc1c9cda57f6" 
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="37d50856-5dde-4e0a-a353-d04c636d5743" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="993b34c1-bcb1-4615-8403-a760627d3478" TYPE="swap" 
/dev/md0: UUID="cfb6e6a8-ae7a-4a17-aee0-cd7317ee6fe5" TYPE="xfs" 
[root@syf ~]# mkdir /md0
[root@syf ~]# vim /etc/fstab 
...
UUID=cfb6e6a8-ae7a-4a17-aee0-cd7317ee6fe5 /md0 xfs defaults 0 0
~                                                             
~ 
[root@syf ~]# mount -a
[root@syf ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  3.5G   47G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M  17% /boot
tmpfs                   tmpfs     394M   12K  394M   1% /run/user/42
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0
/dev/md0                xfs       2.0G   33M  2.0G   2% /md0

创建RAID 1:

新建分区:

[root@syf ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition number (3-128, default 3): 
First sector (34-41943006, default 4196352): 
Last sector, +sectors or +size{K,M,G,T,P} (4196352-41943006, default 41943006): +1G
Created partition 3


Command (m for help): n
Partition number (4-128, default 4): 
First sector (34-41943006, default 6293504): 
Last sector, +sectors or +size{K,M,G,T,P} (6293504-41943006, default 41943006): +1G
Created partition 4


Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste 
 2      2099200      4196351      1G  Linux filesyste 
 3      4196352      6293503      1G  Linux filesyste 
 4      6293504      8390655      1G  Linux filesyste 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@syf ~]# partprobe /dev/sdb
[root@syf ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
└─sdb4            8:20   0    1G  0 part  
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# mdadm -Cv /dev/md1 -l 1 -n 2 /dev/sdb{3..4}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 1046528K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@syf ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 
└─sdb4            8:20   0    1G  0 part  
  └─md1           9:1    0 1022M  0 raid1 
sr0              11:0    1  4.3G  0 rom   

使用进行格式化:

[root@syf ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1               isize=512    agcount=4, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=261632, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@syf ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 
└─sdb4            8:20   0    1G  0 part  
  └─md1           9:1    0 1022M  0 raid1 
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# blkid
/dev/sda1: UUID="7b61b282-6669-4f4c-8fce-6882b6e17d81" TYPE="xfs" 
/dev/sda2: UUID="jtncmM-LCvL-PQq4-ldR3-LU3F-RFS0-JyHOwD" TYPE="LVM2_member" 
/dev/sdb1: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="d3bb162f-1998-087b-5365-e60afa27bf6e" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="05f76a82-cb37-45ac-a150-4d7c5f6ffb7c" 
/dev/sdb2: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="45828413-7088-0969-a9f1-c0c60aa7172c" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="537f3460-01fa-4904-8af7-cc1c9cda57f6" 
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="37d50856-5dde-4e0a-a353-d04c636d5743" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="993b34c1-bcb1-4615-8403-a760627d3478" TYPE="swap" 
/dev/md0: UUID="cfb6e6a8-ae7a-4a17-aee0-cd7317ee6fe5" TYPE="xfs" 
/dev/sdb3: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="85fd388f-4a8f-ab20-e574-78bebf742dab" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="00c757fd-6ae9-4128-a688-ff0c6541a982" 
/dev/sdb4: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="6c42cfbd-db91-c936-709c-949fb2983824" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="950a6520-a459-428d-ac1c-874beace9234" 
/dev/md1: UUID="31e3ae83-c683-4ebe-9783-61c49b2b2e10" TYPE="xfs" 
[root@syf ~]# mkdir /md1
[root@syf ~]# vim /etc/fstab 
...
UUID=31e3ae83-c683-4ebe-9783-61c49b2b2e10 /md1 xfs defaults 0 0
~                                                             
~      
[root@syf ~]# mount -a
[root@syf ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  3.5G   47G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M  17% /boot
tmpfs                   tmpfs     394M   12K  394M   1% /run/user/42
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0
/dev/md0                xfs       2.0G   33M  2.0G   2% /md0
/dev/md1                xfs      1019M   33M  987M   4% /md1

创建RAID 5:

[root@syf ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition number (5-128, default 5): 
First sector (34-41943006, default 8390656): 
Last sector, +sectors or +size{K,M,G,T,P} (8390656-41943006, default 41943006): +1G
Created partition 5


Command (m for help): n
Partition number (6-128, default 6): 
First sector (34-41943006, default 10487808): 
Last sector, +sectors or +size{K,M,G,T,P} (10487808-41943006, default 41943006): +1G
Created partition 6


Command (m for help): n
Partition number (7-128, default 7): 
First sector (34-41943006, default 12584960): 
Last sector, +sectors or +size{K,M,G,T,P} (12584960-41943006, default 41943006): +1G
Created partition 7


Command (m for help): P

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste 
 2      2099200      4196351      1G  Linux filesyste 
 3      4196352      6293503      1G  Linux filesyste 
 4      6293504      8390655      1G  Linux filesyste 
 5      8390656     10487807      1G  Linux filesyste 
 6     10487808     12584959      1G  Linux filesyste 
 7     12584960     14682111      1G  Linux filesyste 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@syf ~]# partprobe /dev/sdb
[root@syf ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
├─sdb6            8:22   0    1G  0 part  
└─sdb7            8:23   0    1G  0 part  
sr0              11:0    1  4.3G  0 rom   

加一个热备盘:

[root@syf ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition number (8-128, default 8): 
First sector (34-41943006, default 14682112): 
Last sector, +sectors or +size{K,M,G,T,P} (14682112-41943006, default 41943006): +1G
Created partition 8


Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@syf ~]# partprobe /dev/sdb
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
├─sdb6            8:22   0    1G  0 part  
├─sdb7            8:23   0    1G  0 part  
└─sdb8            8:24   0    1G  0 part  
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sdb{5..7} --spare-devices=1 /dev/sdb8
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 1046528K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
└─sdb8            8:24   0    1G  0 part  
  └─md5           9:5    0    2G  0 raid5 
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Aug 18 11:04:20 2025
        Raid Level : raid5
        Array Size : 2093056 (2044.00 MiB 2143.29 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Aug 18 11:04:32 2025
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : syf.example.com:5  (local to host syf.example.com)
              UUID : 923af60b:41391e91:d134a34b:e20f7bec
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       21        0      active sync   /dev/sdb5
       1       8       22        1      active sync   /dev/sdb6
       4       8       23        2      active sync   /dev/sdb7

       3       8       24        -      spare   /dev/sdb8

模拟相应故障,假如sdb5出现故障:

[root@syf ~]# mdadm -f /dev/md5 /dev/sdb5
mdadm: set /dev/sdb5 faulty in /dev/md5
[root@syf ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Aug 18 11:04:20 2025
        Raid Level : raid5
        Array Size : 2093056 (2044.00 MiB 2143.29 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Aug 18 11:09:20 2025
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 37% complete

              Name : syf.example.com:5  (local to host syf.example.com)
              UUID : 923af60b:41391e91:d134a34b:e20f7bec
            Events : 26

    Number   Major   Minor   RaidDevice State
       3       8       24        0      spare rebuilding   /dev/sdb8   //sdb8顶替sdb5工作
       1       8       22        1      active sync   /dev/sdb6
       4       8       23        2      active sync   /dev/sdb7

       0       8       21        -      faulty   /dev/sdb5

移除sdb5:

[root@syf ~]# mdadm -r /dev/md5 /dev/sdb5
mdadm: hot removed /dev/sdb5 from /dev/md5
[root@syf ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Aug 18 11:04:20 2025
        Raid Level : raid5
        Array Size : 2093056 (2044.00 MiB 2143.29 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Mon Aug 18 11:11:59 2025
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : syf.example.com:5  (local to host syf.example.com)
              UUID : 923af60b:41391e91:d134a34b:e20f7bec
            Events : 38

    Number   Major   Minor   RaidDevice State
       3       8       24        0      active sync   /dev/sdb8
       1       8       22        1      active sync   /dev/sdb6
       4       8       23        2      active sync   /dev/sdb7

sdb5修复了,如何添加进来:

[root@syf ~]# mdadm -a /dev/md5 /dev/sdb5
mdadm: added /dev/sdb5
[root@syf ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Aug 18 11:04:20 2025
        Raid Level : raid5
        Array Size : 2093056 (2044.00 MiB 2143.29 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Aug 18 11:14:11 2025
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : syf.example.com:5  (local to host syf.example.com)
              UUID : 923af60b:41391e91:d134a34b:e20f7bec
            Events : 39

    Number   Major   Minor   RaidDevice State
       3       8       24        0      active sync   /dev/sdb8
       1       8       22        1      active sync   /dev/sdb6
       4       8       23        2      active sync   /dev/sdb7

       5       8       21        -      spare   /dev/sdb5   //添加一个新的设备进来,做热备进行使用

使用进行格式化:

[root@syf ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=8, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 
└─sdb8            8:24   0    1G  0 part  
  └─md5           9:5    0    2G  0 raid5 
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# blkid
/dev/sda1: UUID="7b61b282-6669-4f4c-8fce-6882b6e17d81" TYPE="xfs" 
/dev/sda2: UUID="jtncmM-LCvL-PQq4-ldR3-LU3F-RFS0-JyHOwD" TYPE="LVM2_member" 
/dev/sdb1: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="d3bb162f-1998-087b-5365-e60afa27bf6e" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="05f76a82-cb37-45ac-a150-4d7c5f6ffb7c" 
/dev/sdb2: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="45828413-7088-0969-a9f1-c0c60aa7172c" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="537f3460-01fa-4904-8af7-cc1c9cda57f6" 
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="37d50856-5dde-4e0a-a353-d04c636d5743" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="993b34c1-bcb1-4615-8403-a760627d3478" TYPE="swap" 
/dev/md0: UUID="cfb6e6a8-ae7a-4a17-aee0-cd7317ee6fe5" TYPE="xfs" 
/dev/sdb3: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="85fd388f-4a8f-ab20-e574-78bebf742dab" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="00c757fd-6ae9-4128-a688-ff0c6541a982" 
/dev/sdb4: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="6c42cfbd-db91-c936-709c-949fb2983824" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="950a6520-a459-428d-ac1c-874beace9234" 
/dev/md1: UUID="31e3ae83-c683-4ebe-9783-61c49b2b2e10" TYPE="xfs" 
/dev/sdb5: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="a0c33329-b72a-1eca-8eb0-237b8f7f7c46" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="8d3467c3-827b-46b6-8063-f24310d22f54" 
/dev/sdb6: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="00973c76-f305-9c61-6f80-465d6b4619af" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="1b2d0c03-2a20-4bda-b091-4d50530dd5e1" 
/dev/sdb7: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="b3727b26-de15-3155-f7de-0b62d21a17c5" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="8240e404-50da-45c1-80bb-7f4e8be90d28" 
/dev/sdb8: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="dd0f5ec0-3e5f-1365-56d4-9b8f7feb6893" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="cc8a9af5-6118-4b27-87cb-f08599bf60da" 
/dev/md5: UUID="5c581719-174f-4683-b058-55dcbce0fa7e" TYPE="xfs" 
[root@syf ~]# mkdir /md5
[root@syf ~]# vim /etc/fstab
...
UUID=5c581719-174f-4683-b058-55dcbce0fa7e /md5 xfs defaults 0 0
~                                                             
~ 
[root@syf ~]# mount -a 
[root@syf ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  3.5G   47G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M  17% /boot
tmpfs                   tmpfs     394M   12K  394M   1% /run/user/42
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0
/dev/md0                xfs       2.0G   33M  2.0G   2% /md0
/dev/md1                xfs      1019M   33M  987M   4% /md1
/dev/md5                xfs       2.0G   33M  2.0G   2% /md5

创建RAID 10:

至少创建4块硬盘:

[root@syf ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition number (9-128, default 9): 
First sector (34-41943006, default 16779264): 
Last sector, +sectors or +size{K,M,G,T,P} (16779264-41943006, default 41943006): +1G
Created partition 9


Command (m for help): n
Partition number (10-128, default 10): 
First sector (34-41943006, default 18876416): 
Last sector, +sectors or +size{K,M,G,T,P} (18876416-41943006, default 41943006): +1G
Created partition 10


Command (m for help): n
Partition number (11-128, default 11): 
First sector (34-41943006, default 20973568): 
Last sector, +sectors or +size{K,M,G,T,P} (20973568-41943006, default 41943006): +1G
Created partition 11


Command (m for help): n
Partition number (12-128, default 12): 
First sector (34-41943006, default 23070720): 
Last sector, +sectors or +size{K,M,G,T,P} (23070720-41943006, default 41943006): +1G
Created partition 12


Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 1D957E44-93AD-4036-936D-DCC088366771


#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste 
 2      2099200      4196351      1G  Linux filesyste 
 3      4196352      6293503      1G  Linux filesyste 
 4      6293504      8390655      1G  Linux filesyste 
 5      8390656     10487807      1G  Linux filesyste 
 6     10487808     12584959      1G  Linux filesyste 
 7     12584960     14682111      1G  Linux filesyste 
 8     14682112     16779263      1G  Linux filesyste 
 9     16779264     18876415      1G  Linux filesyste 
10     18876416     20973567      1G  Linux filesyste 
11     20973568     23070719      1G  Linux filesyste 
12     23070720     25167871      1G  Linux filesyste 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@syf ~]# partprobe /dev/sdb
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb8            8:24   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb9            8:25   0    1G  0 part  
├─sdb10           8:26   0    1G  0 part  
├─sdb11           8:27   0    1G  0 part  
└─sdb12           8:28   0    1G  0 part  
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# mdadm -Cv /dev/md101 -l 1 -n 2 /dev/sdb9 /dev/sdb10
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 1046528K
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md101 started.
[root@syf ~]# mdadm -Cv /dev/md102 -l 1 -n 2 /dev/sdb{11..12}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 1046528K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md102 started.
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb8            8:24   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb9            8:25   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
├─sdb10           8:26   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
├─sdb11           8:27   0    1G  0 part  
│ └─md102         9:102  0 1022M  0 raid1 
└─sdb12           8:28   0    1G  0 part  
  └─md102         9:102  0 1022M  0 raid1 
sr0              11:0    1  4.3G  0 rom   
[root@syf ~]# mdadm -Cv /dev/md10 -l 0 -n 2 /dev/md101 /dev/md102
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.
[root@syf ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb8            8:24   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb9            8:25   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 
├─sdb10           8:26   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 
├─sdb11           8:27   0    1G  0 part  
│ └─md102         9:102  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 
└─sdb12           8:28   0    1G  0 part  
  └─md102         9:102  0 1022M  0 raid1 
    └─md10        9:10   0    2G  0 raid0 
sr0              11:0    1  4.3G  0 rom   

使用进行格式化:

[root@syf ~]# mkfs.ext4 /dev/md10
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
130560 inodes, 522240 blocks
26112 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=534773760
16 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done 

[root@syf ~]# blkid
/dev/sda1: UUID="7b61b282-6669-4f4c-8fce-6882b6e17d81" TYPE="xfs" 
/dev/sda2: UUID="jtncmM-LCvL-PQq4-ldR3-LU3F-RFS0-JyHOwD" TYPE="LVM2_member" 
/dev/sdb1: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="d3bb162f-1998-087b-5365-e60afa27bf6e" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="05f76a82-cb37-45ac-a150-4d7c5f6ffb7c" 
/dev/sdb2: UUID="7c815340-0555-86e1-1ee0-2395390a6397" UUID_SUB="45828413-7088-0969-a9f1-c0c60aa7172c" LABEL="syf.example.com:0" TYPE="linux_raid_member" PARTUUID="537f3460-01fa-4904-8af7-cc1c9cda57f6" 
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="37d50856-5dde-4e0a-a353-d04c636d5743" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="993b34c1-bcb1-4615-8403-a760627d3478" TYPE="swap" 
/dev/md0: UUID="cfb6e6a8-ae7a-4a17-aee0-cd7317ee6fe5" TYPE="xfs" 
/dev/sdb3: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="85fd388f-4a8f-ab20-e574-78bebf742dab" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="00c757fd-6ae9-4128-a688-ff0c6541a982" 
/dev/sdb4: UUID="6bda4b40-b424-7d47-38fb-faa354233452" UUID_SUB="6c42cfbd-db91-c936-709c-949fb2983824" LABEL="syf.example.com:1" TYPE="linux_raid_member" PARTUUID="950a6520-a459-428d-ac1c-874beace9234" 
/dev/md1: UUID="31e3ae83-c683-4ebe-9783-61c49b2b2e10" TYPE="xfs" 
/dev/sdb5: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="a0c33329-b72a-1eca-8eb0-237b8f7f7c46" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="8d3467c3-827b-46b6-8063-f24310d22f54" 
/dev/sdb6: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="00973c76-f305-9c61-6f80-465d6b4619af" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="1b2d0c03-2a20-4bda-b091-4d50530dd5e1" 
/dev/sdb7: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="b3727b26-de15-3155-f7de-0b62d21a17c5" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="8240e404-50da-45c1-80bb-7f4e8be90d28" 
/dev/sdb8: UUID="923af60b-4139-1e91-d134-a34be20f7bec" UUID_SUB="dd0f5ec0-3e5f-1365-56d4-9b8f7feb6893" LABEL="syf.example.com:5" TYPE="linux_raid_member" PARTUUID="cc8a9af5-6118-4b27-87cb-f08599bf60da" 
/dev/md5: UUID="5c581719-174f-4683-b058-55dcbce0fa7e" TYPE="xfs" 
/dev/sdb9: UUID="8edbd8cc-e2f3-9761-0b88-9558529c6ead" UUID_SUB="a8509dab-9ad4-d9b1-b7ed-2e40a825048b" LABEL="syf.example.com:101" TYPE="linux_raid_member" PARTUUID="abc0375c-9531-40f7-b463-6c263abbdcda" 
/dev/sdb10: UUID="8edbd8cc-e2f3-9761-0b88-9558529c6ead" UUID_SUB="15bf9980-cb7f-d380-39b4-27c6380a97dc" LABEL="syf.example.com:101" TYPE="linux_raid_member" PARTUUID="4ee11b00-fcff-4b1b-b00a-2bbed29a0bd5" 
/dev/sdb11: UUID="04a67759-c30b-810e-53e1-1e8c149e0642" UUID_SUB="da96070e-b127-63f6-3969-fc3916ecfc95" LABEL="syf.example.com:102" TYPE="linux_raid_member" PARTUUID="56817ba5-da2f-480a-ae3d-5867723f71a2" 
/dev/sdb12: UUID="04a67759-c30b-810e-53e1-1e8c149e0642" UUID_SUB="ba47b964-6170-1a1f-00c0-f761b10a9a5e" LABEL="syf.example.com:102" TYPE="linux_raid_member" PARTUUID="cdd15c53-9f87-496f-ab5d-49416c371536" 
/dev/md101: UUID="833e8abe-cab7-96f1-7167-71ae5795628d" UUID_SUB="d3d0323c-75e8-fa94-7397-d6a34f975b64" LABEL="syf.example.com:10" TYPE="linux_raid_member" 
/dev/md102: UUID="833e8abe-cab7-96f1-7167-71ae5795628d" UUID_SUB="2d5b670f-cf1e-e74f-7082-71eb8c1c7f3b" LABEL="syf.example.com:10" TYPE="linux_raid_member" 
/dev/md10: UUID="7ba4c990-6de5-46de-82d1-9fea7740fa7f" TYPE="ext4" 
[root@syf ~]# mkdir /md10
[root@syf ~]# vim /etc/fstab 
...
UUID=7ba4c990-6de5-46de-82d1-9fea7740fa7f /md10 ext4 defaults
0 0
~                                                             
~ 
[root@syf ~]# mount -a
[root@syf ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  3.5G   47G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M  17% /boot
tmpfs                   tmpfs     394M   12K  394M   1% /run/user/42
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0
/dev/md0                xfs       2.0G   33M  2.0G   2% /md0
/dev/md1                xfs      1019M   33M  987M   4% /md1
/dev/md5                xfs       2.0G   33M  2.0G   2% /md5
/dev/md10               ext4      2.0G  6.0M  1.9G   1% /md10

查看多少个设备:

[root@syf ~]# lsblk    //有几块设备,看挂载点有几个
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  100G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   54G  0 part  
  ├─centos-root 253:0    0   50G  0 lvm   /
  └─centos-swap 253:1    0    4G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk  
├─sdb1            8:17   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb2            8:18   0    1G  0 part  
│ └─md0           9:0    0    2G  0 raid0 /md0
├─sdb3            8:19   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb4            8:20   0    1G  0 part  
│ └─md1           9:1    0 1022M  0 raid1 /md1
├─sdb5            8:21   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb6            8:22   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb7            8:23   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb8            8:24   0    1G  0 part  
│ └─md5           9:5    0    2G  0 raid5 /md5
├─sdb9            8:25   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 /md10
├─sdb10           8:26   0    1G  0 part  
│ └─md101         9:101  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 /md10
├─sdb11           8:27   0    1G  0 part  
│ └─md102         9:102  0 1022M  0 raid1 
│   └─md10        9:10   0    2G  0 raid0 /md10
└─sdb12           8:28   0    1G  0 part  
  └─md102         9:102  0 1022M  0 raid1 
    └─md10        9:10   0    2G  0 raid0 /md10
sr0              11:0    1  4.3G  0 rom   
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐