首页 > 编程知识 正文

两块硬盘做软raid,硬盘做磁盘阵列

时间:2023-05-03 06:38:29 阅读:276447 作者:2107

概述:

RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。RAID的基本思想是把多个便宜的小磁盘组合到一起,组合为一个大磁盘组,使性能达到或超过一个容量巨大、价格昂贵、读写速度快的磁盘。
目前RAID技术主要分为俩种:基于硬件(服务器RAID控制器)的技术和基于软件的RAID技术。在linux系统种通过自带的软件就能模拟实现RAID功能,这样可省去购买昂贵的硬件 RAID控制器的费用,便可极大地增强磁盘地IO性能和可靠性。由于是用软件去模拟实现的RAID功能,所以它的配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当然基于硬件的RAID解决方案比软件RAID技术在性能上会胜一筹,具体表现在测试和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。在本章将详细讲述如何在linux服务器上创建及维护软件RAID。

1.RAID是磁盘冗余阵列,简称磁盘阵列。

RAID是一种把多块独立的物理磁盘按不同的raid级别组合起形成一个磁盘组,在逻辑上看是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不同级别数据冗余备份的一种技术。

2.RAID的优点:

用RAID最直接的好处是:
(1)提升数据安全性
(2)提升数据读写性能
(3)提供更大的单一逻辑磁盘数据容量存储

二、实现模式

1.软件磁盘阵列(software RAID):
主要由电脑主板CPU处理数组存储作业,缺点为耗损较多CPU资源运算RAID,优点是价格低。
2.硬件磁盘阵列(Hardware RAID):
RAID卡上内置处理器,不需要服务器的CPU运算。优点是读写性能最快,不占用服务器资源,可以用于任何操作系统,缺点是其售价很高,但在企业生产环境首选硬RAID解决方案。

三、 raid与LVM区别

LVM是在硬盘的硬盘分区上又创建一个逻辑层,以方便系统管理硬盘分区系统。
区别:
LVM:灵活的管理磁盘的容量,有一定的冗余和性能功能,但很弱。
RAID:更侧重性能和数据安全。

RAID级别介绍

随着RAID技术经过不断地发展,现已有RAID0到RAID6其中基本地RAID级别,同时还有RAID0+RAID1的组合形式,成为RAID10,还有RAID0+RAID5的组合形式,成为RAID50.当然级别并不能代表技术的高低,其中RAID2-RAID4基本上不在使用了。目前这些常见的RAID级别linux内核都能支持,本节以linux2.6以上的内核为例,在常见linux2.6内核中的RAID可支持一下级别:RAID0、RAID1、RAID4、RAID5、以及RAID6等。linux2.6的内核除支持以上几种RAID级别外,还可支持LINEAR(线性模式)的软RAID,线性模式将俩个或更多的磁盘组合到一个物理设备中,磁盘不必具有相同的大小,在写入RAID设备时会首先填满磁盘A,然后时磁盘B,依次类推

RAID级别间优缺点对比

运维生产环境常用RAID级别为RAID0,RAID1, RAID5 ,RAID10

raid介绍

1.RAID 0 又称为条带卷,它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,读写很快)
RAID0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

2.RAID 1 又称为镜像卷,它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操作方式是把用户写入硬盘的数据百分之百的自动复制到另外一个硬盘上,从而实现存储双份的数据。
要制作RAID 1,只支持两块盘,整个RAID大小等于两个磁盘中最小的那块的容量,因此,最好使用同样大小的磁盘,在存储时同时写入两块磁盘,实现数据完整备份,但相对降低了写入性能,但是读取数据时可以并发,相当于两块RAID 0的读取效率。

3. RAID5 是一种存储性能,数据安全和存储成本兼顾的存储解决方案。
RAID 5需要三块或以上的物理磁盘,可以提供热备盘实现故障恢复,采用奇偶校验,可靠性强,只有同时损坏2块盘时数据才会损坏,只损坏1块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。

4. RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
优点:极高的读写效率和较高的数据保护、恢复能力

注意一下Raid 10 和 Raid01的区别:
RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1)。
RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。

阵列卡介绍

阵列卡就是用来实现RAID功能的板卡,通常是有I/O处理器、硬件控制器、硬盘链接器和缓存等一系列零组件构成的。
不同的RAID卡支持的RAID功能不同,例如支持RAID 0、RAID 1、RAID 5、RAID 6、RAID 10等,RAID卡的接口类型;IDE接口、SCSI接口、SATA接口和SAS接口。
缓存(cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到混村,再由缓存和外边数据总线交换数据。它是RAID卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度。
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存能够大幅度提高数据命中率从而提高RAID卡整体性能。不同的RAID出厂时配置的内存容量不同,一般为几米到数百兆容量不等

RAID的种类及应用

IDE和SCSI是计算机的俩中不同的接口,前者普遍用于pc机,后者一般用于服务器。基于这俩中接口,RAID分为俩中类型;基于IDE接口的RAID应用,称之IDE RAID;而基于SCSI接口的RAID应用则相应称为SCSI RAID。
基于不同的架构,RAID又可以分为:

软件RAID(软件 RAID)
硬件RAID(硬件RAID)主板自带的RAID功能
外置RAID(Extenal RAID)RAID卡

1.软件RAID最多情况下已经包含在系统之中,并成为其中一个功能,如windows、Netware及linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统行性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统,主要是中央处理器的功能提供所有线程的资源。
2.硬件RAID通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会站用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论练级额何种硬盘,控制权都在RAID卡上,亦即是由系统所操控。在系统里,硬件RAID PCI卡通常都需要安装驱动程序,否则系统会拒绝支持。
3.外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装到系统里,而是安装在外置的存储设备中。而这里外置的存储设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能。因为它只有一张SCSI卡;所有的RAID功能将会转移到这个外置存储里。好处是外置存储往往可以连接更多的硬盘,不会收到系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要更多服务器连接到一个外置存储上,以提供容错能力。

配置RAID命令:

mdadm命令
作用:实现软raid,跟随不同选项作用不同
常用选项

-C --create:创建一个软RAID,后面需要标识RAID的设备的名称。例如,/dev/md0,/dev/md1-A --assemble:加载一个已存在的RAID,后面跟RAID以及设备的名称-S --stop:停止指定的RAID设备-D --detaill:输出指定RAID设备的详细信息 通常和-s是使用-s --scan:扫描配置文件/proc/mdstat 来搜索软RAID的配置信息,该参数不能单独使用,需要结合其他参数才能使用-l --level:指定RAID配置级别,例如,设置“--level=5”则表示创建阵列的级别是RAID5.-n --raid-devices:指定RAID中活动磁盘的数目-x 指定备用磁盘数量-G 改变在用阵列的大小或形态-v 显示细节-f:mdadm可以在Manage模式下,对运行中的阵列进行添加及删除磁盘。常用于标识failed磁盘,增加spare(热备)磁盘,以及从阵列中移走已经失效的磁盘等等。使用--fail(或者其缩写-f)指定磁盘损坏。-r --remove:删除RAID中的某个磁盘-a --add:向RAID中某个磁盘 创建软RAID 环境:


LINUX服务器中添加1块100G空闲的磁盘,划分4个20G的分区用来练习创建一个RAID5及其后期维护操作。

创建RAID5

mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sde[1-4]
mkfs.xfs /dev/md5
mkdir /raid
mount /dev/md5 /raid
mdadm -D /dev/md5

创建RAID的配置文件

RAID的配置文件名为“mdadm.conf”,默认是不存在的,所以需要手工创建,该配置文件存在的主要作用是系统启动时候能够自动加载软RAID,同时也方便日后管理。“mdadm.conf”文件内容包括:由DEVICE选项指定用于RAID的所有设备,和ARRAY选项所指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号

RAID配置文件操作如下:

mdadm -D -s > /etc/mdadm.conf
vim /etc/mdadm.conf
ARRAY /dev/md5 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=cc5d8d50:e0ee91db:68d40f3a:167bfdfc auto=yes //添加红色
如果没有创建RAID的配置文件,那么在每次系统开启后,需要手动加载软RAID才能使用,手工加载RAID的命令是:

mdadm -A /dev/md5 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4

维护软RAID

mdadm -D /dev/md5

模拟sde2硬盘损坏,将其拔出后在插入
mdadm /dev/md5 -f /dev/sde2

cat /proc/mdstat

磁盘损坏卸载:
mdadm /dev/md5 -r /dev/sde2
添加新硬盘:
mdadm /dev/md5 -a /dev/sdf1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。