RAID介绍及RAID5配置实例

简介: RAID介绍及RAID5配置实例

一、RAID磁盘阵列介绍


1.1RAID磁盘阵列介绍


RAID是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列

把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术

RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)

常用的RAID级别:RAID 0,RAID 1,RAID 5,RAID 6,RAID 1+0 等

1.2常见的几种RAID


1.2.1 RAID 0(条带化存储)


image.png


RAID 0连续以位或字节为单位进行分割数据,将数据分段存储在各个硬盘中,n块硬盘并行读/写数据,因此具有很高的数据传输率,可以达到单个硬盘的N倍,但它没有数据冗余;

RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据,因此并不能算真正的RAID结构;

RAID 0不能应用于数据安全性要求高的场合。

特点:

(1)最少需要两块磁盘


(2)数据条带分布式


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


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


1.2.2 RAID 1(镜像存储)


image.png


通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据


当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能


RAID

1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据


N(偶数)块硬盘组成镜像,容量为N/2


特点:

(1)最少需要两块磁盘


(2)提供数据冗余(提供备份)


(3)性能好


(4)N(偶数)块硬盘组成镜像,容量为N/2


1.2.3 RAID 5


image.png


N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储

N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;

(N-1) /N磁盘利用率(有一块是用来校验的);

可靠性高,允许坏1块盘,不影响所有数据

特点:


(1)最少3块磁盘


(2)数据条带形式分布


(3)以奇偶校验作冗余


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


1.2.4 RAID 6


image.png


N(N≥4)块盘组成阵列,(N-2) /N磁盘利用率

与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块

两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用

相对于RAID 5有更大的"写损失" ,因此写性能较差

1.2.5 RAID 1+0


RAID 1+0(先做镜象,再做条带)

image.png


N (偶数,N>=4)。块盘两两镜像后,再组合成一个RAID 0

N/2磁盘利用率

N/2块盘同时写入,N块盘同时读取

性能高,可靠性高

特点:

(1)最少4块磁盘


(2)先按RAID 0 分成两组,再分别对两组按RAID 1 方式镜像


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


(4)在实际应用中较为常用


1.2.6 RAID 0+1


RAID 0+1先做条带,再做镜像

image.png


读写性能与RAID 1+0相同;

安全性低于RAID 1+0;

使用较少。

1.3各级别RAID对比|


image.png

二、磁盘阵列


2.1阵列卡介绍阵列卡是用来实现RAID功能的板卡


阵列卡是用来实现RAID功能的板卡

通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的

不同的RAID卡支持的RAID功能不同

例如支持RAID0、 RAID1、 RAID5、 RAID10等

RAID卡的接口类型 IDE接口、SCSI接口、SATA接口和SAS接口

IDE接口(并行接口,价格低廉,兼容性强)

SCSI接口(串行接口,是小型计算机系统接口,广泛应用于小型机上的高速数据传输技术,支持热拔插,CPU占用率低,但是价格高)

SATA接口(串行接口)

SAS接口(新一代scsi接口,向下兼容SATA)

2.2阵列卡的缓存


缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。

缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存可以提高命中率

不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等。

三、创建软RAID磁盘阵列步骤


需求:


1.为Linux服务器添加4块SCSI硬盘


2.使用mdadm软件包,构建RAID5磁盘阵列,提磁盘存储的性能和可靠性


步骤说明:


检查是否安装mdadm,准备用于RAID阵列的分区


为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为:/dev/sdb1、/dev/sdc1./dev/sdd1、/devsde1


将其类型ID更改为“fd",对应为“Linux raidautodetect”,表示支持用于RAID磁盘阵列创建RAID设备


示例:


3.1检查是否已安装mdadm软件包


[root@localhost ~]# rpm -q mdadm ###检查是否安装了mdadm命令

image.png

这里显示已安装有,如未安装可使用进行安装

image.png

3.2往虚拟机里添加四块硬盘


23.5.png

重启系统(init 6),系统就可以识别到硬盘了

image.png

3.3使用fdisk工具将新磁盘设备/dev/sdd、/dev/sde、/dev/sdf、/dev/sdg、划分出主分区sdd1、sde1、sdf1、sdg1,并且把分区类型的ID标记号改为“fd”


image.pngimage.png

3.4创建RAID设备


image.png

3.6查看RAID


mdadm -E /dev/sd[d-g]1

ls -l /dev/md0

cat /proc/mdstat

mdadm -D /dev/md0


3.7创建并挂载文件系统


image.png


3.8故障测试


扫描或查看磁盘阵列信息


启动/停止RAID阵列


设备恢复操作 模拟阵列设备故障 更换故障设备,并恢复数据


mdadm命令其他常用选项:


-r:移除设备


-a:添加设备


-S:停止RAID


-A:启动RAID


-f :模拟故障


命令:

image.png


相关文章
|
存储 SQL 关系型数据库
【赵渝强老师】使用mysqldump备份MySQL
本文介绍了 MySQL 自带的逻辑备份工具 mysqldump 的使用方法。通过 mysqldump,可以将数据库中的数据转换为对应的 SQL 插入语句,便于备份和还原。文章详细说明了如何备份所有数据库、指定数据库及特定表,排除某些表不备份的操作,以及删除数据库后如何通过备份文件恢复数据。同时提供了视频讲解和具体命令示例,帮助用户更好地理解和应用该工具。
1282 5
|
人工智能 并行计算 云计算
从UALink近期发展再看GPU Scale Up的互连方向
ALink System的目标是聚焦GPU算力需求、驱动云计算定义的开放生态,形成智算超节点的竞争力。
|
存储 机器学习/深度学习 并行计算
GPU通信互联技术:GPUDirect、NVLink与RDMA
在高性能计算和深度学习领域,GPU已成为关键工具。然而,随着模型复杂度和数据量的增加,单个GPU难以满足需求,多GPU甚至多服务器协同工作成为常态。本文探讨了三种主要的GPU通信互联技术:GPUDirect、NVLink和RDMA。GPUDirect通过绕过CPU实现GPU与设备直接通信;NVLink提供高速点对点连接和支持内存共享;RDMA则在网络层面实现直接内存访问,降低延迟。这些技术各有优势,适用于不同场景,为AI和高性能计算提供了强大支持。
|
自然语言处理 iOS开发
如何破解mac欧路词典,仅限个人使用,商用还请付费
这款软件非常好用,去官网看到才发现是个人开发项目, 在知乎、论坛、微信公众号、小红书等发表欧路词典的介绍文章或使用心得 就有机会获赠免费注册码一个,很容易获得,大家也可以去官网底部看下要求,商用的话还是建议购买付费版本
如何破解mac欧路词典,仅限个人使用,商用还请付费
|
SQL 存储 Java
一文帮你搞定MyBatis的类型转换模块,深度好文,欢迎一键三连!!!
MyBatis是一个持久层框架ORM框架,实现数据库中数据和Java对象中的属性的双向映射,那么不可避免的就会碰到类型转换的问题,在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换为JDBC类型,而从结果集中获取数据时,则需要从JDBC类型转换为Java类型,所以我们来看下在MyBatis中是如何实现类型的转换的。
一文帮你搞定MyBatis的类型转换模块,深度好文,欢迎一键三连!!!
|
网络协议 算法 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(上)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)
|
存储 安全 Unix
服务器的常用系统
【5月更文挑战第5天】服务器的常用系统
783 9
|
移动开发 分布式数据库
"二叉树的性质与推导及常见习题整理 "
这篇内容介绍了二叉树的一些性质及其推导。
1294 0
|
Rust 安全 JavaScript
Rust 和 WebAssembly 搞大事啦!代码在浏览器中运行,这波操作简直逆天!
【8月更文挑战第31天】《Rust 与 WebAssembly:将 Rust 代码运行在浏览器中》介绍了 Rust 和 WebAssembly 的强大结合。Rust 是一门安全高效的编程语言,而 WebAssembly 则是新兴的网页技术标准,两者结合使得 Rust 代码能在浏览器中运行,带来更高的性能和安全性。文章通过示例代码展示了如何将 Rust 函数编译为 WebAssembly 格式并在网页中调用,从而实现复杂高效的应用程序,同时确保了内存安全性和跨平台兼容性,为开发者提供了全新的可能性。
699 0