RAID(Redundant Array of Independent Disks,中文简称:独立冗余磁盘阵列)是多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术
在用户看来,组成的磁盘组就像时一个硬盘,用户可以对它进行分区,格式化等等。
组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求
常用的RAID级别有以下几种:RAID0,RAID1,RAID5,RAID6,RAID1+0等
N块(N>=2)硬盘并行组成一个新的逻辑盘 (N容量总和)
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上(速度相当于提升2倍),因此具有很高的数据传输率,但它没有数据冗rong余,因此并不能算是真正的RAID结构
RAID 0只是单纯的提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响所有数据
RAID 0不能应用于数据安全性要求高的场合,不建议企业用户单独使用。
N(偶数)块硬盘组合成一组镜像 (N/2容量)
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
当原始数据繁忙时,可以直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能
RAID 1 时磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
N(N>=3)块硬盘组成阵列 (N-1)/N容量
一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
可靠性高,允许坏1块盘,不影响所有数据
N(N>=4)块盘组成阵列,(N-2)/N容量
据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用
RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此写性能较差
N/2块盘同时写入,N块盘同时读取
性能高,可靠性高
阵列卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的,不同的RAID卡支持的RAID功能不同,例如支持RAID0、RAID1、RAID5、RAID10等
RAID卡的接口类型:IDE接口、SCSI接口、 SATA接口、 SAS接口
IDE(Intergrated Drive Electronics),即“电子集成驱动器”,本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器
IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,特点时价格低廉、兼容性强
IDE属于并行接口
SCSI(Small Computer System Interface),小型计算机系统接口,是同IDE完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术
SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及支持热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端和高档工作站中
SATA(Serial ATA)接口的硬盘又叫串口硬盘,由于采用串行方式传输数据而知名
Serial ATA 2.0的数据传输率将达到300MB/s,最终SATA将实现600MB/s的最高数据传输率
SAS是新一代的SCSI技术,和现在流行的 Serial ATA (SATA)硬盘相同,都是采用串行技术以获得更高的传输速度
SAS的接口技术可以向下兼容SATA
缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。它是RAID卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存能够大幅度地提高数据命中率从而提高RAID卡整体性能
不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等
为Linux服务器添加4块SCSI硬盘
使用madadm软件包,构建RAID5磁盘阵列,提高硬盘存储的性能和可靠性
1.安装madadm
2.准备用户RAID阵列的分区
● 为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为:/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1
● 将其类型ID更改为“fd”,对应为“Linux raid autodeted“,表示支持用于RAID磁盘阵列
3.创建RAID设备
4.在RAID设备中建立文件系统
5.挂载并使用文件系统
查看是否安装mdadm:rpm -qa | grep mdadm
mdadm /dev/md0 -r /dev/sdb1 移除
mdadm /dev/md0 -a /dev/sdb1 添加
先创建分区,更换fd格式
mdadm -C(创建) -v(显示详细过程) /dev/md0(创建raid的名字,起名字) -l0(指定raid0)
-n(几块磁盘的意思)2(两块磁盘) /dev/sd[b-c]1(哪几块磁盘)
[root@localhost ~]#mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c]1 //创建
[root@localhost ~]#cat /proc/mdstat //查看阵列实时信息,过程,方法1
Personalities : [raid0]
md0 : active raid0 sdc1[1] sdb1[0]
41908224 blocks super 1.2 512k chunks
unused devices:
[root@localhost ~]#mdadm -D /dev/md0 //查看raid阵列详细信息,方法2
/dev/md0:
Version : 1.2
Creation Time : Thu Nov 7 09:36:45 2019
Raid Level : raid0
Array Size : 41908224 (39.97 GiB 42.91 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Nov 7 09:36:45 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : ba69f781:dc5d3736:d7277806:2deca5f7
Events : 0
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
[root@localhost ~]#mkfs.xfs /dev/md0 //格式化
[root@localhost ~]#mkdir /raid0 //创建目录
[root@localhost ~]#vim /etc/fstab //进入配置文件自动挂载
[root@localhost ~]# mount -a //启动挂载
这里配置的时自动挂载,也可使用命令单次挂载(重启后挂载失效,需重挂)
mdadm -C(创建) -v(显示详细过程) /dev/md1(创建raid的名字,起名字) -l1(指定raid1) -n(几块磁盘的意思)2(两块磁盘) /dev/sd[d-e]1(哪几块磁盘) -x1(指定1块备用) /dev/sdf1(哪几块磁盘备用)
[root@localhost ~]#mdadm -C -v /dev/md1 -l1 -n2 /dev/sd[d-e]1 -x1 /dev/sdf1 //创建
[root@localhost ~]#cat /proc/mdstat //查看阵列实时信息,方法1
[root@localhost ~]#mdadm -D /dev/md1 //查看阵列详细信息,方法2
[root@localhost ~]#mkfs.xfs /dev/md1 //格式化
[root@localhost ~]#mkdir /raid1 //创建目录
[root@localhost ~]#vim /etc/fstab //进入配置文件自动挂载
[root@localhost ~]# mount -a //启动挂载
查看raid1阵列详细信息:
[root@localhost ~]# mdadm -D /dev/md1 //查看阵列详细信息
/dev/md1:
Version : 1.2
Creation Time : Thu Nov 7 11:35:44 2019
Raid Level : raid1
…………省略部分内容
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1 //sdd1在使用
1 8 65 1 active sync /dev/sde1 //sde1在使用
2 8 81 - spare /dev/sdf1 //sdf1备用磁盘
mdadm -f /dev/md1 dev/sdd1 删掉磁盘sdd1
sdf1将自动顶上
[root@localhost ~]# mdadm -f /dev/md1 /dev/sdd1 //删除磁盘sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1
[root@localhost ~]# mdadm -D /dev/md1 //查看阵列详细信息
/dev/md1:
Version : 1.2
Creation Time : Thu Nov 7 11:35:44 2019
Raid Level : raid1
…………省略部分内容
Number Major Minor RaidDevice State
2 8 81 0 spare rebuilding /dev/sdf1
1 8 65 1 active sync /dev/sde1
0 8 49 - faulty /dev/sdd1 //sdd1被替换下来,sdf1在使用中
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde //创建
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: partition table exists on /dev/sde
mdadm: partition table exists on /dev/sde but will be lost or
meaningless after creating array
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat //查看阵列实时信息,方法1
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[===>.................] recovery = 17.1% (3603584/20954112) finish=1.4min speed=200199K/sec
unused devices:
[root@localhost ~]# mdadm -D /dev/md5 //查看阵列详细信息,方法2
/dev/md5:
Version : 1.2
Creation Time : Thu Nov 7 12:25:25 2019
Raid Level : raid5
Array Size : 41908224 (39.97 GiB 42.91 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Nov 7 12:26:23 2019
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 57% complete
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : 2dcb3007:89a72ec7:23ba6aee:93953214
Events : 10
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 //sdb1在使用
1 8 33 1 active sync /dev/sdc1 //sdc1在使用
4 8 49 2 spare rebuilding /dev/sdd1 //sdd1在使用
3 8 64 - spare /dev/sde //sde备用磁盘
[root@localhost ~]#mkfs.xfs /dev/md5 //格式化
[root@localhost ~]#mkdir /raid5 //创建目录
[root@localhost ~]#vim /etc/fstab //进入配置文件自动挂载
[root@localhost ~]# mount -a //启动挂载
[root@localhost ~]# mdadm -C -v /dev/md6 -l6 -n4 /dev/sd[b-e]1 -x2 /dev/sd[f-g]1 //创建
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md6 started.
[root@localhost ~]# mdadm -D /dev/md6 //查看阵列详细信息,方法2
/dev/md6:
Version : 1.2
Creation Time : Thu Nov 7 13:31:00 2019
Raid Level : raid6
Array Size : 41908224 (39.97 GiB 42.91 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Thu Nov 7 13:31:19 2019
State : clean, resyncing
Active Devices : 4
Working Devices : 6
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Resync Status : 23% complete
Name : localhost.localdomain:6 (local to host localhost.localdomain)
UUID : b6f625fc:037a6507:62b0ed91:668e7d0b
Events : 3
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 //sdb1在使用
1 8 33 1 active sync /dev/sdc1 //sdc1在使用
2 8 49 2 active sync /dev/sdd1 //sdd1在使用
3 8 65 3 active sync /dev/sde1 //sde1在使用
4 8 81 - spare /dev/sdf1 //sdf1备用磁盘
5 8 97 - spare /dev/sdg1 //sdg1备用磁盘
[root@localhost ~]# cat /proc/mdstat //查看阵列实时信息,方法1
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5](S) sdf1[4](S) sde1[3] sdd1[2] sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[===================>.] resync = 95.3% (19973980/20954112) finish=0.0min speed=206534K/sec
unused devices:
[root@localhost ~]#mkfs.xfs /dev/md6 //格式化
[root@localhost ~]#mkdir /raid6 //创建目录
[root@localhost ~]#vim /etc/fstab //进入配置文件自动挂载
[root@localhost ~]# mount -a //启动挂载
[root@localhost ~]# mdadm -C -v /dev/md10 -l1 -n2 /dev/sd[b-c]1 -x1 /dev/sdd1 //创建raid0
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 20954112K
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.
[root@localhost ~]# mdadm -D /dev/md10 //查看阵列详细信息,方法2
/dev/md10:
…………省略部分信息
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 //sdb1在使用中
1 8 33 1 active sync /dev/sdc1 //sdc1在使用中
2 8 49 - spare /dev/sdd1 //sdd1备用磁盘
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd[e-f]1 -x1 /dev/sdg1 //创建raid0
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 20954112K
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D /dev/md1 //查看阵列详细信息,方法2
/dev/md1:
Version : 1.2
…………省略部分信息
Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1 //sde1在使用中
1 8 81 1 active sync /dev/sdf1 //sdf1在使用中
2 8 97 - spare /dev/sdg1 //sdg1备用磁盘
[root@localhost ~]# mdadm -C -v /dev/md110 -l0 -n2 /dev/md10 /dev/md1 //创建raid 1+0
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md110 started.
[root@localhost ~]# cat /proc/mdstat //查看阵列信息,过程,方法1
Personalities : [raid1] [raid0]
md110 : active raid0 md1[1] md10[0]
41875456 blocks super 1.2 512k chunks
md1 : active raid1 sdg1[2](S) sdf1[1] sde1[0]
20954112 blocks super 1.2 [2/2] [UU]
md10 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
20954112 blocks super 1.2 [2/2] [UU]
unused devices:
[root@localhost ~]# mdadm -D /dev/md110
/dev/md110:
Version : 1.2
Creation Time : Thu Nov 7 19:13:01 2019
Raid Level : raid0
Array Size : 41875456 (39.94 GiB 42.88 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Nov 7 19:13:01 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost.localdomain:110 (local to host localhost.localdomain)
UUID : 3c6d322f:b1da560b:b4a87bdf:bccee99a
Events : 0
Number Major Minor RaidDevice State
0 9 10 0 active sync /dev/md10 //md10使用中,raid1
1 9 1 1 active sync /dev/md1 //md1使用中,raid1
raid1+0 在这里是创建两个raide1,并为两个raid1各加了一块磁盘作为备份,将两个raid1再做一个raid0。这里raid 1+0 的存储容量,因为是做了镜像的,所以是4块磁盘一半的容量,也就是2个磁盘的容量