1、RAID概述

RAID,Redundant Arrays of Inexpensive(Independent)Disks的简称,独立磁盘冗余阵列,简称磁盘阵列。简单来说,RAID是把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘,经常被用在服务器电脑上。不同的RAID实现的功能也是不尽相同的,或增强处理速度,或增强容错能力,当然,更有甚者,是可以兼备这个特性的。

经典RAID5的实现
  如果只是用作测试的话,软RAID可以在一块硬盘的不同分区上实现,此处用不同的硬盘实现
  <1>添加五块硬盘,四块做成RAID阵列,一块做spare硬盘
    <2>创建文件系统,并调整分区类型为fd
[root@CentOS7~]#fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
 
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
 
Command (m for help): t    # 调整分区类型
Selected partition 1
Hex code (type L to list all codes): fd    # 选择fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
 
Command (m for help): w    # 存盘退出
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

<3>创建RAID设备
[root@centos7~]#mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{b,c,d,e,f}1 
mdadm: /dev/sdb1 appears to contain an ext2fs file system
      size=2097152K  mtime=Thu Jan  1 08:00:00 1970
mdadm: /dev/sde1 appears to contain an ext2fs file system
      size=2097152K  mtime=Mon Aug 29 21:32:01 2016
Continue creating array? y    # 确定创建
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.    # 创建完成并启动

<4>查看创建进度
[root@centos7/mnt]#cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sde1[5] sdf1[4](S) sdd1[2] sdc1[1] sdb1[0]
      6285312 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
                            # RAID5创建完成,正式启动
unused devices: <none>

<5>查看RAID配置
[root@centos7~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
    Raid Level : raid5    # RAID级别
    Array Size : 6285312 (5.99 GiB 6.44 GB)    # 阵列大小,使用率为n-1/n
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)    # 备用的磁盘空间大小
  Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent
 
    Update Time : Tue Aug 30 15:38:14 2016
          State : clean 
 Active Devices : 4    # RAID工作状况
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 1
 
        Layout : left-symmetric
    Chunk Size : 512K    # Chunk默认大小
 
          Name : localhost.localdomain:0  (local to host localhost.localdomain)
          UUID : fe6313e4:bc14f451:01602e5e:13820d53
        Events : 18
 
    Number  Major  Minor  RaidDevice State
      0      8      17        0      active sync  /dev/sdb1
      1      8      33        1      active sync  /dev/sdc1
      2      8      49        2      active sync  /dev/sdd1
      5      8      65        3      active sync  /dev/sde1
 
      4      8      81        -      spare  /dev/sdf1    # 备用盘

<6>为RAID5创建文件系统
[root@centos7/mnt]#mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=384 blocks
393216 inodes, 1571328 blocks
...    # 文件系统创建成功

<7>挂载RAID
# 创建挂载点
[root@centos7~]#mkdir /mnt/raid   
# 编辑/etc/fstab
[root@centos7~]#vim /etc/fstab 
...
UUID="24adec89-2933-47e3-b824-11e25ef679cf" /mnt/raid  ext4 defaults 0 0 
...
# 挂载
[root@centos7~]#mount -a
# 查看挂载
[root@centos7~]#mount
...
/dev/md0 on /mnt/raid type ext4 (rw,relatime,seclabel,stripe=384,data=ordered)

<8>创建RAID配置文件
[root@centos7~]#mdadm -Ds /dev/md0 > /etc/mdadm.conf
[root@centos7~]#cat /etc/mdadm.conf 
ARRAY /dev/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=fe6313e4:bc14f451:01602e5e:13820d53

<9>测试
[root@centos7~]#cp /etc/* /mnt/raid/ -r    # 数据已通过挂载点存储在RAID5上
[root@centos7~]#cat /mnt/raid/issue
\S
Kernel \r on an \m

<9>模拟损坏一块磁盘

# 模拟损坏
[root@centos7~]#mdadm /dev/md0 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0    # 已损坏
# 查看RAID运行状况
[root@centos7~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
    Raid Level : raid5
    Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
  Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent
 
    Update Time : Tue Aug 30 16:25:52 2016
          State : clean, degraded, recovering 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 1
 
        Layout : left-symmetric
    Chunk Size : 512K
 
 Rebuild Status : 57% complete    # 进度
 
          Name : localhost.localdomain:0  (local to host localhost.localdomain)
          UUID : fe6313e4:bc14f451:01602e5e:13820d53
        Events : 29
 
    Number  Major  Minor  RaidDevice State
      4      8      81        0      spare rebuilding  /dev/sdf1    # 正在修复中
      1      8      33        1      active sync  /dev/sdc1
      2      8      49        2      active sync  /dev/sdd1
      5      8      65        3      active sync  /dev/sde1
 
      0      8      17        -      faulty  /dev/sdb1    # faulty状态
# 查看数据
[root@centos7~]#cat /etc/issue
\S
Kernel \r on an \m
                      # 数据无损坏

<10>不修复faulty硬盘,再次模拟损坏一块硬盘
# 损坏硬盘
[root@centos7~]#mdadm /dev/md0 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
# 查看状态
[root@centos7~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
    Raid Level : raid5
    Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
  Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent
 
    Update Time : Tue Aug 30 16:33:01 2016
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 2
  Spare Devices : 0
 
        Layout : left-symmetric
    Chunk Size : 512K
                                      # 也没有修复的进度
          Name : localhost.localdomain:0  (local to host localhost.localdomain)
          UUID : fe6313e4:bc14f451:01602e5e:13820d53
        Events : 39
 
    Number  Major  Minor  RaidDevice State
      4      8      81        0      active sync  /dev/sdf1
      2      0        0        2      removed    # 没有硬盘顶替,显示remove状态
      2      8      49        2      active sync  /dev/sdd1
      5      8      65        3      active sync  /dev/sde1
 
      0      8      17        -      faulty  /dev/sdb1    # 已损坏
      1      8      33        -      faulty  /dev/sdc1    # 已损坏
# 再次查看数据
[root@centos7~]#cat /mnt/raid/issue
\S
Kernel \r on an \m
                      # 数据无损

<11>依然不修复,再次损坏
# 损坏硬盘
[root@centos7~]#mdadm /dev/md0 -f /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0
[root@centos7~]#mdadm -D /dev/md0
/dev/md0:   
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
    Raid Level : raid5
    Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
  Raid Devices : 4
  Total Devices : 5
    Persistence : Superbloc
    k is persistent
 
    Update Time : Tue Aug 30 16:39:41 2016
          State : clean, FAILED 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 3
  Spare Devices : 0
 
        Layout : left-symmetric
    Chunk Size : 512K
 
          Name : localhost.localdomain:0  (local to host localhost.localdomain)
          UUID : fe6313e4:bc14f451:01602e5e:13820d53
        Events : 41
 
    Number  Major  Minor  RaidDevice State
      4      8      81        0      active sync  /dev/sdf1
      2      0        0        2      removed    # 移除
      4      0        0        4      removed    # 移除
      5      8      65        3      active sync  /dev/sde1
 
      0      8      17        -      faulty  /dev/sdb1    # 已损坏
      1      8      33        -      faulty  /dev/sdc1    # 已损坏
      2      8      49        -      faulty  /dev/sdd1    # 已损坏
# RAID5中,已损坏俩块硬盘,校验数据失效,数据全部损坏。
[root@centos7~]#cat /mnt/raid/fstab 
cat: /mnt/raid/fstab: Input/output error

此时数据已经损坏,不可恢复

RAID支持热插拔技术
    <12>在RAID 不损坏之前也是可以增加RAID的磁盘的
[root@centos7~]#mdadm -G /dev/md0 -a -n 5 /dev/sdg1

RAID损坏后,移除RAID   
[root@centos7~]#mdadm /dev/md0 -r /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md0

标准的卸载RAID的步骤
    <13>取消挂载、停止RAID、删除配置文件
[root@centos7~]#umount /mnt/raid/
[root@centos7~]#mdadm -S /dev/md0    备注----->启用RAID:mdadm -A -s /dev/md5
mdadm: stopped /dev/md0
[root@centos7~]#rm -f /etc/mdadm.conf

<14>移除RAID中的磁盘
    <15>删除磁盘上的RAID信息
[root@centos7~]#mdadm --zero-superblock /dev/sdf1    # 一定要先停止,否则报错

磁盘管理之软RAID!相关推荐

  1. linux 软raid命令,mdadm命令 – 管理linux软RAID

    mdadm命令是multiple devices admin的简称,它是linux下的一款标准的软件 RAID管理工具,可以管理linux软RAID,比如创建.调整.监控RAID. mdadm命令能够 ...

  2. Linux 磁盘管理 二(Raid、LVM、Quota)

    6-3.停止磁盘阵列(--stop) [root@localhost ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0 注意:停止磁盘阵列前要从文件系统umo ...

  3. linux 磁盘管理3板斧,Linux 磁盘管理的命令

    Linux   磁盘管理 磁盘分区及挂载: 先查询系统的使用情况: 使用fdisk -l语句 查询结果: 进行磁盘的新建:***添加磁盘时系统必须处于关机状态** 在进行对系统磁盘的使用情况的查询 查 ...

  4. 【中级软考—软件设计师】2操作系统2.7磁盘管理【**】:2.7.1磁盘管理01

    考点: 存储时间计算 双,单缓冲区的区别处理 优化存储的形式[了解] 磁盘调度算法的掌握 磁盘管理01 软考中当存储来处理 存储管理--磁盘管理 坑坑洼洼的磁道记录了一些信息 从外向内磁道编号递增 磁 ...

  5. 七、Linux磁盘管理(二)

    一.磁盘阵列RAID 1.1 概述 RAID:(Redundant Array of Independent Disk )独立冗余磁盘阵列 RAID最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希 ...

  6. zutuanxue.com-linux磁盘管理基本管理

    linux磁盘管理基本管理 开课 ​ 本章我们将学习到磁盘管理的相关知识,这部分知识在我们以后的工作中非常重要,它可以让我们知道如何去规划磁盘,如何去使用磁盘,如何去提高磁盘的利用率,这些都会影响服务 ...

  7. 磁盘管理---RAID磁盘阵列(重点容错能力)软RAID的实现

    文章目录 RAID基本概念 RAID级别 软RAID **mdadm:模式化的工具** 1.软RAID配置示例 2.测试RAID设备 3.软RAID测试和修复 4.增加新的成员 **软RAID管理** ...

  8. 文件服务器的配置与管理(2) 实现软RAID

    RAID技术按实现方式不同分为软RAID和硬RAID.软RAID的所有功能都是由操作系统与CPU来完成,因而效率比较低:硬RAID具备专门的硬件控制/处理芯片和I/O处理芯片,所提供的功能和性能都要比 ...

  9. 【操作系统/OS笔记20】打开文件、文件数据块分配、空闲空间管理、多磁盘管理(RAID)、磁盘调度算法概述

    本次笔记内容: 12.12 打开文件的数据结构 12.13 文件的分配 12.14 空闲空间列表 12.15 多磁盘管理-RAID 12.16 磁盘调度 文章目录 打开文件 何谓"打开文件& ...

最新文章

  1. 2.6 谷歌 Inception 网络简介-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. Oracle中Cursor介绍
  3. [算法总结] 13 道题搞定 BAT 面试——字符串
  4. 100万并发连接服务器笔记之1M并发连接目标达成
  5. pandas忽略行列索引,纵向拼接多个dataframe
  6. java模拟记事本的一些功能
  7. python——向Excel读取或写入数据
  8. [编程开发工具-7]:四款功能强大的代码比较工具:Araxis Merge、Beyond compare、DiffMerge、WinMerge
  9. c语言结构体stamp是什么意思,stamp是什么意思
  10. BuildTools下载地址
  11. iphoneX、iPhone12尺寸
  12. flask框架学习笔记
  13. guido正式对外发布python版本的年份_Guido van Rossum正式对外发布Python版本的年份是:______。...
  14. 记录DBeaver报SQL 错误 [1064] [42000]: #42000的一个坑
  15. linux 易语言窗口程序_用易语言开发Linux程序的方法
  16. Myabtis源码分析五-Mybatis配置加载完全图解,建造者模式的使用,涵盖Java各种技术栈
  17. 易开发易投产的51单片机时钟计时器:番茄时钟——TFT彩屏显示方案
  18. 前天睡眠质量记录73
  19. python人脸口罩识别_基于Python+OpenCV的人脸口罩识别检测
  20. C语言 局部变量和全局变量

热门文章

  1. 推箱子2-向右推!_保持冷静并砍箱子-哔
  2. python爬取学校教务管理系统
  3. 免费获得专业的mysql技术支持服务
  4. 周五晚上的一个想法到跟巨星侃爷Kanye的谈判 - 人物志第16篇
  5. Python爬虫入门教程【15】:煎蛋网XXOO图片抓取
  6. iOS二维码生成(带logo)
  7. SAP物料移动类型和自动科目设置
  8. 轨道交通车辆节能系统
  9. Android Studio执行在vivo手机上出现“应用程序安装异常(-15)”
  10. 弘辽科技:关于多多进宝四大点