Linux RAID 磁盘管理


Linux RAID 使用命令

命令:mdadm

格式:mdadm [模式] <RAID设备名称> [选项] [成员设备名称]

使用参数 作用
-a
检测设备名称 
-n 
指定设备数量 
-l 
指定 RAID 级别 
-C 
创建 
-v 
显示过程 
-f 
模拟设备损坏 
-r 
移除设备 
-Q 
查看摘要信息 
-D 
查看详细信息 
-S 
停止 RAID 磁盘阵列 
-x
添加备份盘
--zero-superblock 移除RAID磁盘组员

Linux 创建 RAID 10

  • 硬盘:4块以上

1、创建 RAID 10

# 其中,-C 参数代表创建一个 RAID 阵列卡;-v 参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md就是创建后的RAID磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4 参数代表使用 4 硬盘来部署这个RAID 磁盘阵列;而-l 10 参数则代表 RAID 10 方案;最后再加上 4 块硬盘备的名称就搞定了。
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc/dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
# 默认块大小
mdadm: chunk size defaults to 512K
mdadm: size set to 20954624K
# mdadm 版本
mdadm: Defaulting to version 1.2 metadata
# md0已启动
mdadm: array /dev/md0 started.

输出

2、格式化/dev/md0

# 格式化为ext4类型
mkfs.ext4 /dev/md0

3、创建挂载点、挂载/dev/md0、添加永久挂载

# 创建挂载点
mkdir /RAID # 挂载/dev/md0
mount /dev/md0 /RAID # 设置开机自动挂载
echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

4、查看使用情况

命令:df -h

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 84K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/md0 40G 49M 38G 1% /RAID

查看磁盘使用情况

命令:mdadm -D /dev/md0

# 名称
/dev/md0:
# 版本
Version : 1.2
# 创建时间
Creation Time : Tue May 5 07:43:26 2019
# RAID模式
Raid Level : raid10
# 磁盘阵列大小
Array Size : 41909248 (39.97 GiB 42.92 GB)
# 使用用大小
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
# RAID设备块数
Raid Devices : 4
# 用到总设备数
Total Devices : 4
# 持久性类型
Persistence : Superblock is persistent
# 更新时间
Update Time : Tue May 5 07:46:59 2017
# 状态
State : clean
# 正在使用设备数
Active Devices : 4
# 工作设备数
Working Devices : 4
# 故障设备数量
Failed Devices : 0
# 备用设备数量
Spare Devices : 0
# 布局
Layout : near=2
# 块大小
Chunk Size : 512K
# 本地创建设备主机名
Name : localhost.localdomain:0 (local to host localhost.localdomain)
# 设备UUID
UUID : cc9a87d4:1e89e175:5383e1e8:a78ec62c
# 时间
Events : 17
# 模式状态
Number Major Minor RaidDevice State
# 使用的磁盘
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde

Linux 创建 RAID 5

  • 硬盘:3块以上
  • 注:注释部分可参考 RAID 10 

1、创建 RAID 5

mdadm -Cv /dev/md0 -n 3 -l 5  /dev/sdb /dev/sdc /dev/sdd 

2、格式化/dev/md0

mkfs.ext4 /dev/md0

3、创建挂载点、挂载/dev/md0、添加永久挂载

mkdir /RAID
mount /dev/md0 /RAID
echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

4、查看使用情况

命令:mdadm -D /dev/md0

mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954624K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@linuxprobe ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 8 09:20:35 2017
Raid Level : raid5
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Fri May 8 09:22:22 2017
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : 44b1a152:3f1809d3:1d234916:4ac70481
Events : 18
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd

查看 RAID 5 状态


Linux 损坏磁盘阵列修复

  • 这里采用RAID 10 为例

1、模拟/dev/sdb磁盘损坏

# -f 造成模拟磁盘损坏
mdadm /dev/md0 -f /dev/sdb
命令:mdadm -D /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Fri May 8 08:11:00 2017
Raid Level : raid10
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri May 8 08:27:18 2017
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : f2993bbd:99c1eb63:bd61d4d4:3f06c3b0
Events : 21
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde
# faulty 已损坏
0 8 16 – faulty /dev/sdb

查看RAID状态

2、取消挂载、并进行检测修复

# 取消挂载
umount /RAID # 检测修复损坏磁盘
mdadm /dev/md0 -a /dev/sdb
使用命令:mdadm -D /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Mon Jan 30 00:08:56 2017
Raid Level : raid10
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Jan 30 00:19:53 2017
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : d3491c05:cfc81ca0:32489f04:716a2cf0
Events : 56
Number Major Minor RaidDevice State
4 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
# active 已修复使用
3 8 64 3 active sync /dev/sde

查看RAID状态

3、重新挂载

mount –a

Linux 磁盘阵列创建RAID添加备份盘

  • 这里采用RAID 5 为例
  • 备份盘:当RAID内其他磁盘损坏,备份盘会自动替补损坏的磁盘。

1、创建 RAID5 并额外添加备份盘

# 参数-x 1 则代表有一块备份盘。当查看/dev/md0(即 RAID 5 磁盘阵列名称)磁盘阵列的时候就能看到有一块备份盘在等待中了。
mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

2、格式化/dev/md0

mkfs.ext4 /dev/md0

3、创建挂载点、挂载/dev/md0、添加永久挂载

mkdir /RAID
mount /dev/md0 /RAID
echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

4、模拟/dev/sdb磁盘损坏

mdadm /dev/md0 -f /dev/sdb

5、查看替补损坏磁盘的备份磁盘

命令:mdadm -D /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Fri May 8 09:20:35 2017
Raid Level : raid5
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri May 8 09:23:51 2017
State : active, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : linuxprobe.com:0 (local to host linuxprobe.com)
UUID : 44b1a152:3f1809d3:1d234916:4ac70481
Events : 21
Number Major Minor RaidDevice State
# 替补磁盘自己蹦上去了
3 8 64 0 spare rebuilding /dev/sde
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
# 模拟损坏的磁盘
0 8 16 - faulty /dev/sdb

查看RAID信息


Linux RAID 磁盘阵列取消删除

1、查看RAID阵列信息,确认关闭设备

# 命令
cat /proc/mdstat # 输出
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb5[3](S) sdb1[0] sdb2[1] sdb3[4]
1043456 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3]

2、取消挂载

umount /RAID

3、停止指定RAID阵列

# -S 停止阵列
mdadm -S /dev/md0

4、清理RAID成员磁盘

# --zero-superblock 清除磁盘成员后面跟成员磁盘名称
mdadm --zero-superblock /dev/sdb
mdadm --zero-superblock /dev/sdc
mdadm --zero-superblock /dev/sdd

5、删除永久挂载文件

# 进入文件
vim /etc/fstab # 清除添加的RAID行
xxx xxx ext4 defaults 0 0

6、删除或注释 /etc/mdadm.conf 对应RAID信息

# 进入文件
vim /etc/mdadm.conf
#ARRAY /dev/md0 metadata=1.2 spares=1 name=kashu.localdomain:0 UUID=3895d28e:bdcaed28:136b4cf6:d2a858f5

注:如果做完上面所有的操作后,发现/dev/下还有md0这个设备文件存在,直接rm -f /dev/md0即可。


Linux RAID 磁盘管理的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. linux 系统磁盘管理体系

    目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...

  3. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  4. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  5. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  6. Linux命令-磁盘管理(二)

    Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...

  7. Linux命令-磁盘管理(一)

    Linux命令-磁盘管理(一) Linux cd命令 Linux cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变 ...

  8. linux 系统磁盘管理(主分区和逻辑分区)

    摘要:linux系统磁盘管理主分区和逻辑分区 1.linux系统分区应了解的常识 硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息,在创建分区时,就已经设置好了硬盘的各项物理参数,指定 ...

  9. Linux系统磁盘管理

    1 Linux磁盘管理体系简介 Linux磁盘管理分为五个步骤:首先在服务器上添加相应的硬盘(如/dev/sda.sdb.sdc等),对全新的服务器(即没有操作系统)做硬RAID0.RAID1.RAI ...

随机推荐

  1. SpringBoot 2.X从0到1实现邮件发送功能

    Spring中提供了JavaMailSender接口实现邮件发送功能,在SpringBoot2.X中也封装了发送邮件相关的Starter并且提供了自动化配置. 本文目录 一.添加对应的Starter二 ...

  2. 使用C#+Edge (Chromium)进行Web自动化测试

    今天看到了VisualStudio中现在已经自带了Web单元测试项目模板,便试了一下,发现还比较好用,它默认的是Selenium实现的,测试组在用Selenium+Python来写过自动化测试,原来它 ...

  3. WPF线段式布局的一种实现

    线段式布局 有时候需要实现下面类型的布局方案,不知道有没有约定俗成的称呼,我个人强名为线段式布局.因为元素恰好放置在线段的端点上. 实现 WPF所有布局控件都直接或间接的继承自System.Windo ...

  4. gitlab从开发分支合并代码到master分支

    你敢相信这是个码农? 新项目开发完成,代码要封版.开发分支是dev,将代码合并到master时可费了劲儿了,上周我们几个同事前前后后折腾了两天,还是有问题. 今天上完线必须要封版了.所以务必得搞定. ...

  5. Java垃圾收集器——Parallel、G1收集器日志分析及性能调优示范

    开发过程中,经常需要对GC的垃圾收集器参数不断的进行动态调整,从而更充分的压榨机器性能,提升应用效率.本文将从常见的Parallel/G1垃圾收集器的GC日志着手,分析GC日志的具体含义,以及示范如何 ...

  6. python基础 while 字符串方法 运算符

    一.while 1.while 死循环 f=True while f: print(1) print(2) 2.while 活循环 ①.正序 count = 1 while count <= 5 ...

  7. JavaScript—图片与base64编码互相转换

    图片转换为base64编码 <input type = "file" id = "file" onchange="popFileName(thi ...

  8. Oracle SQL日期及日期格式获取命令

    日期及日期格式: 获取系统日期: sysdate() 格式化日期 to_char(sysdate(),'yyyy-mm-dd,hh24:mi:ss') to_date(sysdate(),'yyyy- ...

  9. SpringCloud学习笔记(一、SpringCloud 基础)

    目录: 概述 观察者模式 代理模式 概述: spring系列中使用了大量的设计模式,而最常见的便是这观察者.代理模式,所以在讲解SpringCloud之前我们先学习下这两个最常见的设计模式. 观察者模 ...

  10. drf框架知识总结