RAID磁盘阵列 基础

1一、磁盘阵列简介

磁盘阵列RAID(RedundantArrays of Inexpensive Disks),即容错廉价磁盘阵列。磁盘阵列可以通过技术将多个较小的磁盘整合成一个较大的磁盘设备。

整个RAID会根据等级(level)选择的不同,而使得整合后得磁盘具有不同的功能,基本常见的等级有以下几种:

RAID 0

最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0的组建至少需要两块硬盘,成本比较低,没有提供冗余或错误修复的能力。RAID 0可以提高整个磁盘的性能和吞吐量。

当RAID 0 使用同型号、容量的磁盘来组成时,效果较佳。这种模式的RAID会将磁盘先切出等量的区块,然后当一个文件要写入RAID时,该文件会依据块的大小切割好,之后再依序放到各个磁盘里面去。由于每个磁盘会交错存放数据,因此当你的数据要写入RAID,数据会被等量放置在各个磁盘上面。举例说明,当有一个由两块磁盘组成的RAID 0,将1G的数据写入其中,RAID 0中的两个磁盘会分别存放512M,如图1-1。

图 1-1 RAID 0的磁盘示意图

RAID 1

RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件。这样即使一个磁盘上的文件数据损坏,你的数据还是可以完整保留下来。虽然这样数据的安全性提高了,但成本会明显增加,磁盘的利用率也降至50%。RAID 1的写性能不佳,但是读性能稍微提升,原因是当从RAID 1中读取数据时可以同时从两块拥有相同数据的硬盘上进行读取。

假设RAID 1是由两块相同大小的磁盘组成的,当向其中存入1G的数据时,两块磁盘都会存储1G的数据,如图1-2。

图 1-2 RAID 1的磁盘示意图

RAID 10,RAID 01

RAID 10和RAID 01是将RAID 1和RAID 0以不同的方式组合。RAID 10是先分开数据然后对分组的数据进行镜像处理(即两个RAID 1组成一个RAID 0),RAID 01是先对数据进行镜像操作,然后分开存储(两个RAID 0组成一个RAID 1)。RAID 01和10的读写性能都有提升,并且都拥有冗余能力,但空间利用率都为降为50%。RAID 10如图1-3,RAID 01如图1-4。

图 1-3 RAID 10的磁盘示意图

图 1-4 RAID 01的磁盘示意图

RAID 5

RAID 5至少需要三块以上的磁盘才能够组成这种类型的磁盘阵列。RAID 5写入数据的方式类似RAID 01,不过每个循环的写入过程中,在每块磁盘还加入一个同位检查数据(Parity),这个数据会记录其他磁盘的备份数据,用于当有磁盘损毁时的救援。如图1-5。

图 1-5 RAID 5的磁盘示意图

图中,每个循环写入时,都会有部分的同位检查码(Parity)被记录,并且记录的同位检查码每次都记录在不同的磁盘,因此,任何一个磁盘损毁时都能够通过其他磁盘的检查码来重建原本磁盘内的数据。不过需要注意的是,由于有同位检查码,因此RAID 5的总容量会是(n-1)/n,而且当损毁的磁盘数量大于等于两块时,整租RAID 5的数据就损毁了。因此RAID 5默认支持一块磁盘的损毁情况。

RAID 5的读写性能均有提升,但其写性能低于RAID 0。

RAID 50

将RAID 5和RAID 0相结合。构建RAID 50至少需要6块磁盘,每3块做一个RAID 5,然后将两个RAID 5做成一个RAID 0。

RAID 50的读写性能提升,具有冗余能力,其空间利用率为(n-2)/n。

二、创建软RAID实践

硬RAID基于硬件基础,其设置时在BIOS界面,硬RAID要求必须要有RAID控制器以及驱动。

软RAID实践

基础命令:

mdadm:将任何设备做成RAID

模式化的命令 :

创建模式

-C

专用选项:

-l 级别

-n #设备个数

-a 是否自动为其创建设备文件yes no

-c 指定chunk(数据块)大小 2^n 默认为64k

-x #指定空闲盘个数

管理模式

--add,--remove(-r) --fail(-f,--set-faulty)

mdadm /dev/md# --fail /dev/sda7 模拟sda7为损坏

--remove

--add

监控模式

-F

增长模式

-G

装配模式

-A

mdadm -A /dev/md# /dev/sd{#1,#2,...}

-D /dev/md# 显示RAID阵列的详细信息

--detail

停止阵列

mdadm -S /dev/md#

--stop

(1)做一个可用大小为2G的RAID 0,设置为自动挂载。

可以采用2个1G的分区或者采用4个512M的分区来做2G的RAID 0。这里使用2个1G分区制作一个2G的RAID 0;

创建两个1G大小的分区/dev/sdb5 /dev/sdb6

fdisk /dev/sdb

将分区/dev/sdb{5,6}的system id为Linux raid auto(fd)

w保存并退出fdisk

使用partprobe命令让系统识别新分区

partprobe /dev/sdb

查看系统是否识别了新的分区表

cat /proc/partitions

执行mdadm命令,将/dev/sdb{5,6}创建为RAID 0 (没有mdadm命令可以使用yum install mdadm 安装)

mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{5,6}

查看当前设备上所有启用的RAID设备

cat /proc/mdstat

格式化新建的md0设备

mke2fs -j /dev/md0

挂载/dev/md0到/mnt/raid0 (新建/mnt/raid0)

mount /dev/md0 /mnt/raid0

设置开机自动挂载/dev/md0

echo "/dev/md0    /mnt/raid0    ext3    defaults    0 0">>/etc/fstab

停止阵列

首先取消md0的挂载

umount /dev/md0

停止md0

mdadm -S /dev/md0

删除阵列

rm /dev/md0

(取消挂载,使用--fail 和--remove删除raid 0中的设备,然后使用-S停止md0)

(2)做一个可用大小为2G的RAID 1,模拟磁盘损坏并添加新的磁盘。

制作RAID 1和上面的制作RAID 0步骤相似

使用2个2G分区制作一个2G的RAID 1;

创建两个2G大小的分区/dev/sdb5 /dev/sdb6

执行mdadm命令,将/dev/sdb{5,6}创建为RAID 1 (没有mdadm命令可以使用yum install mdadm 安装)

mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb{5,6}

使用 mdadm —D 查看md0的信息

mdadm —D /dev/md0

使用fdisk新建一个大小为2G的/dev/sdb7

使用 mdadm --add  为raid 1 添加一个预备磁盘

mdadm /dev/md0 --add  /dev/sdb7

模拟 raid 1下的/dev/sdb6 损坏

mdadm /dev/md0 --fail /dev/sdb6

/dev/sdb7会自动顶替坏掉的sdb6

(3)做一个可用大小为2G的RAID 5,使用-x指定空闲磁盘个数,模拟磁盘损坏观察效果。

制作步骤与RAID 0相似,这里可以使用3个1G分区制作一个2G的RAID 5

这里创建4个1G分区,其中一个当作预备磁盘

mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{5,6,7,8}

模拟/dev/md0中的/dev/sdb5 损坏

mdadm /dev/md0 --fail /dev/sdb5

空闲磁盘/dev/sdb8 自动顶替损坏的/dev/sdb5

参考文献:

[1] 鸟哥,汪世江.鸟哥的Linux私房菜基础学习篇(第三版)[M].北京:人民邮电出版社,2010:463-466.
时间: 2024-12-20 09:20:59

RAID磁盘阵列 基础的相关文章

RAID磁盘阵列原理

磁盘阵列(Redundant Arrays of independent Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意.原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性.磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上.磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时

RAID原理基础

RAID原理基础: 内存的速度可以达到5G每秒.甚至更高 现代硬盘的缺陷:IO性能极弱,稳定性极差: RAID:廉价磁盘冗余阵列技术是通过该多磁盘并行运行来提高计算机的存储IO性能. RAID分为很多种类,称之为RIAD级别.现代RIAD共有7类,常用的有以下四类: RAID 0 读写性能 RAID 1 读取性能.冗余性(空间利用率最高,性能最高) RAID 5 读写性能.冗余性 (最多损坏1块硬盘) RAID 6 读写性能.冗余性 (最多损坏2块硬盘) RAID 0 最少使用 2 块硬盘:将数

Linux系统——Raid磁盘阵列

Raid磁盘阵列 作用:解决磁盘速度.安全问题 Raid原理 Raid0 写入速度极快,有几块硬盘,写入速度就近似几倍,但是安全性极差,只要一块盘坏了,所有盘的数据全部坏掉,最少两块硬盘组合 性价比最高,安全性差,在不注重安全的地方可以使用 Raid1 相当于镜像,左右两边数据一样:第n块盘是第一块盘的镜像 安全性高,支持n-1块盘出现故障,一般银行使用这种架构:一旦出现磁盘故障,会从其他盘中复制数据 Raid5 较比Raid0 多了一个校验码,当盘出现故障时,校验码能够自动查找数据,反算回原始

RAID磁盘阵列及CentOS7系统启动流程

RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能.利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上. 磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据. 注:RA

浅谈RAID磁盘阵列配置与无人值守功能

一.RAID磁盘阵列介绍 RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列.RAID是把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常用的RAID级别有以下几种: RAIDO,RAID1,RAID5,RAID6,RAID1+0等. 二.RAID 0磁盘阵列 RAID 0连续以位或字节为单位

初识RAID磁盘阵列(内含理论加实际实验操作)

本文将带领各位初识Raid磁盘阵列,下面将分为几个部分进行讲解: 各个类型的RAID磁盘阵列详解 阵列卡介绍 构建软RAID磁盘阵列实操 在正式解释各类RAID阵列之前,首先来了解一下什么是磁盘阵列? 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意.?磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.利用这项技术,将数据切割成许

RAID磁盘阵列详解之RAID 6的配置与无人值守(带双重分散校验的数据条带),企业常用,必学!!!

RAID 6磁盘阵列介绍: RAID 6磁盘阵列由N (N>=4)块盘组成阵列, 存储容量为N块磁盘容量总和的(N-2) /N. RAID 6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级.与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区.当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图. RAID 6每个数据块有两个校验保护屏障(一个分层校验,一个是总体

RAID磁盘阵列之RAID 6

RAID6磁盘阵列介绍 1. RAID 6磁盘阵列由N (N>=4)块盘组成阵列, 存储容量为N块磁盘容量总和的(N-2) /N.2. RAID 6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级.与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区.当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图.3. RAID 6每个数据块有两个校验保护屏障(一个分层校验,

RAID磁盘阵列概念|原理|对比——全整理

前言:本文是由众多关于RAID磁盘阵列的文章博客整理而来,感谢各位前辈~ 什么是RAID? RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列.简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术.   RAID分类 RAID级别可以分为三类:标准级别.非标准级别和嵌套(组合)级别.标准RAID 级别有RAID 0~6 七个等级,其中最常用的是0.1.5