关于raid的基本原理软raid的实现演示(代码片段)

author author     2023-01-23     708

关键词:

一、RAID的基本原理
1、什么是RAID?
RAID是指磁盘阵列(Redundant Arrays of Independent Drives,RAID),其是由多个价格便宜的磁盘组合成一个容量巨大的磁盘组,以此来提升磁盘的系统效能。

2、作用及优点
第一、提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。
原因:在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器。
第二、通过数据校验提供容错功能。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

3、常用RAID的级别
RAID0
至少需要两块硬盘。在读写数据时,将数据分开写到各块硬盘上,以此来提高读写功能。
例子:假设有两块硬盘Disk1、Disk2,数据为A=A1,A2,A3...则有
技术分享图片

     优点:成本低、最易实现,读写性能都提升
     缺点:没有冗余性能,任何一块磁盘损坏这所有数据都不能访问。
** RAID1(磁盘镜像)**
    需要俩块硬盘。在读写数据时,先将硬盘分成两组,将数据分别写到每一组中。以便提供冗余性。同时从俩组硬盘上读写数据能提高其性能。
    例子:假设有两块硬盘Disk1、Disk2,数据为A=A1,A2,A3...则有
    ![](http://i2.51cto.com/images/blog/201811/22/2eb9dc196b537a5f890388144a9ab550.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    优点:具有冗余性,一块磁盘损坏仍可继续使用,较安全。读性能提升,写性能下降。
    缺点:但磁盘利用率很低,只有50%,另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。

RAID4
至少需要3块硬盘。使用校验信息技术在磁盘上存取数据。在丢失一块磁盘的时候可以通过校验信息与剩余磁盘数据恢复丢失的数据。但丢失两块时则无法恢复
例子:假设有四块硬盘Disk1、Disk2、Disk3、Disk4,数据为A、B、C...
技术分享图片

    优点:具有一定冗余性,磁盘利用率为1/(n-1),可进行并行操作。
    缺点:若损失磁盘超过一块或者修复数据时再损坏就数据永久损失了,并且在恢复数据时系统效率变低,校验码盘压力大容易形成瓶颈。

RAID5
至少需要3块硬盘。使用校验信息技术在磁盘上交叉存取数据。在丢失一块磁盘的时候可以通过校验信息与剩余磁盘数据恢复丢失的数据。但丢失两块时则无法恢复
例子:假设有四块硬盘Disk1、Disk2、Disk3、Disk4,数据为A、B、C...
技术分享图片

    优点:具有一定冗余性,磁盘利用率为1/(n-1),可进行并行操作。读写性能提升
    缺点:若损失磁盘超过一块或者修复数据时再损坏就数据永久损失了,并且在恢复数据时系统效率变低

**RAID0+1**
    至少需要偶数块磁盘。在读写数据时,先将硬盘分成两组,将数据镜像写到每一组中。每组数据在进行分布式读写。
    例子:假设有四块硬盘Disk1、Disk2、Disk3、Disk4,数据为A
    ![](http://i2.51cto.com/images/blog/201811/22/2bc709a17705f4980dba9f72b3f6d5e8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    优点:读写性能提升、具有冗余性
    缺点:RAID 0+1 只要有一个硬盘受损,同组RAID 0的所有硬盘亦会停止运作,可靠性较低。价格不菲,空间利用率为50%

**RAID1+0**
    至少需要偶数块磁盘。在读写数据时,先将硬盘分成n/2组,将数据分布式镜像写到每一组中。
    例子:假设有六块硬盘Disk1、Disk2、Disk3、Disk4、Disk5、Disk6,数据为A
    ![](http://i2.51cto.com/images/blog/201811/22/2354355a2f44584fcf79a6456bf02839.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

    优点:读写性能提升、具有冗余性,相较0+1可靠性更高
    缺点:价格不菲,空间利用率为50%

4、能组合的盘
SATA
SAS
SCSI

二、软RAID的实现
内核中有个md模块,用其将/dev/sd模拟成一个逻辑raid(软设备),在/dev/md#下(#为数字,raid的标志)
mdadm:md管理器,使用这个命令来创建raid。在linux中支持将任何块设备做成raid。
演示:此次创建软raid是在一块磁盘上创建。实际中在一块磁盘上创建raid没有任何意义。

mdadm:(为一种模式化命令)
-C:创建模式
-F:监控模式
-G:增长模式
-A:装配模式
--add、--fail、--remove:管理模式
模式中的专用选项:
-C /dev/md#下(#为数字)
-l 级别
-n 设备(硬盘)个数
-a 是否自动为其创建设备文件yes|no
-c CHUNK(数据块)大小
-D /dev/md#(#为数字) 显示md#的详细信息(--detail)

测试:
如何创建一个2G大小的raid?
注意:可以用四个512M大小或者两个1G大小分区。其大小一定要相同 。
在/dev/sdb的逻辑分区上创建磁盘分区/dev/sdb5、/dev/sdb6,类型为fd,大小分别为1G
#partprobe /dev/sdb //读取分区
#cat /proc/partitions //查看分区读取是否成功
技术分享图片

#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb5,6 //创建md0文件设备,级别为0,个数为2,分别为/dev/sdb5、6
技术分享图片

#cat /proc/mdstat //显示当前系统下已启用的raid设备
技术分享图片
从中可以看到md0已经启用

#mke2fs -j /dev/md0 //格式化设备
技术分享图片
#fdisk -l //查看设备
技术分享图片
#mount /dev/md0 /mnt //将设备挂载到/mnt目录下
#ls /mnt //ls /mnt目录查看
技术分享图片
此时,这个raid设备启用成功。可用mdadm命令查看详情
#mdadm -D /dev/md0
技术分享图片

创建一个2G大小的raid1?
答:在/dev/sdb的逻辑分区上创建磁盘分区/dev/sdb7、/dev/sdb8,类型为fd,大小分别为2G(再次另外再创建一个/dev/sdb9,大小为2G)
技术分享图片

如何添加移除设备以及停止阵列
先手动模拟使/dev/sdb7损坏
#mdadm /dev/md1 --fail /dev/sdb7
#mdadm -D /dev/md1
技术分享图片
从图中可以看到/dev/sdb7设备已损坏
移除损坏设备 /dev/sdb7
#mdadm /dev/md1 --remove /dev/sdb7
#mdadm -D /dev/md1
技术分享图片

新添设备 /dev/sdb9(新添的设备大小一定要和以前的大小相等)
#mdadm /dev/md1 --add /dev/sdb9
#mdadm -D /dev/md1
技术分享图片

技术分享图片
可以看到原来损坏的/dev/sdb7被新的/dev/sdb9所替代了。再替代之后会有一段时间的镜像复制过程。将/dev/sdb8的数据复制到/dev/sdb9上面。

如何停止阵列?
先将raid设备卸载:
#umount /media
再停止设备
#mdadm -S /dev/md1
技术分享图片
#mdadm -S /dev/md1
#rm -rf /dev/md1 //彻底删除md1设备

如何装备raid的配置文件?
#mdadm -D --scan > /etc/mdadm.conf //将其保存至配置文件中以便以后进行装配

*注:这只是我的各人心得,若您觉得有参考价值本人深感荣幸;若有不恰之处,请指出,谢谢!!!

raid原理(代码片段)

RAID(redundentarrayofindependentdisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡)。raid0:striping(... 查看详情

raid磁盘阵列的原理

RAID磁盘阵列的原理RAID概念 RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。 RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RA... 查看详情

软raid的实际搭建

...,所以我们通过软RAID,操作系统本身有这样的功能,来演示一下RAID的特性,来看看RAID是否真的有冗错性。举例:我们要做RAID-5,那么这个RAID-5要做的话,我们至少要用到三块硬盘。现在有一个这样的问题,你是否想过,RAID-5虽... 查看详情

raid磁盘阵列的原理

RAID磁盘阵列的原理RAID概念RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID... 查看详情

raid磁盘阵列的原理

RAID磁盘阵列的原理RAID概念RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID... 查看详情

raid介绍以及软raid的实现

...:提高IO能力:磁盘并行读写;提高耐用性:磁盘冗余来实现。但是raid不能取代数据备份,rai 查看详情

mdadm软raid

...),因此在生产环境下并不适用。但为了学习和了解RAID原理和管理,因此仍然进行一个详细的讲解:一、创建模式选项:-C专用选项:-l级别-n设备个数-a{yes|no}自动为其 查看详情

raid磁盘阵列(代码片段)

raid磁盘阵列raid基础硬raid:用raid磁盘阵列卡来实现。通过raid卡专用的软件来管理磁盘。软raid:用操作系统中提供的raid软件来实现磁盘阵列功能。成本低,性价比硬raid低,因为软raid会占用一定的cpu资源。raid磁盘阵列应用场景... 查看详情

软raid实现

几种raid类型,我就不在这里赘述了,企业一般都是用raid卡,所以一般使用软raid的非常少,但是也有用的,所以就写一个软raid的实验吧,其实用处不大。实验环境:centos6.9需要的硬件:5块硬盘,或者5个分区勉强当做试验也行。... 查看详情

raid磁盘阵列的原理与搭建

一、原理详解:1.理论:RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。??????RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬R... 查看详情

liunx软raid实现

...                     Liunx软Raid实现                                                    作者:尹正杰版权声明:原创作品,谢绝转载!... 查看详情

软raid管理

...v/md1、/dev/md2、/dev/md3等观察md的状态:cat/proc/mdstat软RAID的实现mdadm是模式化的工具,支持的RAID级别:LINEAR、RAID0、RAID1、RAID4、RAID5、R 查看详情

raid磁盘阵列的原理与搭建

RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡);在... 查看详情

riad的实现,以及mdadm命令的基本用法

注 :这个博文是软RAID的实现过程,在实际生产中主要是硬来实现磁盘冗余。本博文仅供学习,和硬RAID不能实现中使用。(1)常用RAID级别的介绍(只介绍级别,原理及raid历史自行学习)  1,RAID0:条带化,没有冗余功能... 查看详情

基本的raid介绍

...。RAID全称为独立磁盘冗余阵列(RdeundantArrayofIndependentDisks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。RAID通常被用在服务器 查看详情

raid磁盘阵列详解,raid分类及优缺点(代码片段)

...按照物理类型可以分为2大类:硬RAID、软RAID通过硬件实现RAID功能的,俗称硬RAID。通常有2种解决方案,一是外接式磁盘阵列柜(价格贵,企业级才需要)。二是通过在电脑上假装阵列卡,通过磁盘阵列卡实现RAID... 查看详情

raid学习(代码片段)

...(RAID,RedundantArrayofIndependentDisks),,简称磁盘阵列。其基本思想就是把多个相对便宜的硬碟组合起来,成为一个硬碟阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬碟。根据选择的版本不同,RAID比单颗硬碟有以下一... 查看详情

raid磁盘阵列

...高读写速度、同步备份(实时备份,即镜像)等功能。Raid的实现方法:硬raid:通过raid卡来raid功能。优点:性能高、稳定性好。缺点:成本较高,因为需要买raid卡。软raid:通过操作系统的raid软件来实现raid功能。优点:成本低。缺点... 查看详情