linux 独立冗余磁盘阵列,独立冗余磁盘阵列介绍

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。

常用raid介绍

raid 0

RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

使用:以2块盘为例子,数据存储各一半

优点:写入读取快,适合保存非重要数据

可用空间:num*min(device)

01bda5557bb8a9bbfe5545245ccdaf7d.png

raid 1

RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

使用:以2块盘为例子,数据各一份

优点:读性能提升,数据冗余

缺点:写性能略有下降

可用空间:1*min(device)

9756adf833673851954151d72e7548b5.png

raid 4

RAID是英文Redundant Array of IndependentDisks的缩写,中文简称为独立磁盘冗余阵列。RAID就是一种由多块硬盘构成的冗余阵列。虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。RAID4即带奇偶校验码的独立磁盘结构,RAID4和RAID3很象。在独立访问阵列中,每个磁盘都是独立运转的,因此不同的I/O请求可以并行地满足

使用:以3块盘为例子,一块校验盘,用户还原数据,2块数据盘

优点:有冗余能力,读、写性能提升,允许坏一块盘

缺点:校验盘压力过大

可用空间:(N-1)*min(device)

raid 5

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

使用:以3块盘为例子,1块轮流做校验盘和2块轮流存储盘

优点:相比radi4,降低校验盘压力

缺点:只能坏一块盘

可用空间:(N-1)*min(device)

059660342fb5402fcc310fe07d398e1b.png

raid 6

RAID6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。

使用:以4块盘为例子,二块校验盘,用户还原数据,2块数据盘

优点:容错比raid 5好

缺点:写入没raid 5 好

可用空间:(N-2)*min(device)

raid 10

Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,右图只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。

使用:以4块盘为例子,分2对 raid 1,2对raid为raid 0

优点:提升读写,有冗余,每对raid1能坏一块

86e3c8d95d7b847a5719cbe8b9ed84e9.png

虚拟实现raid 5

mdadm 常用选项说明

支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;

模式:

-C: 创建模式

|--- -n #: 使用#个块设备来创建此RAID;

|--- -l #:指明要创建的RAID的级别;

|--- -a {yes|no}:自动创建目标RAID设备的设备文件;

|--- -c CHUNK_SIZE: 指明块大小;

|--- -x #: 指明空闲盘的个数;

-D:管理模式 显示raid的详细信息;

-f: 标记指定磁盘为损坏;

-a: 添加磁盘

-r: 移除磁盘

实验先创建4个1G的分区,用2块存储数据,1块存储校验,1块备用,创建raid 5,

#创建4块分区,注意格式是fd

[root@localhost sh]# fdisk /dev/sdb

命令(输入 m 获取帮助):t

分区号 (1-7,默认 7):5

Hex 代码(输入 L 列出所有代码):fd

已将分区“Linux”的类型更改为“Linux raid autodetect”

设备 Boot Start End Blocks Id System

/dev/sdb1 2048 16779263 8388608 5 Extended

/dev/sdb5 4096 2101247 1048576 fd Linux raid autodetect

/dev/sdb6 2103296 4200447 1048576 fd Linux raid autodetect

/dev/sdb7 4202496 6299647 1048576 fd Linux raid autodetect

/dev/sdb8 6301696 8398847 1048576 fd Linux raid autodetect

查看本机虚拟raid

[root@localhost sh]# cat /proc/mdstat

Personalities :

unused devices:

创建

[root@localhost sh]# mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdb{5,6,7,8}

#-x 1 一块是空闲备份 -l 5 raid5 -n 3块使用盘

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

再次查看

[root@localhost sh]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]

md0 : active raid5 sdb7[4] sdb8[3](S) sdb6[1] sdb5[0]

2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices:

#active 活动状态,可以使用

挂载

[root@localhost sh]# mke2fs -t ext4 /dev/md0

[root@localhost sh]# mount /dev/md0 /mnt/t2

[root@localhost sh]# df -h /mnt/t2/ #2g可以用设备

文件系统 容量 已用 可用 已用% 挂载点

/dev/md0 2.0G 6.0M 1.9G 1% /mnt/t2

详细信息查看:

[root@localhost t2]# mdadm -D /dev/md0

/dev/md0:

Version : 1.2

Creation Time : Mon Apr 23 03:14:26 2018

Raid Level : raid5

Array Size : 2095104 (2046.00 MiB 2145.39 MB)

Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)

Raid Devices : 3

Total Devices : 4

Persistence : Superblock is persistent

Update Time : Mon Apr 23 03:20:48 2018

State : clean

Active Devices : 3

Working Devices : 4

Failed Devices : 0

Spare Devices : 1

Layout : left-symmetric

Chunk Size : 512K

Consistency Policy : resync

Name : localhost.localdomain:0 (local to host localhost.localdomain)

UUID : 24dec4a5:d57dbe03:f9aa2729:b2997a05

Events : 18

Number Major Minor RaidDevice State

0 8 21 0 active sync /dev/sdb5

1 8 22 1 active sync /dev/sdb6

4 8 23 2 active sync /dev/sdb7

3 8 24 - spare /dev/sdb8 空闲状态

手动标记一块错误盘

[root@localhost t2]# mdadm /dev/md0 -f /dev/sdb6

mdadm: set /dev/sdb6 faulty in /dev/md0

[root@localhost t2]# cat /proc/mdstat #这个阶段可以观察数据恢复 直到active

Personalities : [raid6] [raid5] [raid4]

md0 : active raid5 sdb7[4] sdb8[3] sdb6[1](F) sdb5[0]

2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices:

再次观察

[root@localhost t2]# mdadm -D /dev/md0

#会发现

1 8 22 - faulty /dev/sdb6 #损坏盘 而8已经从空闲到正常使用

#如果在移掉一个

State : clean也会变化成clean,degrade降级状态

手动移除坏的分区

[root@localhost t2]# mdadm /dev/md0 -r /dev/sdb6

mdadm: hot removed /dev/sdb6 from /dev/md0

再次添加

[root@localhost t2]# mdadm /dev/md0 -a /dev/sdb6

mdadm: added /dev/sdb6

移除raid 5

[root@localhost mnt]# umount /mnt/t2

[root@localhost mnt]# mdadm -S /dev/md0

mdadm: stopped /dev/md0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值