RAID 独立冗余磁盘阵列详解(RAID 0、RAID 1、RAID 5、RAID 10)
目录
什么是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)相关推荐
- RAID——独立冗余磁盘阵列
RAID 磁盘冗余阵列 本章将深入讲解RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)技术方案的特性,并通过实际部署RAID 10.RAID 5+ ...
- RAID磁盘阵列详解and软阵列(raid0,raid1,raid5,raid1+0 热备盘)配置实验
文章目录 前言 一:RAID磁盘阵列详解 1.1:RAID 0磁盘阵列介绍 1.2:RAID容错对比表 二:阵列卡介绍 2.1:阵列卡介绍 2.2:RAID卡的接口类型 2.3:阵列卡的缓存 三. 软 ...
- Linux——RAID磁盘阵列详解及阵列卡
目录 前言: 一.RAID磁盘阵列 1.RAID磁盘阵列介绍 2.各级别磁盘阵列详解 ⑴.RAID 0磁盘阵列 ⑵.RAID 1磁盘阵列 ⑶.RAID 5磁盘阵列 ⑷.RAID 6磁盘阵列 ⑸.RAI ...
- 简单易懂学习服务器RAID磁盘阵列详解及实操
服务器RAID磁盘阵列详解及实操 1.RAID磁盘阵列详解 1.1. RAID 0 磁盘阵列介绍 1.2. RAID 1 磁盘阵列介绍 1.3. RAID 5 磁盘阵列介绍 1.4. RAID 6 磁 ...
- 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 磁盘阵列+备份盘 ...
- 独立冗余磁盘阵列(RAID)
什么是RAID RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列),通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多 个 ...
- 服务器硬件详解RAID磁盘阵列详解
目录 RAID磁盘阵列介绍 RAID 0磁盘阵列介绍 RAID1磁盘阵列介绍 RAID5磁盘阵列介绍 RAID6磁盘阵列介绍 RAID1+0磁盘阵列介绍 扩展 创建软RAID磁盘阵列步骤 实验 阵列卡 ...
- hp服务器增加raid卡,惠普ProLiant服务器Raid卡配置过程详解
[IT168 技术]Raid(Redundant Array of Independent Disk)独立冗余磁盘阵列,就是将多个硬盘通过Raid控制器整合成虚拟的单个大容量的硬盘.Raid是服务器数 ...
- md0和md1linux软raid,linux下Raid及mdadm命令详解
linux下Raid及mdadm命令详解 1.RAID级别:仅代表磁盘组织方式不同,没有高低之分: Raid常用种类:raid0,raid1,raid5,raid10,raid01 jbod:叠加硬盘 ...
最新文章
- 3D Slicer实现纤维追踪(大脑纤维束成像)+核磁共振影像数据处理
- 驱动学习之LED驱动框架
- Win 10 UWP开发系列:设置AppBarButton的图标
- 我们都准备好进入数字货币+无现金世界了?
- mysql ansi_ANSI模式下如何运行MySQL
- iconpath 微信小程序_【报Bug】微信小程序 map 标记点iconPath图标 苹果手机 不能单个设置了。以前没有问题。现在不知道为啥不行了...
- php 钩子,php钩子原理是什么
- [html] 举例说明实现文字贯穿线的方法有哪些?
- 计算机网络之物理层:4、编码和调制
- 最新conda设置清华源
- ubuntu 安装redis两种方式 教程
- 中文文本分类:你需要了解的10项关键内容
- Ubuntu 下使用apt-get安装最新版本的MySQL
- carmaker/matlab联合仿真(二) 新建测试场景
- php公众号关注自动回复内容,微信公众号自动回复内容大全集锦
- USB fastboot
- 吕蒙正千年奇文《寒窑赋》鉴赏
- strcmp和strncmp函数
- 相机标定 calib3d 学习笔记
- 一个骚操作,公众号粉丝破10万!