mdadm命令简介:

mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。

由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID不能用作启动分区、使用CPU实现,降低CPU利用率的自身缺陷,因此在生产环境下并不适用。

但为了学习可模拟了解RAID原理和管理。

1.命令格式:

mdadm [mode] [options]

2.命令功能:

显示每个文件和目录的磁盘使用空间。

3.命令参数:模式化的命令

3.1.创建模式 -C  Create

专用选项:

-l: 级别  raid0,raid1,raid5,raid6,raid10,raid50

-n #: 设备个数

-a {yes|no}: 是否自动为其创建设备文件

-c: CHUNK大小, 2^n,默认为64Kchunk64K /Block4K = stride16

-x #: 指定空闲盘个数

eg1.mdadm-C /dev/md0 -a yes-l 5 -n 3 /dev/sdb{5,6,7}

3.2.管理模式

-a: --add,

-r:--remove,

-f:--fail

eg2.mdadm /dev/md2 --fail /dev/sda7

3.3.查看RAID阵列的详细信息

-D--detail   eg3.mdadm -D /dev/md2

3.4.停止阵列:

-S--stopeg4. mdadm -S /dev/md0

3.5.监控模式-F  Follow or Monitor

3.6.增长模式-G  Grow:改变raid容量或阵列中的device数目

3.7.装配模式Assemble,Add

-A :将以前定义的某个阵列加入当前在用阵列。

使用此命令方可自动装配:mdadm -D --scan > /etc/mdadm.conf

4.使用实例:

实例1.使用3个逻辑盘创建一个RAID0分区,一个RAID5分区,热备盘,删除分区。

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): p

Disk /dev/sdb: 17.1 GB, 17179869184 bytes

255 heads, 63 sectors/track, 2088 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         244     1959898+  83  Linux

/dev/sdb2             245         488     1959930   83  Linux

/dev/sdb3             489         732     1959930   83  Linux

/dev/sdb4             733        2088    10892070    5  Extended

/dev/sdb5             733         982     2008093+  fd  Linux raid autodetect

/dev/sdb6             983        1232     2008093+  83  Linux

/dev/sdb7            1233        1482     2008093+  83  Linux

/dev/sdb8            1483        1732     2008093+  83  Linux

Command (m for help): t

Partition number (1-8): 6

Hex code (type L to list codes):fd

Changed system type of partition 6 to fd (Linux raid autodetect)

Command (m for help): t

Partition number (1-8): 7

Hex code (type L to list codes): fd

Changed system type of partition 7 to fd (Linux raid autodetect)

Command (m for help): t

Partition number (1-8): 8

Hex code (type L to list codes): fd

Changed system type of partition 8 to fd (Linux raid autodetect)

Command (m for help): p

Disk /dev/sdb: 17.1 GB, 17179869184 bytes

255 heads, 63 sectors/track, 2088 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         244     1959898+  83  Linux

/dev/sdb2             245         488     1959930   83  Linux

/dev/sdb3             489         732     1959930   83  Linux

/dev/sdb4             733        2088    10892070    5  Extended

/dev/sdb5             733         982     2008093+  fd  Linux raid autodetect

/dev/sdb6             983        1232     2008093+  fd  Linux raid autodetect

/dev/sdb7            1233        1482     2008093+  fd  Linux raid autodetect

/dev/sdb8            1483        1732     2008093+  fd  Linux raid autodetect

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.

Syncing disks.

[root@localhost ~]# partprobe /dev/sdb

[root@localhost ~]# cat/proc/partitions

major minor  #blocks  name

8    16   16777216 sdb

8    17    1959898 sdb1

8    18    1959930 sdb2

8    19    1959930 sdb3

8    20          0 sdb4

8    21    2008093 sdb5

8    22    2008093 sdb6

8    23    2008093 sdb7

8    24    2008093 sdb8

[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 3 /dev/sdb{5,6,7}

mdadm: /dev/sdb5 appears to contain an ext2fs file system

size=3919616K  mtime=Tue Apr 19 15:45:33 2016

Continue creating array? (y/n) y              ***确认创建在用条带(-l 0)分区md0

mdadm: array /dev/md0 started.

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] [raid0]

md0 : activeraid0 sdb7[2] sdb6[1] sdb5[0]

6024000 blocks 64k chunks

unused devices:

[root@localhost ~]# mke2fs -j /dev/md0

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

753664 inodes, 1506000 blocks

75300 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=1543503872

46 block groups

32768 blocks per group, 32768 fragments per group

16384 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@localhost ~]#fdisk  -l

Disk /dev/md0: 6168 MB, 6168576000 bytes

2 heads, 4 sectors/track, 1506000 cylinders

Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table

[root@localhost ~]#mount  /dev/md0   /mnt/

[root@localhost ~]#ls   /mnt/

lost+found

实例2.删除在用分区

[root@localhost ~]# umount/mnt/

[root@localhost ~]# mdadm -S /dev/md0

mdadm: stopped /dev/md0

[root@localhost ~]#rm /dev/md0

rm: remove block special file `/dev/md0'?y

实例3.确认创建RAID5(-l 5)分区md0

[root@localhost ~]# mdadm -C /dev/md0 -a yes-l 5 -n 3 /dev/sdb{5,6,7}

mdadm: /dev/sdb5 appears to contain an ext2fs file system

size=6024000K  mtime=Wed Nov  2 13:58:51 2016

mdadm: /dev/sdb5 appears to be part of a raid array:

level=raid0 devices=3 ctime=Wed Nov  2 13:38:28 2016

mdadm: /dev/sdb6 appears to be part of a raid array:

level=raid0 devices=3 ctime=Wed Nov  2 13:38:28 2016

mdadm: /dev/sdb7 appears to be part of a raid array:

level=raid0 devices=3 ctime=Wed Nov  2 13:38:28 2016

Continue creating array? y

mdadm: array /dev/md0 started.

[root@localhost ~]# cat /proc/mdstat          ***建立RAID建立中

Personalities : [raid6] [raid5] [raid4] [raid0]

md0 : active raid5 sdb7[3] sdb6[1] sdb5[0]

4016000 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]

[==>..................]  recovery = 10.8% (217256/2008000) finish=0.8min speed=36209K/sec

[root@localhost ~]# cat /proc/mdstat               ***建立RAID完成后

Personalities : [raid6] [raid5] [raid4] [raid0]

md0 : active raid5 sdb7[2] sdb6[1] sdb5[0]

4016000 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

实例4.查看/dev/md0的RAID信息

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

/dev/md0:

Version : 0.90

Creation Time : Wed Nov  2 14:10:43 2016

Raid Level :raid5

Array Size : 4016000 (3.83 GiB 4.11 GB)

Used Dev Size : 2008000 (1961.27 MiB 2056.19 MB)

Raid Devices : 3

Total Devices : 3

Preferred Minor : 0

Persistence : Superblock is persistent

Update Time : Wed Nov  2 14:11:46 2016

State : clean

Active Devices : 3

Working Devices : 3

Failed Devices : 0

Spare Devices : 0

Layout : left-symmetric

Chunk Size : 64K

UUID : 4c9da4ca:a6715458:70702cb1:47eb89e2

Events : 0.2

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

1       8       22        1      active sync   /dev/sdb6

2       8       23        2      active sync   /dev/sdb7

实例5.在RAID5中加一个热备盘

[root@localhost ~]#mdadm /dev/md0 -a /dev/sdb8

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

Raid Level : raid5

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

1       8       22        1      active sync   /dev/sdb6

2       8       23        2      active sync   /dev/sdb7

3       8       24        -      spare   /dev/sdb8

实例6.RAID5中模拟损坏/dev/sdb6盘

[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb6

mdadm: set /dev/sdb6 faulty in /dev/md0

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

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

3       8       24        1    sparerebuilding   /dev/sdb8

2       8       23        2      active sync   /dev/sdb7

4       8       22        -      faulty spare   /dev/sdb6

[root@localhost ~]# mdadm /dev/md0 -r /dev/sdb6    (--remove)

mdadm: hot removed /dev/sdb6

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

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

1       8       24        1      active sync   /dev/sdb8

2       8       23        2      active sync   /dev/sdb7

实例7.RAID5中直接建热备盘

[root@localhost ~]# mdadm -C /dev/md0 -a yes-l 5 -n 3 -x 1 /dev/sdb{5,6,7,8}

mdadm: /dev/sdb5 appears to contain an ext2fs file system

size=6024000K  mtime=Wed Nov  2 13:58:51 2016

mdadm: /dev/sdb5 appears to be part of a raid array:

level=raid5 devices=3 ctime=Wed Nov  2 14:10:43 2016

mdadm: /dev/sdb6 appears to be part of a raid array:

level=raid5 devices=3 ctime=Wed Nov  2 14:10:43 2016

mdadm: /dev/sdb7 appears to contain an ext2fs file system

size=6024000K  mtime=Wed Nov  2 13:58:51 2016

mdadm: /dev/sdb7 appears to be part of a raid array:

level=raid5 devices=3 ctime=Wed Nov  2 14:10:43 2016

mdadm: /dev/sdb8 appears to be part of a raid array:

level=raid5 devices=3 ctime=Wed Nov  2 14:10:43 2016

Continue creating array? y

mdadm: array /dev/md0 started.

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] [raid0]

md0 : active raid5 sdb7[4] sdb8[3](S) sdb6[1] sdb5[0]

4016000 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]

[>....................]  recovery =  4.7% (95608/2008000) finish=0.9min speed=31869K/sec

实例8.将当前RAID信息保存至配置文件以自动装配

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

[root@localhost ~]# cat /etc/mdadm.conf

ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 spares=1 UUID=d97ca386:1349206d:89aa5d1e:96d23bd4

实例9.指定条带大小,提升硬盘访问速度

[root@localhost ~]#cat /proc/mdstat       ***chunk64K /Block4K = stride16

Personalities : [raid6] [raid5] [raid4] [raid0]

md0 : active raid5 sdb7[2] sdb8[3](S) sdb6[1] sdb5[0]

4016000 blocks level 5,64kchunk, algorithm 2 [3/3] [UUU]

[root@localhost ~]# mke2fs-j -E stride=16 -b 4096 /dev/md0

---end---

linux mdadm 脚本,Linux命令:mdadm相关推荐

  1. linux时间同步命令shell,LINUX时间同步脚本或命令

    Linux系统和windows不同的地方,如果时间和网络时间差距太大的话.可能会导致程序,进程启动不了.下面是学习啦小编收集整理的LINUX时间同步脚本或命令,希望对大家有帮助~~ LINUX时间同步 ...

  2. Linux Shell脚本 Linux C程序 获取指定的范围内 or 系统可用端口

    Linux Shell脚本 && Linux C程序 获取指定的范围内 or 系统可用端口 一.源代码及其运行 1. Linux C程序getPort.c 源码 运行示例 2. 脚本文 ...

  3. linux mdadm 脚本,Linux下用mdadm实现软件RAID

    实现过程 -:配置RAID1 第一步:以root用户登录系统,对磁盘进行分区. #fdisk /dev/sdb 将设备/dev/sdb上的全部磁盘空间划分给一个主分区,建立/dev/sdb1分区,并修 ...

  4. linux mdadm 脚本,Linux下使用mdadm创建和管理软raid

    Linux下使用mdadm创建和管理软raid 注:本次操作以RHEL4为例,但应该可以应用到其它大部分的distro上(guess). mdadm的几个常用参数 -C 创建Raid,后面跟参数,代表 ...

  5. linux 骇客帝国脚本,Linux下,那些让人惊叹的命令执行效果

    Linux下,那些让人惊叹的命令执行效果 之前介绍过linux常用命令一文,接下来我们来一起学习一下linux里好玩的命令作者:luckyw2016-12-08 18:23 之前介绍过linux常用命 ...

  6. linux y脚本,Linux中脚本的使用方法

    Linux中脚本的使用方法 一.前言 关于Linux中的脚本的用法,一直没有时间去好好地总结,正好今天下雨,就好好的整理一下思路吧,其实精通了一门语言,比如C语言,学习其他语言需要的成本是非常少的,同 ...

  7. linux函数脚本,linux 函数_linux常用脚本和函数

    摘要 腾兴网为您分享:linux常用脚本和函数,自动刷宝,英语字典,携程,享家等软件知识,以及智慧人社app,安卓终端,vdhcoapp,matebook管家,钦州智慧党建,商户号系统,税务app,济 ...

  8. 使用bash编写Linux shell脚本--复合命令

    来源:http://blog.csdn.net/fox_lht/article/details/5897336 除了最简单的脚本,你很少想要执行每一个命令.执行一组命令或者重复执行一组命令若干次比执行 ...

  9. linux mq脚本,Linux自动化命令工具expect

    expect是Unix系统中用来进行自动化控制和测试的软件工具,应用在交互式软件中如telnet,ftp,Passwd,fsck,rlogin,tip,ssh等等. 用法 Linux中我们经常写脚本处 ...

最新文章

  1. 5G UE — UE 的位置信息
  2. 守护线程与非守护线程的区别
  3. python函数调用的例子_实例讲解Python中函数的调用与定义
  4. Google Guava 库用法整理
  5. java dumpheap_java程序性能分析之thread dump和heap dump
  6. 数字反转(洛谷-P1307)
  7. 【Spring笔记】依赖注入
  8. cakephp2.X教程第一部分(基于cakephp1.3.4在线教程的改编)
  9. char、int、long、float、double等在64位下占多少字节
  10. 你知道吗?世界上绝美神奇的25条路
  11. 开发idea插件教程
  12. 红米开发版刷机教程_红米手机稳定版刷机教程(Recovery卡刷)的具体操作方法
  13. JavaScript练习题
  14. R如何导入带有分隔符号的文件
  15. 数字孪生的思考 05 - VAM/XR
  16. 常用设计模式——装饰者模式
  17. 3D游戏设计——模型与动画
  18. 沈航计算机考研上岸,22考研:上岸学姐亲身经历偷偷告诉你,一战成硕究竟到努力到什么程度?...
  19. ChinaSkills-高职组网络系统管理大赛-WinSer 2019 互联网网卡检测服务笔记
  20. centos7免密登录

热门文章

  1. HTML5响应式网页设计——核心技能考核示例(用于2022年11月H5考核)
  2. datepick二格式 化时间_jQuery DatePicker dateFormat日期格式
  3. 教你手写DMA传输数据(看完这篇你就会手动写啦,保姆级讲解)---- 2020.3.31
  4. 高考失利后如何调整心态?
  5. java输入枚举型_Java 枚举型为什么是静态的,以及是怎么实现的?
  6. JAVA版本农牧场游戏源码果园种植+养殖游戏 可对接流量主
  7. 求解显示常微分方程MATLAB,用matlab求解常微分方程
  8. 脱壳中的附加数据问题(overlay)
  9. 利尔达5G终端MX880冲出重围,再获“绽放杯”5G通用产品全国二等奖
  10. PS与Ai的工具介绍和差异