Mdadm详解
mdadm详解

Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : b5e3276f:ab97e843:e601b1a4:46720384
磁盘利用数:n-1。
配置条件:最低三块硬盘,且分区大小尽量相同。
应用领域:适合于事务处理环境,例如民航售票处、销售系统等。
Part II. mdadm创建RAID5
RAID级别:5
设备列表:
Host:/dev/sda
RAID Devices:/dev/sdb /dev/sdc /dev/sdd
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=b5e3276f:ab97e843:e601b1a4:46720384
============================================================
# RAID setup
update_boot_stage RCraid
[ -x /sbin/nash ] && echo "raidautorun /dev/md0" | nash --quiet
if [ -f /etc/mdadm.conf ]; then
/sbin/mdadm -A -s
md0 : active raid5 sdd[2] sde[3](S) sdc[1] sdb[0]
mdadm 用法(一)

mdadm 用法(一)mdadm 的用法简介mdadm (Multiple Disk Administrator) 是一个用于管理软件RAID(Redundant Array of Independent Disks)的工具。
它可以帮助用户创建、管理和监控软件RAID系统,包括创建RAID设备、添加或移除磁盘、修复故障磁盘等。
安装在大多数Linux发行版中,mdadm都可以通过包管理器进行安装。
例如,在Ubuntu中可以使用以下命令进行安装:sudo apt-get install mdadm常用命令以下是一些常用的mdadm命令及其用法:•创建RAID设备mdadm --create /dev/md0 --level=1 --raid-devices=2/dev/sdb1 /dev/sdc1该命令将创建一个名为/md0的RAID 1设备,使用/dev/sdb1和/dev/sdc1作为成员设备。
•查看RAID设备信息mdadm --detail /dev/md0该命令将显示/md0设备的详细信息,包括成员设备、RAID级别、状态等。
•添加磁盘到RAID设备mdadm --add /dev/md0 /dev/sdd1该命令将将/dev/sdd1添加到/md0设备中。
•移除磁盘从RAID设备mdadm --remove /dev/md0 /dev/sdd1该命令将从/md0设备中移除/dev/sdd1。
•查看RAID设备状态cat /proc/mdstat该命令将显示当前系统中所有RAID设备的状态。
•监测RAID设备mdadm --monitor --daemonize --scan该命令将启动mdadm监控程序,以监测并修复RAID设备中的故障。
•修复RAID设备mdadm --manage /dev/md0 --add /dev/sdd1该命令将修复/md0设备中的故障,通过将/dev/sdd1重新添加到设备中。
Mdadm命令详解

Mdadm命令详解Linux内核中有⼀个md(multiple devices)模块在底层管理RAID设备,它会在应⽤层给我们提供⼀个应⽤程序的⼯具mdadm ,mdadm是linux 下⽤于创建和管理软件RAID的命令。
mdadm命令常见参数解释:参数作⽤检测设备名称-a添加磁盘-n指定设备数量-l指定RAID级别-C创建-v显⽰过程-f模拟设备损坏-r移除设备-Q查看摘要信息-D查看详细信息-S停⽌RAID磁盘阵列搭建raid10阵列第⼀步:新添加4块硬盘——在centos关机的情况下添加4块新的硬盘。
# ls /dev/sd*第⼆步:下载mdadm # yum install mdadm -y第三步:创建RAID10阵列 # mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sd{b,c,d,e} ——这⾥的选项是多个,对照上表查看。
磁盘阵列名需要以md开头,这⾥创建的是md10。
第四步:查看阵列信息 # mdadm -D /dev/md10第五步:格式化 # mkfs.xfs /dev/md10第六步:挂载使⽤ # mount /dev/md10 /ken第七步:写⼊到⽂件 ⽅法⼀、 # echo “mount /dev/md10 /ken” >> /etc/rc.local ⽅法⼆、 # echo “/dev/md10 /ken xfs defaults 0 0 ” >> /etc/fstabmdadm管理RAID10阵列–模拟磁盘损坏后的处理⽅式第⼀步:模拟损坏磁盘 # mdadm /dev/md10 -f /dev/sdd ——选项f是⽤于模拟磁盘损坏。
# mdadm -D /dev/md10 ——查看详细信息,这时候已经显⽰磁盘损坏了。
第⼆步:重启第三步:添加磁盘 # mdadm /dev/md10 -a /dev/sdd ——选项a是⽤于添加磁盘。
Linux命令高级技巧使用mdadm管理软件RAID

Linux命令高级技巧使用mdadm管理软件RAIDRAID(冗余磁盘阵列)是一种数据存储技术,通过将多个磁盘组合在一起,提供数据冗余和性能增强。
在Linux系统中,我们可以使用mdadm(多磁盘和设备管理器)命令来管理软件RAID。
本文将介绍一些高级技巧,帮助您更好地使用mdadm来管理软件RAID。
1. 安装mdadm在开始之前,您需要确保系统中已经安装了mdadm。
如果尚未安装,可以使用以下命令进行安装:```sudo apt-get install mdadm```2. 创建软件RAID使用mdadm命令可以创建各种类型的软件RAID,包括RAID 0、RAID 1、RAID 5和RAID 6等。
以下是创建RAID 1(镜像)的示例:```sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1/dev/sdc1```上述命令将创建一个名为/md0的RAID设备,使用/dev/sdb1和/dev/sdc1两个磁盘进行镜像。
3. 添加和移除磁盘在创建RAID后,您可以随时添加或移除磁盘。
以下是添加磁盘的示例:```sudo mdadm --add /dev/md0 /dev/sdd1```上述命令将磁盘/dev/sdd1添加到RAID设备/md0中。
如果需要移除磁盘,可以使用以下命令:```sudo mdadm --fail /dev/md0 /dev/sdd1sudo mdadm --remove /dev/md0 /dev/sdd1```第一条命令将磁盘标记为失败状态,第二条命令将其从RAID设备中移除。
4. 磁盘替换当一个磁盘故障时,您需要将其替换为新的磁盘。
以下是磁盘替换的示例:sudo mdadm --remove /dev/md0 /dev/sdd1sudo mdadm --add /dev/md0 /dev/sde1```上述命令将故障的磁盘/dev/sdd1从RAID设备/md0中移除,并将新磁盘/dev/sde1添加到RAID设备中。
8.1、mdadm配置RAID使

mdadm配置raid5磁盘
1、用fdisk命令给新增加的三块硬盘分三个大小相等分区(/dev/sdb1、
/dev/sdc1、/dev/sdd1)。
#fdisk –l 三个分区信息如下:
2、创建RAID 5,命令用法如下:
mdadm -C raid设备名-lraid级别-nraid磁盘数磁盘分区1 磁盘分区2 磁盘分区3
3、查看阵列状态
4、格式化RAID5分区
5、创建挂载点和挂载RAID5分区
6、自动启动RAID和永久挂载RAID5分区
mdadm不采用/etc/mdadm.conf作为主要配置文件,它可以完全不依赖该文件而不会影响阵列的正常工作。
该配置文件的主要作用是方便跟踪软RAID的配置,重启电脑RAID不会自动启动。
<1>、重启系统也会自动启动RAID
<2>、修改/etc/fstab文件自动挂载
附加测试RAID5容错性:
1、在RAID5分区写入文件
2、标记损坏设备
#mdadm raid设备-f 损坏设备
3、查看已有一块硬盘损坏的RAID5分状态
4、raid设备的修复,添加新设备到阵列中并查看状态
#fdisk /dev/sde
#mdadm /dev/md0 -a /dev/sde1
5、移出损坏的设备并查看
#mdadm /dev/md0 –r /dev/sdb1。
mdadm命令详解

mdadm命令详解创建阵列(-C或--create)--raid-devices(-n)功能:指定阵列中成员盘个数。
举例:mdadm --create /dev/md0 -l5 -n2 /dev/sdb /dev/sdc -x1 /dev/sdd备注:当创建linear, multipath, raid0和raid1时,允许指定成员盘个数为1,但要使⽤--force参数。
raid4与raid5不允许指定成员盘个数为1。
成员盘个数可以通过--grow参数来修改,只有RAID1、RAID5 和RAID6阵列⽀持。
--spare-devices (-x)功能:指定阵列中热备盘个数。
举例:mdadm --create /dev/md0 -l5 -n2 /dev/sdb /dev/sdc -x1 /dev/sdd备注:⽆--size (-z)功能:创建阵列时,指定每个成员盘使⽤多⼤的空间。
单位KB。
举例:mdadm --create /dev/md0 -l5 -n3 /dev/sd[b-d] -z 4194304备注:当创建RAID1/4/5/6时,可以指定每个成员盘使⽤多⼤的空间。
同时磁盘最后要留下128Kb⼤⼩空间,⽤于存放RAID的superblock。
如果没有指定该参数,mdadm将使⽤最⼩成员盘的⼤⼩指定该值。
如果某个成员盘的⼤⼩⼤于最⼩成员盘1%,将会有警告信息,提⽰有部分空间没有被使⽤。
创建阵列时,如果RAID中所有成员盘使⽤了的空间都⼩于其本⾝的⼤⼩,那么它们剩余的空间可以通过--grow来扩容。
--size=max,mdadm将⾃动选择⼀个适合的最⼤值,来创建阵列。
--chunk (-c)功能:指定条带⼤⼩。
单位KB,默认值64KB。
举例:mdadm --create /dev/md0 -l5 -n2 /dev/sdb /dev/sdc -x1 /dev/sdd -c 128备注:测试过指定4、8、16、32、64、128、256、1024、2048、4096、8192、16384、32768、65536、131072。
mdadm操作详解

1.查看RAID的信息mdadm --detail /dev/md0这里包含RAID的详细信息2.删除和恢复某个RAID磁盘(假设使用hda1)先删除某个磁盘:mdadm /dev/md0 -f /dev/hda1-----标记错误磁盘mdadm /dev/md0 -r /dev/hda1-----去除错误磁盘恢复之前删除的磁盘mdadm /dev/md0 -a /dev/hda1此时查看RAID信息可以看到/dev/hda1自动成为了热备盘3.扩展已有的RAID这里先创建要添加的RAID分区:/dev/hdd1添加磁盘mdadm --add /dev/md0 /dev/hdd1此时md0中增加了一个spare磁盘,接下来就是扩展了mdadm --grow /dev/md0 --raid-devices=4这里在grow模式下增加了设备,也可以增加设备容量fsck.ext3 /raid校验文件系统,为扩展作准备resize2fs /raid扩展文件系统,更新系统信息4.创建RAID控制文件echo DEVICE /dev/hd[a-d]1 >> /etc/mdadm.conf mdadm -Ds >> /etc/mdadm.conf此时可以看到配置文件如下:DEVICE /dev/hda1 /dev/hdb1 /dev/hdc1 /dev/hdd1 ARRAY /dev/md0 level=raid5 num-devices=4UUID = 9ca85577:25660a81:67152b19:3235d3s65.控制RAID起停mdadm -S /dev/md0-----停止raid怎么启动RAID呢?如果已经配置了RAID控制文件,则mdadm -As /dev/md0根据配置文件的描述,RAID自动启动如果没有配置文件mdadm -As /dev/md0 /dev/hd[a-d]1此时给出RAID的构成盘,RAID启动成功linux做实验时创建了软raid. 后来重新创建raid时提示如下[root@client ~]# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb5 /dev/sdb6 mdadm: another array by this name is already running.[root@client ~]# mdadm -S /dev/md0mdadm: stopped /dev/md0[root@client ~]# mdadm -D /dev/md0mdadm: md device /dev/md0 does not appear to be active.然后就可以创建raid了.mdadm-S, --stopdeactivate array, releasing all resources.有些情况还是不行mdadm -S /dev/md0mdadm -D /dev/md0需要重启后生效.。
RAID创建-mdadm命令

RAID创建-mdadm命令一mdadm命令的作用和格式mdadm命令主要用来创建、管理、监控RAID设备。
mdadm是Linux下的一款标准的软件RAID 管理工具二、mdadm命令的格式mdadm其基本格式为mdadm [模式选项] [设备名] [子选项…] [组件设备名…]选项参数很多,常用参数有-C –l -n -x,-C代表创建RAID阵列-l代表创建的级别-n代表活动分区,就是RAID级别需要的分区数量-x表示热备份分区三、RAID 5创建流程(一)RAID 5创建。
添加硬盘这里我们介绍RAID 5创建的流程。
首先,我们在Vmware workstation虚拟机下,在Linux系统里添加4块5G 大小的硬盘。
(二)检查添加硬盘信息从虚拟机添加完硬盘后,我们需要在系里下检查硬盘信息。
其命令为fdisk –l。
从运行结果结果看,这里增加了sdb,sdc,sdd,sde四块硬盘(三)确认连接了四个5GB 的硬盘mdadm --examine /dev/sd[b-c]在创建RAID 5 前,请务必确认四个硬盘能被检测到,使用下面的命令确认。
mdadm --examine /dev/sd[b-c]结果显示,确认连接了四个5G的硬盘。
(四)为磁盘创建RAID 分区接下来,为磁盘创建RAID分区。
利用fdisk命令,把sdb,sdc,sdd,sde四个分区创建起来,格式设置为RAID。
(五)开始创建RAID5。
mdadm --create /dev/md1 --level=5 --raid-devices=3 --spare-device=1/dev/sd[b-e]开始创建RAID其命令为mdadm --create /dev/md1 --level=5 --raid-devices=3--spare-device=1 /dev/sd[b-e]Create /dev/md1表示创建RAID的位置,level5表示RAID的级别是5,raid-devices表示选择3块磁盘做RAID。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mdadm详解
1.1 mdadm定义
mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件RAID 管理工具,作者是Neil Brown。
众所周知,raidtools是Linux下一款经典的用于管理软件RAID 的工具,但是因为配置/etc/raidtab比较繁琐,而且其功能有限,所以现在越来越多的人选择mdadm。
和raidtools 相比,mdadm是一个单独集成化的程序而不是一些分散程序的集合,因此对不同RAID管理命令有共通的语法,不仅能够诊断、监控和收集详细的阵列信息,而且能够执行几乎所有的功能而不需要配置文件(也没有默认的配置文件)。
当然,如果需要一个配置文件,mdadm将帮助管理它的内容。
1.2 mdadm用法
基本语法:mdadm [mode] <raid-device> [options] <component-devices>
目前支持:LINEAR, RAID0(striping), RAID1(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH和FAULTY
1.3 mdadm的工作模式:
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
1.4 mdadm创建RAID 5
使用mdadm创建在/dev/md0上创建一个由sdb、sdc、sdd3块盘组成(另外1块盘sde为热备盘)的RAID5:
# mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde --spare-devices=1 /dev/sdf
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 8388544K
mdadm: array /dev/md0 started
每个mdadm的选项都有一个缩写的形式,例如,上面我们创建RAID 5的命令可以使用下列的缩写形式
# mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde
接下来我们使用cat /proc/mdstat命令来查看一下RAID的状态,我们也可以利用watch命令来每隔一段时间刷新/proc/mdstat的输出。
使用CTRL+C可以取消。
[root@localhost mdadm-2.6.2]# watch -n 0.5 'cat /proc/mdstat'
cat /proc/mdstat
1.5 创建文件系统:
# mkfs.ext3 /dev/md0
挂载 mount /dev/md0 /mnt/md0
起动自动运行文件/etc/fstab,使用mdadm --detail /dev/md0(或mdadm -D /dev/md0)命令以及cat /proc/mdstat命令可以查看RAID设备的状态
# mdadm -D /dev/md0 (或mdadm --detail /dev/md0)
/dev/md0:
自动创建/etc/mdadm.conf文件。
没有该文件在激活阵列时我们就得指定更详细的信息,为方便,我们使用下列命令:
# mdadm --detail --scan
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=4b15050e:7d0c477d:98ed7d00:0f3c29e4
# mdadm --detail --scan >> /etc/mdadm.conf
# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=4b15050e:7d0c477d:98ed7d00:0f3c29e4
1.6 启动停止RAID
使用--stop或-S命令选项可以停止运行的阵列(注意:停止前必须先umount):
# umount /mnt/md0
# mdadm -S /dev/md0 (或mdadm --stop /dev/md0) mdadm: stopped /dev/md0
重新启动可以使用:
# mdadm -As /dev/md0。