RAID磁盘阵列
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 场景
二、实验环境准备
-
环境:CentOS 7 虚拟机(建议克隆 “demo” 镜像避免影响原环境)
-
存储设备:添加 4 块新虚拟磁盘(如
/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde,大小均设为 20GB 以上,方便分区操作) -
工具安装:若未预装
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:模拟磁盘故障与自动重建
-
标记故障盘:
mdadm -f /dev/md5 /dev/sdb1 # -f:标记为故障(fail) -
查看重建状态:
mdadm -D /dev/md5 # 此时热备盘/dev/sde1会自动替换故障盘,显示“rebuilding” -
移除故障盘:
mdadm -r /dev/md5 /dev/sdb1 # -r:移除故障盘(remove)
步骤 5:格式化并挂载 RAID 5
mkfs.xfs /dev/md5 # 格式化
mount /dev/md5 /mnt/ # 挂载到/mnt
df -h # 确认挂载(容量约40GB)
四、关键注意事项
- 设备一致性:创建 RAID 时,建议用同容量、同型号设备(避免容量浪费或性能不均)
- 分区类型:若用分区创建 RAID,需将分区类型设为 “Linux raid autodetect”(fdisk 中类型码
fd),否则mdadm可能无法识别 - 热备盘作用:RAID 5 中热备盘(spare)会在数据盘故障时自动重建阵列,无需手动干预,建议必设
- 数据安全: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
更多推荐

所有评论(0)