Mdadm详解

合集下载

mdadm详解

mdadm详解
Working Devices : 4
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 的用法简介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命令详解

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管理软件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使

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命令详解

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操作详解

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命令

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。

mdadm笔记

mdadm笔记

Mdadm命令笔记mdadm全名叫做多磁盘管理器,用来在linux做软RAID。

mdadm可以将任意的块设备来做成raid.选项:创建RAID-C: 创建软RAID-l: 指定raid级别,比如0 1 5-n:指定非空闲磁盘的个数(即不包括热备盘)-a:是否自动为其创建设备文件,有yes/no两个参数-c:指定chunk条带大小,默认为64KB-x:指定空闲磁盘的个数,热备盘管理:--add --fail --remove ,指在raid中添加磁盘、将磁盘下线,删除磁盘装配:-A例:创建一个2G的RAID1,使用两个2G的分区一、创建磁盘分区fdisk /dev/sdbn+2Gtfd (指linux raid autodetect)创建好以后partprobecat /proc/partitions二、创建raid 0mdadm -C /dev/md0 -a yes -l 1 -n /dev/sdb5 /dev/sdb6 cat /proc/mdstat三、格式化和挂载mke2fs -j /dev/md0mount /dev/md0 /testls /test 如果看到lost+found,则表示已经挂载查看raid的详细信息mdadm -D /dev/md0模拟RIAD损坏mdadm /dev/md0 --fail /dev/sdb7 (将raid中的这块磁盘置为fail状态)再查看raid的详细信息(会显示有磁盘fail)mdadm -D /dev/md0将fail的磁盘删除mdadm /dev/md0 --remove /dev/sdb7在raid中添加一块磁盘(已经移除了,少了一块盘)mdadm /dev/md0 --add /dev/sdb9再查看详细信息mdadm -D /dev/md0cat /proc/mdstat停止阵列:mdadm -S (大写) /dev/md0cat /proc/mdstatrm /dev/md0装配RAIDmdadm -A /dev/md1 /dev/sdb7 /dev/sdb9添加热备盘(在正常的raid中添加一个空闲磁盘)mdadm /dev/md0 -a /dev/sdb8确认同步以后,将/dev/sdb7下线自动装配mdadm -D --scanmdadm -D --scan > /etc/mdadm.confmdadm -A /dev/md1作业:使用4个1G的分区,创建一个raid5,带有一个热备盘,条带大小为128KB在本例中,使用fdisk对/dev/sdb创建了几个1G分区,我们使用6-9来创建一个带热备的raid5. 在创建好分区以后,注意要使用t命令更改磁盘分区类型为fdCommand (m for help): PDisk /dev/sdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x4ebf972fDevice Boot Start End Blocks Id System/dev/sdb1 1 2610 20964793+ 5 Extended/dev/sdb5 1 132 1060227 fd Linux raid autodetect/dev/sdb6 133 264 1060258+ fd Linux raid autodetect/dev/sdb7 265 396 1060258+ fd Linux raid autodetect/dev/sdb8 397 528 1060258+ fd Linux raid autodetect/dev/sdb9 529 660 1060258+ fd Linux raid autodetect[root@centos6 ~]# mdadm -C /dev/md0 -l 5 -n 3 /dev/sdb{6,7,8} -a yes -c 128 -x 1 /dev/sdb9mdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md0 started.注意:在执行这一步时,需要使用mount来查看/dev/sdb*没有被进行挂载,如有则umount,另外将/etc/fstab里关于/dev/sdb*的开机自动挂载项进行删除。

Linux软Raid--mdadm命令

Linux软Raid--mdadm命令

Linux软Raid--mdadm命令mdadm:为软RAID提供管理界⾯,RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等命令的语法格式:mdadm[mode] <raiddevice> [options] <component-devices>⽀持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10mdadm选项:-C: 创建模式-n #: 使⽤#个块设备来创建此RAID-l #:指明要创建的RAID的级别-a {yes|no}:⾃动创建⽬标RAID设备的设备⽂件-c CHUNK_SIZE: 指明块⼤⼩,单位k-x #: 指明空闲盘的个数-D:显⽰raid的详细信息mdadm-D /dev/md#管理模式:-f: 标记指定磁盘为损坏-a: 添加磁盘-r: 移除磁盘观察md的状态:cat /proc/mdstat使⽤mdadm创建并定义RAID设备# mdadm-C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1⽤⽂件系统对每个RAID设备进⾏格式化# mkfs.xfs/dev/md0 使⽤mdadm检查RAID设备的状况# mdadm-D/dev/md0增加新的成员# mdadm–G /dev/md0 –n4 -a /dev/sdf1⽣成配置⽂件:mdadm–D –s >> /etc/mdadm.conf停⽌设备:mdadm–S /dev/md0激活设备:mdadm–A –s /dev/md0 激活强制启动:mdadm–R /dev/md0删除raid信息:mdadm--zero-superblock /dev/sdb1举例:创建⼀个可⽤空间为1G的RAID1设备,⽂件系统为ext4,有⼀个空闲盘,开机可⾃动挂载⾄/backup⽬录因raid1需要2个块设备,空闲盘也需要1个块设备,共需要3个块设备1、在3个硬盘创建3个1G的分区,并修改分区格式为fd Linux raid auto# fdisk /dev/sda# fdisk /dev/sdb# fdisk /dev/sdc...分区步骤省略...2、创建raid1# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sd{a,b,c}13、创建⽂件系统# mkfs.xfs /dev/md04、查看/dev/md0的UUID# blkid | grep md0/dev/md0: UUID="228bb98d-a14c-4746-b48c-75c1595e9637" TYPE="xfs"5、将md0挂载在/backup⽬录,并开机⾃动挂载,修改/etc/fstab⽂件# vim /etc/fstabUUID=228bb98d-a14c-4746-b48c-75c1595e9637 /backup xfs defaults 006、重启设备测试挂载。

mdadm命令详解及实验过程

mdadm命令详解及实验过程

mdadm命令详解及实验过程mdadm命令详解及实验过程一.概念mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件RAID 管理工具,作者是Neil Brown 二.特点mdadm能够诊断、监控和收集详细的阵列信息mdadm是一个单独集成化的程序而不是一些分散程序的集合,所以对不同RAID管理命令有共通的语法mdadm能够执行几乎所有的功能而不需要配置文件(也没有默认的配置文件)三.作用(引用)据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上.当前MD支持linear,multipath,raid0(stripping),raid1(mirror),raid4,raid5,raid6,ra id10等不同的冗余级别和级成方式,当然也能支持多个RAID陈列的层叠组成raid1 0,raid5 1等类型的陈列四.实验试题:建立4个大小为1G的磁盘,并将其中3个创建为raid5的阵列磁盘,1个为热备份磁盘。

测试热备份磁盘替换阵列中的磁盘并同步数据。

移除损坏的磁盘,添加一个新磁盘作为热备份磁盘。

最后要求开机自动挂载。

4.1创建磁盘[root@xiao ~]# fdisk /dev/sdaWARNING:DOS-compatible mode is deprecated. It's strongly recommended toswitch off the mode (command 'c') and change display units tosectors (command 'u').Command (m for help):nFirst cylinder (10486-13054, default 10486):Using default value 10486Last cylinder, +cylinders or +size{K,M,G} (10486-13054, default 13054):+1G Command (m for help):nFirst cylinder (10618-13054, default 10618):Using default value 10618Last cylinder, +cylinders or +size{K,M,G} (10618-13054, default 13054):+1G Command (m for help):nFirst cylinder (10750-13054, default 10750):Using default value 10750Last cylinder, +cylinders or +size{K,M,G} (10750-13054, default 13054):+1GCommand (m for help):nFirst cylinder (10882-13054, default 10882):Using default value 10882Last cylinder, +cylinders or +size{K,M,G} (10882-13054, default 13054):+1G Command (m for help):tPartition number (1-8):8Hex code (type L to list codes):fdChanged system type of partition 8 to fd (Linux raid autodetect) Command (m for help):tPartition number (1-8):7Hex code (type L to list codes):fdChanged system type of partition 7 to fd (Linux raid autodetect)Command (m for help):tPartition number (1-8):6Hex code (type L to list codes):fdChanged system type of partition 6 to fd (Linux raidautodetect) Command (m for help):tPartition number (1-8):5Hex code (type L to list codes):fdChanged system type of partition 5 to fd (Linux raid autodetect) Command (m for help):pDisk /dev/sda:107.4 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical):512 bytes / 512 bytesI/O size (minimum/optimal):512 bytes / 512 bytesDisk identifier:0x0008ed57Device Boot Start End Blocks Id System/dev/sda1 * 1 26 204800 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 26 10225 81920000 83 Linux/dev/sda3 10225 10486 2097152 82 Linux swap / Solaris /dev/sda4 10486 13054 20633279 5 Extended/dev/sda5 10486 10617 1058045 fd Linux raid autodetect /dev/sda6 10618 10749 1060258+ fd Linux raid autodetect /dev/sda7 10750 10881 1060258+ fd Linux raid autodetect /dev/sda8 10882 11013 1060258+ fd Linux raid autodetect Command (m for help):wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING:Re-reading the partition table failed with error 16:设备或资源忙. The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.4.2加载内核[root@xiao ~]# partx -a /dev/sda5 /dev/sda[root@xiao ~]# partx -a /dev/sda6 /dev/sda[root@xiao ~]# partx -a /dev/sda7 /dev/sda[root@xiao ~]# partx -a /dev/sda8 /dev/sda4.3创建raid5及其热备份盘[root@xiao ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sda{5,6,7,8} mdadm:/dev/sda5 appears to be part of a raid array:level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2019 mdadm:/dev/sda6 appears to be part of a raid array:level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2019 mdadm:/dev/sda7 appears to be part of a raid array:level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2019 mdadm:/dev/sda8 appears to be part of a raid array:level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2019 Continue creating array? ymdadm:Defaulting to version 1.2 metadatamdadm:array /dev/md0 started.4.4初始化时间和磁盘阵列的读写的应用相关,使用cat /proc/mdstat信息查询RAID阵列当前重构的速度和预期的完成时间。

mdadm用法

mdadm用法

mdadm用法RAID是Redundant Array of Independent Disks(独立磁盘冗余阵列)的缩写,由多块磁盘组成一个安全性很高的逻辑磁盘阵列,使用它可以在一定程度上达到数据的容错功能,从而提高存储设备的稳定性和安全性。

可以将RAID分为冗余级别和无冗余级别,按照合并类型可以分为0, 1, 5, 6, 10、50、60 和JBOD等几种级别的RAID技术。

而 mdadm 是 Linux 平台上用于管理 RAID 的工具,它可以用来建立,监控,管理 RAID 装置。

1) mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sda1 用于创建 raid1 阵列,其中 -C 指定创建 RAID,-l 指定级别,-n指定磁盘数量,/dev/md0 是RAID设备,/dev/sdb1 /dev/sda1 是磁盘路径。

2) mdadm -A /dev/md0 /dev/sda1 /dev/sdc1 用于将一些磁盘加入现有的 RAID 装置中,其中 -A 指定加入,/dev/md0 是RAID设备,/dev/sda1 和 /dev/sdc1 是磁盘路径。

3) mdadm -S /dev/md0 用于停止 RAID装置,其中 -S 指定停止,/dev/md0 是RAID设备。

4) mdadm -D /dev/md0 用于查看 RAID 装置的详细信息,其中 -D 指定查看详细信息,/dev/md0 是RAID设备。

5) mdadm -f /dev/sdc1 用于将一些磁盘从 RAID 装置中移除,其中 -f 指定移除,/dev/sdc1 是磁盘路径。

6) mdadm -F /dev/md0 用于将一些 RAID 装置从系统中移除,其中 -F 指定移除,/dev/md0 是RAID设备。

mdadm 记录raid信息 原理

mdadm 记录raid信息 原理

mdadm 记录raid信息原理全文共四篇示例,供读者参考第一篇示例:RAID(冗余磁盘阵列)是一种通过将多个磁盘组合成一个单一逻辑单元来提高数据读写性能和数据冗余性的技术。

在Linux系统中,mdadm是一个用于管理软件RAID的工具,它允许用户创建、管理和监控RAID设备。

mdadm工具通过在Linux系统中操作的方法来构建和管理软RAID设备,其实现方式是通过在多个物理磁盘上创建一个逻辑磁盘。

这样可以提高数据的读写速度,提高数据的安全性。

mdadm工具通常用于为服务器提供数据保护和高可用性的解决方案。

在Linux系统中,mdadm工具提供了几种常见的RAID级别,包括RAID 0(条带化)、RAID 1(镜像)、RAID 5(条带化带奇偶校验)、RAID 6(条带化带双重奇偶校验)等。

用户可以根据自己的需求选择合适的RAID级别来创建RAID设备。

mdadm工具还提供了一种叫做RAID监控的功能,用户可以通过设置定时任务或者事件触发来监控RAID设备的状态。

如果RAID设备出现故障或者错误,mdadm工具会发送警报通知用户,用户可以及时采取行动来修复问题。

在使用mdadm工具创建RAID设备时,需要先安装mdadm软件包,并且了解一些基本的RAID原理。

在创建RAID设备之前,需要对物理磁盘进行分区和格式化,然后使用mdadm工具将这些磁盘组合成一个RAID设备。

一旦创建了RAID设备,用户可以通过mdadm工具查看RAID设备的状态、监控RAID设备的健康性,并且可以对RAID设备进行调整和维护。

例如,可以添加或删除磁盘、重建RAID设备、修改RAID级别等。

总的来说,mdadm工具是一个非常强大和灵活的RAID管理工具,可以帮助用户轻松地创建、管理和监控RAID设备,保护数据安全,并提高系统的可靠性和性能。

如果您是一个Linux系统管理员或者服务器管理员,那么学习如何使用mdadm工具来创建和管理RAID设备是非常有必要的。

Linux命令高级技巧使用mdadm配置软件RAID

Linux命令高级技巧使用mdadm配置软件RAID

Linux命令高级技巧使用mdadm配置软件RAIDRAID(冗余磁盘阵列)是一种通过将多个硬盘组合在一起,增加数据冗余度和性能的技术。

而mdadm是Linux系统中用于配置和管理软件RAID的工具。

本文将介绍使用mdadm进行高级配置和操作的技巧。

一、RAID级别的选择在配置软件RAID之前,首先需要选择合适的RAID级别。

常用的RAID级别包括RAID 0、RAID 1、RAID 5和RAID 10。

1. RAID 0RAID 0采用条带化的方式将数据分散存储在多个硬盘上,提高读写性能,但没有冗余功能。

适用于对性能要求较高,对数据冗余性要求较低的场景。

2. RAID 1RAID 1采用镜像的方式将数据同时存储在多个硬盘上,提高数据冗余性和读性能,但写性能较低。

适用于对数据冗余性要求较高的场景。

3. RAID 5RAID 5通过将数据和校验信息分散存储在多个硬盘上,提高了数据冗余性和读写性能。

适用于对数据冗余性要求较高且读写性能需求平衡的场景。

4. RAID 10RAID 10是RAID 0和RAID 1的组合,将数据条带化存储在多个镜像组中,提供了较高的读写性能和数据冗余性。

适用于对性能和数据冗余性都有较高要求的场景。

二、mdadm的安装和基本命令1. 安装mdadm在大多数Linux发行版中,mdadm都是默认安装的。

如果没有安装可以通过包管理器进行安装,比如Debian/Ubuntu可以使用以下命令进行安装:```sudo apt-get install mdadm```2. 查看RAID设备和状态使用以下命令可以查看系统中的RAID设备和它们的状态:```sudo mdadm --detail --scan```3. 创建RAID设备使用mdadm创建RAID设备需要指定RAID级别、设备名称和要使用的硬盘。

例如,创建一个RAID级别为RAID 1的设备,使用/dev/sdb和/dev/sdc两个硬盘:```sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb/dev/sdc```4. 添加硬盘到RAID设备使用mdadm可以随时向RAID设备中添加硬盘,增加存储容量或提高性能。

Raid磁盘阵列及mdadm命令

Raid磁盘阵列及mdadm命令

Raid磁盘阵列及mdadm命令常见磁盘:IDE(ATA):133Mbps 并⾏SCSI: Small Computer System Interface 320Mbps 并⾏总线USB 3.0:480Mbps 串⾏SATA:300Mbps,600Mbps,6Gbps 串⾏SAS:独⽴硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称硬盘阵列。

其基本思想就是把多个相对便宜的硬盘组合起来,成为⼀个硬盘阵列组,使性能达到甚⾄超过⼀个价格昂贵、容量巨⼤的硬盘。

其遵循的基本原则为:只要能识别,都可以组合IDEUSBSCSI:8,7target;16,15target ⼀个被适配器(initiator)占⽤现在⽤的较多:SAS SATA⼀、级别:仅代表磁盘组织⽅式不同,没有上下之分0:条带性能提升:读写冗余能⼒(容错能⼒):⽆空间利⽤率:ns⾄少两个盘1:镜像性能表现:写性能下降,读性能提升冗余能⼒:有⾄少两个盘5:校验性能表现:读写提升冗余能⼒:有空间利⽤率:(n-1)/n⾄少需要三块空间利⽤率:1/2⾄少4块01:先两两做成镜像做成条带,再备份做成镜像性能表现:读写提升冗余能⼒:有空间利⽤率:1/2⾄少4块50:镜像校验盘,再全部做成条带性能表现:读写提升冗余能⼒:有空间利⽤率:(n-2)/n⾄少需要6块jbod:硬盘简单堆加性能表现:⽆冗余能⼒:⽆空间利⽤率:100%⾄少需要2块⼆、硬件和软件磁盘阵列软件磁盘阵列(Software RAID)主要由电脑主板CPU处理数组存储作业,缺点为耗损较多CPU资源运算RAID,优点则是价格偏低。

分类有⼆种:纯软件磁盘阵列(Pure Software RAID):只需要主板⽀持即可,不需要任何磁盘阵列卡。

若主板损坏,可能难以购买同款主板重建RAID。

mdadm命令参数详解

mdadm命令参数详解

mdadm命令参数详解mdadm是linux下⽤于管理软件 raid 的⼯具以下内容来⾃ manpage 页:基本语法: mdadm [mode] [options][mode] 有7种:Assemble:将以前定义的某个阵列加⼊当前在⽤阵列。

Build:Build a legacy array ,每个device 没有 superblocksCreate:创建⼀个新的阵列,每个device 具有 superblocksManage:管理阵列,⽐如 add 或 removeMisc:允许单独对阵列中的某个 device 做操作,⽐如抹去superblocks 或终⽌在⽤的阵列。

Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态Grow:改变raid 容量或阵列中的 device 数⽬可⽤的 [options]:-A, --assemble:加⼊⼀个以前定义的阵列-B, --build:Build a legacy array without superblocks.-C, --create:创建⼀个新的阵列-Q, --query:查看⼀个device,判断它为⼀个 md device 或是⼀个 md 阵列的⼀部分-D, --detail:打印⼀个或多个 md device 的详细信息-E, --examine:打印 device 上的 md superblock 的内容-F, --follow, --monitor:选择 Monitor 模式-G, --grow:改变在⽤阵列的⼤⼩或形态-h, --help:帮助信息,⽤在以上选项后,则显⽰该选项信息--help-options-V, --version-v, --verbose:显⽰细节-b, --brief:较少的细节。

⽤于 --detail 和 --examine 选项-f, --force-c, --config= :指定配置⽂件,缺省为 /etc/mdadm/mdadm.conf-s, --scan:扫描配置⽂件或 /proc/mdstat以搜寻丢失的信息。

mdadm配置磁盘阵列

mdadm配置磁盘阵列

mdadm配置磁盘阵列mdadm使用的也是md驱动,由于其拥有多种模式,而且单一工具,不依赖任何配置文件,是替代raidtools的好工具。

目前几乎所有发行版本使用的都是该工具。

一、安装和编译源码下载:.au/~neilb/source/mdadm/编译:tar xzvf ./mdadm-1.6.0.tgzcd mdadm-1.6.0make installrpm安装:rpm -ivh mdadm-1.6.0-3.rpm※源码最新版本是2.5,由于我使用的1.6.0的rpm包,所以还是以该版本为例。

二、模式mdadm有6种模式,前两种模式:Create、Assemble用于配置和激活阵列;Manage 模式用于操作在活动阵列中的设备;Follow或 Monitor模式允许管理员对活动阵列配置事件提醒和动作;Build模式用于对旧阵列使用旧版本的md驱动;还有Grow模式可以扩展阵列;剩下的是 Misc模式,它包括对多种内部的任务和没有指定特殊模式的一些操作。

系统平台:红旗 DC Server for x86硬件平台: Intel Xeon 3.0G DP、1个系统硬盘,3个组成阵列磁盘三、部署1、准备磁盘只能使用Sofware RAID格式的磁盘才能组成阵列,所以,首先我们要把做好磁盘格式。

正如上面提到的,除了系统盘sda外,我们需要对sdb、sdc、sdd进行操作a)对sdb进行分区fdisk /dev/sdb分区前状态:n,划分区:t,修改分区格式为fd:w,保存:b)同样的方法,对sdc、sdd进行分区和保存最后状态如下:2、创建阵列mdadm可以支持LINEAR、RAID0 (striping)、 RAID1(mirroring)、 RAID4、RAID5、RAID6和MULTIPATH的阵列模式。

创建命令格式如下:mdadm [mode] <raiddevice> [options] <component disks>其中:引用[mode]表示引用的模式<raiddevice>指定软RAID设备号,如/dev/md0[options]可以有长短两种表示方式<component disks>表示组成阵列的磁盘分区,可以用shell的方法简短表示例如:创建一个RAID 0设备:mdadm - -create - -verbose /dev/md0 - -level=0 - -raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1- -level表示创建的阵列模式,- -raid-devices表示参与阵列的磁盘数量。

关于软件raid(mdadm)在重启机器后自动运行的问题

关于软件raid(mdadm)在重启机器后自动运行的问题

关于软件raid(mdadm)在重启机器后⾃动运⾏的问题创建新的阵列mdadm使⽤--create(或其缩写-C)参数来创建新的阵列,并且将⼀些重要阵列的标识信息作为元数据可以写在每⼀个底层设备的指定区间。

--level(或者其缩写-l)表⽰阵列的RAID级别,--chunk(或者其缩写-c)表⽰每个条带单元的⼤⼩,以KB为单位,默认为64KB,条带单元的⼤⼩配置对不同负载下的阵列读写性能有很⼤影响。

--raid-devices(或者其缩写-n)表⽰阵列中活跃的设备个数,⽽--spare-devices(或者其缩写-x)表⽰阵列中热备盘的个数,⼀旦阵列中的某个磁盘失效,MD内核驱动程序⾃动⽤将热备磁盘加⼊到阵列,然后重构丢失磁盘上的数据到热备磁盘上。

配置⽂件:/etc/mdadm.conf作为默认的配置⽂件,主要作⽤是⽅便跟踪软RAID的配置,尤其是可以配置监视和事件上报选项。

Assemble命令也可以使⽤--config(或者其缩写-c)来指定配置⽂件。

我们通常可以如下命令来建⽴配置⽂件。

[root@fc5 mdadm-2.6.3]#echo DEVICE /dev/sd[b-h] /dev/sd[i-k]1 > /etc/mdadm.conf[root@fc5 mdadm-2.6.3]# ./mdadm -Ds >>/etc/mdadm.conf[root@fc5 mdadm-2.6.3]# cat /etc/mdadm.confDEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh/dev/sdi1 /dev/sdj1 /dev/sdk1ARRAY /dev/md1 level=raid0 num-devices=3UUID=dcff6ec9:53c4c668:58b81af9:ef71989dARRAY /dev/md0 level=raid10 num-devices=6 spares=1UUID=0cabc5e5:842d4baa:e3f6261b:a17a477a使⽤配置⽂件启动阵列时,mdadm会查询配置⽂件中的设备和阵列内容,然后启动运⾏所有能运⾏RAID阵列。

mdadm 记录raid信息 原理

mdadm 记录raid信息 原理

mdadm(multiple devices admin)是Linux下的一款标准的软件RAID管理工具,它能够诊断、监控和收集详细的阵列信息。

mdadm是一个单独集成化的程序,而不是一些分散程序的集合,因此对不同RAID管理命令有共通的语法。

它能够执行几乎所有的功能而不需要配置文件。

关于mdadm记录RAID信息的原理,我们首先需要了解RAID(Redundant Array of Independent Disks)的基本原理。

RAID是一种通过组合多个硬盘驱动器来提高数据冗余和性能的技术。

RAID通过条带化(Striping)数据,将数据分散存储在多个硬盘上,从而实现更高的数据吞吐量和容错能力。

在RAID配置中,mdadm通过管理设备映射(Device Mapper)来实现对硬盘驱动器的管理和控制。

Device Mapper 是Linux内核中的一个模块,它提供了一个通用的块设备层,用于将底层块设备(如硬盘驱动器)映射为上层应用可见的块设备。

mdadm通过创建和管理RAID设备来记录RAID信息。

RAID 设备是一个虚拟的块设备,它由一个或多个物理硬盘驱动器组成。

当创建RAID设备时,mdadm会生成一个RAID设备文件(如/dev/md0),并将该设备文件与相应的物理硬盘驱动器关联起来。

在RAID设备创建后,mdadm会维护一个RAID元数据(metadata)文件,该文件记录了RAID设备的配置信息,如RAID级别、硬盘驱动器数量、条带化大小等。

这个元数据文件对于RAID设备的正常运行至关重要,因为它包含了RAID设备的所有配置信息。

mdadm通过读取和更新这个元数据文件来记录和管理RAID信息。

当对RAID设备进行更改(如添加或删除硬盘驱动器)时,mdadm会更新元数据文件以反映这些更改。

同时,mdadm还会定期监控RAID设备的状态,并在发现问题时发出警告或采取其他措施来保护数据的完整性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档