请选择 进入手机版 | 继续访问电脑版

[LINUX] Linux中mdadm下令 管理RAID磁盘阵列的实例总结

[复制链接]
查看129 | 回复17 | 2021-9-4 22:45:40 | 显示全部楼层 |阅读模式

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 天使粉粉魏 | 2021-9-12 07:26:34 | 显示全部楼层
一口气看完了,我要下去回味回味了!
回复

使用道具 举报

avatar 新北狂纱 | 2021-9-12 17:25:59 | 显示全部楼层
论坛的帖子越来越有深度了!
回复

使用道具 举报

avatar 又见阿凡提彻 | 2021-9-13 13:59:24 | 显示全部楼层
每次看到admin楼主的帖子都有惊吓!
回复

使用道具 举报

avatar 令狐佳人 | 2021-9-13 19:39:25 | 显示全部楼层
今天过得很不爽!
回复

使用道具 举报

avatar lkbt123 | 2021-9-16 13:11:21 | 显示全部楼层
看了这么多帖子,第一次看到这么经典的!
回复

使用道具 举报

avatar 烟织成愁撼 | 2021-9-18 23:46:39 | 显示全部楼层
我和我的小伙伴都惊呆了!
回复

使用道具 举报

avatar 落叶的时节 | 2021-9-19 09:33:59 | 显示全部楼层
楼上的忘记吃药了!
回复

使用道具 举报

avatar 我就是但丁徊 | 2021-9-23 02:01:23 | 显示全部楼层
admin楼主好聪明啊!
回复

使用道具 举报

avatar 123457021 | 2021-10-1 00:38:29 | 显示全部楼层
禽兽不如应该不是说admin楼主的的吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则