目录

什么是RAID

RAID 0

RAID 1

RAID 5

RAID 10

Linux系统中部署磁盘阵列

mdadm命令

损坏磁盘阵列及修复

磁盘阵列+备份盘


什么是RAID

RAID(Redundant Array of Independent Disks),即独立冗余磁盘阵列,通常简称为磁盘阵列,简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。

RAID 技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。

出于成本和技术方面的考虑,需要针对不同的需求在数据可靠性及读写性能上作出权衡,制定出满足各自需求的不同方案。其中最常见的4种方案为RAID 0、RAID 1、RAID5、RAID 10。

RAID 0

特点

  • 最少需要两块磁盘

  • 数据条带式分布

  • 没有冗余,性能最佳(不存储镜像、校验信息)

  • 不能应用于对数据安全性要求高的场合

RAID 1

特点

  • 最少需要2块磁盘

  • 提供数据块冗余

  • RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便

  • 实现成本较高

RAID 5

RAID 5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID 0 和 RAID 1 的折中方案,是目前综合性能最佳的数据保护解决方案。

特点

  • 最少3块磁盘

  • 数据条带形式分布

  • 以奇偶校验作冗余

  • 适合多读少写的情景,是性能与数据冗余最佳的折中方案

RAID 10

RAID 10 技术是RAID 1 + RAID 0 技术的一个 ”组合体“。

特点

  • 最少需要4块磁盘

  • 先两两制作成RAID 1磁盘阵列,再分别对两个RAID 1磁盘阵列实施RAID 0技术

  • 兼顾冗余(提供镜像存储)和性能(数据条带形分布)

  • 由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,因此成为当前广泛使用的一种存储技术

Linux系统中部署磁盘阵列

首先,在虚拟机中添加4块硬盘设备来制作一个RAID 10磁盘阵列

mdadm命令

mdadm命令用于管理Linux系统中的软件RAID磁盘阵列

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

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

举例

1、使用mdadm命令创建RAID 10,名称为“/dev/md0”
[root@localhost ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde                               (-a yes参数代表自动创建设备文件)
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost ormeaningless after creating array
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.2、将制作好的RAID磁盘阵列格式化为 ext4 格式
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.45.6 (20-Mar-2020)
创建含有 10477056 个块(每块 4k)和 2621440 个inode的文件系统
文件系统UUID:920ad124-95ca-4425-80d8-3c630ac4423a
超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624正在分配组表: 完成
正在写入inode表: 完成
创建日志(65536 个块)完成
写入超级块和文件系统账户统计信息: 已完成 3、创建挂载点然后把硬盘设备进行挂载操作
[root@localhost ~]# mkdir /RAID
[root@localhost ~]# mount /dev/md0 /RAID
[root@localhost ~]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  883M     0  883M    0% /dev
tmpfs               tmpfs     901M     0  901M    0% /dev/shm
tmpfs               tmpfs     901M  8.8M  892M    1% /run
tmpfs               tmpfs     901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/cl-root xfs        17G  1.7G   16G   10% /
/dev/sda1           ext4      976M  142M  767M   16% /boot
tmpfs               tmpfs     181M     0  181M    0% /run/user/0
/dev/md0            ext4       40G   49M   38G    1% /RAID4、查看/dev/md0磁盘阵列的详细信息
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Thu Jan 20 20:05:00 2022Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Jan 20 20:06:06 2022State : active, resyncing Active Devices : 4Working Devices : 4Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncResync Status : 34% completeName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 1afd3391:117fe564:da782f66:84d3a0e3Events : 10Number   Major   Minor   RaidDevice State0       8       16        0      active sync set-A   /dev/sdb1       8       32        1      active sync set-B   /dev/sdc2       8       48        2      active sync set-A   /dev/sdd3       8       64        3      active sync set-B   /dev/sde5、将挂载信息写入/etc/fstab配置文件中,使其永久生效
[root@localhost ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

损坏磁盘阵列及修复

在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,应该使用 mdadm 命令将其移除,然后查看 RAID 磁盘阵列的状态,可以发现状态已经改变。

[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Thu Jan 20 20:05:00 2022Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Jan 20 20:20:37 2022State : clean, degraded Active Devices : 3Working Devices : 3Failed Devices : 1Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 1afd3391:117fe564:da782f66:84d3a0e3Events : 31Number   Major   Minor   RaidDevice State-       0        0        0      removed1       8       32        1      active sync set-B   /dev/sdc2       8       48        2      active sync set-A   /dev/sdd3       8       64        3      active sync set-B   /dev/sde0       8       16        -      faulty   /dev/sdb

在RAID 10级别的磁盘阵列中,让RAID 1磁盘阵列中存在一个故障盘时并不影响RAID 10磁盘阵列的使用。当购买了新的硬盘设备后再使用 mdadm 命令来替换即可,在此期间我们可以在 /RAID 目录中正常地创建或删除文件。

# 先重启一下虚拟机,然后把新的硬盘添加到 RAID 10 磁盘阵列中
[root@localhost ~]# umount /RAID
[root@localhost ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Thu Jan 20 20:05:00 2022Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Jan 20 20:30:08 2022State : clean Active Devices : 4Working Devices : 4Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 1afd3391:117fe564:da782f66:84d3a0e3Events : 56Number   Major   Minor   RaidDevice State4       8       16        0      active sync set-A   /dev/sdb1       8       32        1      active sync set-B   /dev/sdc2       8       48        2      active sync set-A   /dev/sdd3       8       64        3      active sync set-B   /dev/sde# 最后执行下 mount -a 命令,重新加载/etc/fstab文件中的内容
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  883M     0  883M    0% /dev
tmpfs               tmpfs     901M     0  901M    0% /dev/shm
tmpfs               tmpfs     901M  8.8M  892M    1% /run
tmpfs               tmpfs     901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/cl-root xfs        17G  1.7G   16G   10% /
/dev/sda1           ext4      976M  142M  767M   16% /boot
tmpfs               tmpfs     181M     0  181M    0% /run/user/0
/dev/md0            ext4       40G   49M   38G    1% /RAID

磁盘阵列+备份盘

我们来部署一个RAID 5的磁盘阵列,这至少需要3块硬盘,还需要加一块备份硬盘,所以总计也需要在虚拟机中添加4块新的硬盘设备。

# 创建一个RAID 5磁盘阵列+备份盘
[root@localhost ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde                                        (参数 -x 1 表示代表有一块备份盘)
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sdb appears to be part of a raid array:level=raid10 devices=4 ctime=Thu Jan 20 20:05:00 2022
mdadm: partition table exists on /dev/sdb but will be lost ormeaningless after creating array
mdadm: /dev/sdc appears to be part of a raid array:level=raid10 devices=4 ctime=Thu Jan 20 20:05:00 2022
mdadm: /dev/sdd appears to be part of a raid array:level=raid10 devices=4 ctime=Thu Jan 20 20:05:00 2022
mdadm: /dev/sde appears to be part of a raid array:level=raid10 devices=4 ctime=Thu Jan 20 20:05:00 2022
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Thu Jan 20 20:49:06 2022Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Jan 20 20:50:51 2022State : clean Active Devices : 3Working Devices : 4Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : ef6a1b2f:be006a1f:25d75245:c336fad6Events : 20Number   Major   Minor   RaidDevice State0       8       16        0      active sync   /dev/sdb1       8       32        1      active sync   /dev/sdc4       8       48        2      active sync   /dev/sdd3       8       64        -      spare   /dev/sde
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.45.6 (20-Mar-2020)
创建含有 10477056 个块(每块 4k)和 2621440 个inode的文件系统
文件系统UUID:d745e0ad-d469-40bc-a0fa-fa080b91745e
超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624正在分配组表: 完成
正在写入inode表: 完成
创建日志(65536 个块)完成
写入超级块和文件系统账户统计信息: 已完成# 再次把硬盘设备/dev/sdb移出磁盘阵列,然后迅速查看/dev/md0磁盘阵列的状态,我们发现备份盘已经被自动顶替上去并开始了数据同步。
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Thu Jan 20 20:49:06 2022Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Jan 20 20:54:15 2022State : clean, degraded, recovering Active Devices : 2Working Devices : 3Failed Devices : 1Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncRebuild Status : 10% completeName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : ef6a1b2f:be006a1f:25d75245:c336fad6Events : 23Number   Major   Minor   RaidDevice State3       8       64        0      spare rebuilding   /dev/sde1       8       32        1      active sync   /dev/sdc4       8       48        2      active sync   /dev/sdd0       8       16        -      faulty   /dev/sdb

RAID 独立冗余磁盘阵列详解(RAID 0、RAID 1、RAID 5、RAID 10)相关推荐

  1. RAID——独立冗余磁盘阵列

    RAID 磁盘冗余阵列 本章将深入讲解RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)技术方案的特性,并通过实际部署RAID 10.RAID 5+ ...

  2. RAID磁盘阵列详解and软阵列(raid0,raid1,raid5,raid1+0 热备盘)配置实验

    文章目录 前言 一:RAID磁盘阵列详解 1.1:RAID 0磁盘阵列介绍 1.2:RAID容错对比表 二:阵列卡介绍 2.1:阵列卡介绍 2.2:RAID卡的接口类型 2.3:阵列卡的缓存 三. 软 ...

  3. Linux——RAID磁盘阵列详解及阵列卡

    目录 前言: 一.RAID磁盘阵列 1.RAID磁盘阵列介绍 2.各级别磁盘阵列详解 ⑴.RAID 0磁盘阵列 ⑵.RAID 1磁盘阵列 ⑶.RAID 5磁盘阵列 ⑷.RAID 6磁盘阵列 ⑸.RAI ...

  4. 简单易懂学习服务器RAID磁盘阵列详解及实操

    服务器RAID磁盘阵列详解及实操 1.RAID磁盘阵列详解 1.1. RAID 0 磁盘阵列介绍 1.2. RAID 1 磁盘阵列介绍 1.3. RAID 5 磁盘阵列介绍 1.4. RAID 6 磁 ...

  5. 7.1 RAID(独立冗余磁盘阵列)

    目录 7.1.1 RAID 0 7.1.2 RAID 1 7.1.3 RAID 5 7.1.4 RAID 10 7.1.5 部署磁盘阵列: 7.1.6 损坏磁盘阵列及修复 7.1.7 磁盘阵列+备份盘 ...

  6. 独立冗余磁盘阵列(RAID)

    什么是RAID RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列),通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多 个 ...

  7. 服务器硬件详解RAID磁盘阵列详解

    目录 RAID磁盘阵列介绍 RAID 0磁盘阵列介绍 RAID1磁盘阵列介绍 RAID5磁盘阵列介绍 RAID6磁盘阵列介绍 RAID1+0磁盘阵列介绍 扩展 创建软RAID磁盘阵列步骤 实验 阵列卡 ...

  8. hp服务器增加raid卡,惠普ProLiant服务器Raid卡配置过程详解

    [IT168 技术]Raid(Redundant Array of Independent Disk)独立冗余磁盘阵列,就是将多个硬盘通过Raid控制器整合成虚拟的单个大容量的硬盘.Raid是服务器数 ...

  9. md0和md1linux软raid,linux下Raid及mdadm命令详解

    linux下Raid及mdadm命令详解 1.RAID级别:仅代表磁盘组织方式不同,没有高低之分: Raid常用种类:raid0,raid1,raid5,raid10,raid01 jbod:叠加硬盘 ...

最新文章

  1. 3D Slicer实现纤维追踪(大脑纤维束成像)+核磁共振影像数据处理
  2. 驱动学习之LED驱动框架
  3. Win 10 UWP开发系列:设置AppBarButton的图标
  4. 我们都准备好进入数字货币+无现金世界了?
  5. mysql ansi_ANSI模式下如何运行MySQL
  6. iconpath 微信小程序_【报Bug】微信小程序 map 标记点iconPath图标 苹果手机 不能单个设置了。以前没有问题。现在不知道为啥不行了...
  7. php 钩子,php钩子原理是什么
  8. [html] 举例说明实现文字贯穿线的方法有哪些?
  9. 计算机网络之物理层:4、编码和调制
  10. 最新conda设置清华源
  11. ubuntu 安装redis两种方式 教程
  12. 中文文本分类:你需要了解的10项关键内容
  13. Ubuntu 下使用apt-get安装最新版本的MySQL
  14. carmaker/matlab联合仿真(二) 新建测试场景
  15. php公众号关注自动回复内容,微信公众号自动回复内容大全集锦
  16. USB fastboot
  17. 吕蒙正千年奇文《寒窑赋》鉴赏
  18. strcmp和strncmp函数
  19. 相机标定 calib3d 学习笔记
  20. 一个骚操作,公众号粉丝破10万!

热门文章

  1. uni-app新闻小程序
  2. 黑马程序员-java基础8--IO流(一)
  3. Java各种运算符号的含义及区别汇总
  4. 适合新手的MySQL的基本操作第三期——存储过程篇
  5. xmanager连接linux端口,怎么使用xmanager连接linux
  6. VS2019 Xamarin 零基础开发一个简单的App实例
  7. FreeIPA框架常用命令合集
  8. 基于PHP+MySQL长途客用汽车票订票系统的设计与实现
  9. TaintDroid 剖析之 DVM 变量级污点跟踪(下篇)
  10. 10年研发总结和期许