千家信息网

如何使用Linux中mdadm命令管理RAID磁盘阵列

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"如何使用Linux中mdadm命令管理RAID磁盘阵列",在日常操作中,相信很多人在如何使用Linux中mdadm命令管理RAID磁盘阵列问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2026年11月03日如何使用Linux中mdadm命令管理RAID磁盘阵列

这篇文章主要介绍"如何使用Linux中mdadm命令管理RAID磁盘阵列",在日常操作中,相信很多人在如何使用Linux中mdadm命令管理RAID磁盘阵列问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用Linux中mdadm命令管理RAID磁盘阵列"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区、使用CPU实现,降低CPU利用率),因此在生产环境下并不适用。但为了学习和了解RAID原理和管理,因此仍然进行一个详细的讲解:

mdadm 主要命令说明模式(7种):
•Assemble:加入一个以前定义的阵列
•Build:创建一个没有超级块的阵列
•Create:创建一个新的阵列,每个设备具有超级块
•Manage: 管理阵列(如添加和删除)
•Misc:允许单独对阵列中的某个设备进行操作(如停止阵列)
•Follow or Monitor:监控RAID的状态
•Grow:改变RAID的容量或阵列中的设备数目
选项:
-A, --assemble:加入一个以前定义的阵列
-B, --build:创建一个没有超级块的阵列(Build a legacy array without superblocks.)
-C, --create:创建一个新的阵列
-F, --follow, --monitor:选择监控(Monitor)模式
-G, --grow:改变激活阵列的大小或形态
-I, --incremental:添加一个单独的设备到合适的阵列,并可能启动阵列
--auto-detect:请求内核启动任何自动检测到的阵列
-h, --help:帮助信息,用在以上选项后,则显示该选项信息
--help-options:显示更详细的帮助
-V, --version:打印mdadm的版本信息
-v, --verbose:显示细节
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-c, --config= :指定配置文件,缺省为 /etc/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf

-C 创建Raid (/dev/md0是我的raid名称)
-n 磁盘阵列个数
-l raid的级别,-x hostspare,待机磁盘,
--size 指定每块磁盘大小
--add -a : hotadd subsequent devices to the array
--remove -r : remove subsequent devices, which must not be active
--fail -f : mark subsequent devices a faulty
--set-faulty : same as --fail
--run -R : start a partially built array
--stop -S : deactivate array, releasing all resources
--readonly -o : mark array as readonly
--readwrite -w : mark array as readwrite

Options that are valid with management mode are:
--add -a : hotadd subsequent devices to the array
--remove -r : remove subsequent devices, which must not be active
--fail -f : mark subsequent devices a faulty
--set-faulty : same as --fail
--run -R : start a partially built array
--stop -S : deactivate array, releasing all resources
--readonly -o : mark array as readonly
--readwrite -w : mark array as readwrite
使用cat /proc/mdstat命令来查看一下RAID的状态
配置完后,需mdadm -D --scan>/etc/mdadm.conf 进行配置更新
停止阵列前,需umount 执行mdadm -S /dev/mdX
重新启动 执行 mdadm -As /dev/mdX
阵列组中移除硬盘 mdadm /dev/mdX -r /dev/sdX
阵列组中添加硬盘 mdadm /dev/mdX -a /dev/sdX
查看单个分区 mdadm -E /dev/sdX

下面来看一下实例:

一、创建模式
选项:-C
专用选项:
-l 级别
-n 设备个数
-a {yes|no} 自动为其创建设备文件
-c 指定数据块大小(chunk)
-x 指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替
注意:创建阵列时,阵列所需磁盘数为-n参数和-x参数的个数和
示例:
1、创建raid0:
1.1 创建raid

代码如下:


mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}


注意:用于创建raid的磁盘分区类型需为fd
1.2 格式化:
mkfs.ext4 /dev/md0
注意:在格式化时,可以指定-E选项下的stride参数指定条带是块大小的多少倍,有在一定程度上提高软RAID性能,如块默认大小为4k,而条带大小默认为64k,则stride为16,这样就避免了RAID每次存取数据时都去计算条带大小,如:
mkfs.ext4 -E stride=16 -b 4096 /dev/md0
其中stride=chunk/block,为2的n次方
2、创建raid1:
2.1 创建raid

代码如下:


[root@localhost ~]# mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sdb{5,6}
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
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.


注意:这个提示是说软raid不能用作启动分区。
2.2 格式化:

代码如下:


[root@localhost ~]# mkfs.ext4 /dev/md1


3、创建raid5:
由于没有磁盘空间,我将原来做raid1的测试磁盘全部删除后重新建立四个分区用于raid5测试,分别为sdb5-8
3.1 创建raid5

代码如下:


[root@localhost ~]# mdadm -C /dev/md2 -a yes -l 5 -n 3 /dev/sdb{5,6,7}
mdadm: /dev/sdb5 appears to be part of a raid array:
level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013
mdadm: /dev/sdb6 appears to be part of a raid array:
level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013
mdadm: /dev/sdb7 appears to be part of a raid array:
level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.


注意:由于我的分区刚才在raid1上使用过,因此有此提示。
3.2 格式化:
[root@localhost ~]# mkfs.ext4 /dev/md2
3.3 增加热备磁盘:
[root@localhost ~]# mdadm /dev/md2 -a /dev/sdb8
4、查看md状态:
4.1 查看RAID阵列的详细信息:

代码如下:


选项: -D = --detail
mdadm -D /dev/md# 查看指定RAID设备的详细信息


4.2 查看raid状态

代码如下:


[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md0 : active raid0 sdb2[1] sdb1[0]
4206592 blocks super 1.2 512k chunks
md1 : active raid1 sdb6[1] sdb5[0]
2103447 blocks super 1.2 [2/2] [UU]
unused devices:


注意:在创建raid前,应该先查看磁盘是否被识别,如果内核还为识别,创建Raid时会报错:

代码如下:

cat /proc/partitions


如果没有被识别,可以执行命令:

代码如下:

kpartx /dev/sdb

或者

代码如下:

partprobe/dev/sdb


二、管理模式
选项:-a(--add),-d(--del),-r(--remove),-f(--fail)
1、模拟损坏:

代码如下:


mdadm /dev/md1 -f /dev/sdb5


2、移除损坏的磁盘:

代码如下:


mdadm /dev/md1 -r /dev/sdb5


3、添加新的硬盘到已有阵列:

代码如下:


mdadm /dev/md1 -a /dev/sdb7


注意:
3.1、新增加的硬盘需要与原硬盘大小一致
3.2、如果原有阵列缺少工作磁盘(如raid1只有一块在工作,raid5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘。
4、停止阵列:
选项:-S = --stop

代码如下:


mdadm -S /dev/md1


三、监控模式
选项:-F
不常用,不做详细说明。


四、增长模式,用于增加磁盘,为阵列扩容:
选项:-G
示例,将上述raid5的热备磁盘增加到阵列工作磁盘中

代码如下:


[root@localhost ~]# mdadm -G /dev/md2 -n 4


注意:-n 4 表示使用四块工作磁盘
再次使用-D选项查看阵列详细信息如下:

代码如下:


[root@localhost ~]# mdadm -D /dev/md2


……此处略掉部分信息……
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
3 8 23 2 active sync /dev/sdb7
4 8 24 3 active sync /dev/sdb8


五、装配模式,软RAID是基于系统的,当原系统损坏了,需要重新装配RAID
选项:-A
示例:将上述已经停止的阵列重新装配:

代码如下:


mdadm -A /dev/md1 /dev/sdb5 /dev/sdb6


实现自动装配:
mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf 中,命令如下:

代码如下:


[root@localhost ~]# mdadm -Ds >/etc/mdadm.conf

到此,关于"如何使用Linux中mdadm命令管理RAID磁盘阵列"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

阵列 磁盘 代码 命令 信息 管理 大小 模式 工作 设备 配置 磁盘阵列 文件 硬盘 学习 装配 个数 格式 状态 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 圆梦互联网科技 北京互联网科技有限公司 苏州互联网科技贷款公司 电子科技大学互联网 沃里互联网科技 奔汉互联网科技 美国互联网前沿科技 银川新华互联网科技学校地址 承德科技产业互联网发展 移动互联网科技股 来此购互联网科技有限公司 移动互联网科技公司 合肥互联网科技公司公章图片 21世纪互联网科技成就 互联网科技快讯热点 张家口科技产业互联网平台 中国互联网公司的科技投入 青岛互联网科技园 恒生科技互联网指数十大成分股 高科技和互联网的现代国家 华服互联网科技靠谱吗 河南真二互联网科技有限公司 互联网金融公司科技 移动互联网年度科技创新 成都互联网科技公司工作好不好 烟台灵鸽互联网科技有限公司 银川新华互联网科技学校原画 三亚科技创新互联网基地 华人运通互联网科技公司 瑞安市蟠桃会互联网科技有限公司
0