RAID磁盘阵列
简称:独立冗余磁盘阵列
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘)。从而提供比单个硬盘更高的存储性能和提供数据备份技术。
RAID级别
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
常用的RAID级别
RAID0、RAID1、RAID5、RAID6、RAID1+0等
RAID 0(条带化存储)
RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余。
RAID 0只是单纯的提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
RAID 0不能应用于数据安全性要求高的场合
RAID 1(镜像存储)
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能
RAID1是磁盘阵列中单位成本最高的。但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 5
N(N≥3)块盘组成阵列,一份数据产生N-1个条带,同时还有一份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
(N-1)/N 磁盘利用率
可靠性高,允许坏一块盘,不影响所有数据
RAID 6
N(N≥4)块盘组成阵列,(N-2)/N 磁盘利用率
与RAID 5相比,RAID 6增加了第二块独立的奇偶校验信息块
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
相对于RAID 5有更大的“写损失”,因此写性能较差
RAID 1+0(先做镜象,再做条带)
N (偶数,N>=4)。块盘两两镜像后,再组合成一个RAID 0
N/2磁盘利用率
N/2块盘同时写入,N块盘同时读取
性能高,可靠性高
RAID 0+1(先做条带,再做镜象)
读写性能与RAID 10相同
安全性低于RAID 10
4 10
RAID级别 硬盘数量 磁盘利用率 是否有校验 保护能力 写性能
RAID0 N N 无 无 单个硬盘的N倍
RAID1 N(偶数) N/2 无 允许一个设备故障 需写两对存储设备,互为主备
RAID5 N>=3 (N-1)/N 有 允许一个设备故障 需写计算校验
RAID6 N>=4 (N-2)/N 有 允许两个设备故障 需双重写计算校验
RAID10 N>=4(偶数) N/2 无 允许两个基组中各坏一个 N/2块盘同时写入
RAID级别 最少磁盘量 磁盘容量利用率(可用容量/磁盘总容量) 读性能 写性能 安全性 特点
0 2 100% 高 高 低 追求最大容量和速度,任何一块盘损坏,数据全部异常。
1 2 50% 低 低 中等 追求安全性,只要阵列组中有一块硬盘可用,数据不受影响。
5 3 n-1/n 高 低 高 在控制成本的前提下,追求硬盘的最大容量、速度及安全性,允许有一块硬盘异常,数据不受影响。
6 4 n-2/n 高 低 很高 比RAID5的数据安全性更强,但是写速度比RAID5更低
1+0 4 50% 高 中等 中等 综合RAID1和RAID0的优点,追求硬盘的速度和安全性,允许有一半硬盘异常(不可同组),数据不受影响
阵列卡的介绍
阵列卡全称为磁盘阵列卡,阵列卡是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制
器、硬盘连接器和缓存等一系列组件构成的,不同的RAID卡支持的RAID功能不同。
RAID卡分为硬RAID卡和软RAID卡两种,
通过硬件来实现RAID 功能的就是硬RAID;
通过软件并使用CPU 的 RAID 卡我们称为
软 RAIID,因为软 RAID 占用 CPU 资源比较高,所以绝大部分
的服务器设备都使用的硬RAID。
阵列卡接口的介绍
RAID卡的接口指的是支持的接口,目前有 IDE接口、SCSI 接口、SATA接口和SAS 接口。
阵列卡的缓存
阵列卡的缓存缓存是RAID 卡与外部的线交换数据的场所,工作过程中 RAID 卡先将数据传送
到缓存,再由缓存和外边数据总线进行数据交换。缓存的大小与速度是RAID卡的实际传输速度的
重要因素,大缓存能够大幅度地提高数据命中率从而提高 RAID卡整体性能。
多数的RAID卡都会配备一定数量的内存来作为高速缓存使用,不同的RAID卡出厂时配备的内
存容量不同,一般为几兆到数百兆容量不等,主要取供于磁盘阵列产品应用的范围。
4.热备盘
热备盘
热备盘就相当于RAID阵列的备份,
当RAID阵列坏掉的盘的数量超出了RAID阵列最大限制时,
再加了热备盘以后,
热备盘就会临时顶替换掉的盘,继续维持原来盘的数据正常运转,相当于磁盘的
最后一层保险
热备盘的工作原理
热备盘相当于帮Raid阵列多做多个备份,
如果Raid陈列里其中一个盘坏了,这个热备盘就会顶替Raid里的那个坏盘,
同时利用异或校验算法,把坏盘上面的数据原样做出来并存储在热备盘中。
这样一来就等于Raid没受到损坏,然后再找个一个同样的盘把坏盘替换掉,
Raid和热备盘的状态回复正常。
操作:
[root@192 ~]# rpm -qa | grep "mdadm" ---检查是否安装了组件
[root@192 ~]# mdadm -E /dev/sd[b-e]1 -------检查有没有磁盘已经安装了raid
mdadm: No md superblock detected on /dev/sdb1.
mdadm: No md superblock detected on /dev/sdc1.
mdadm: No md superblock detected on /dev/sdd1.
mdadm: No md superblock detected on /dev/sde1.
mdadm命令:
-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md5:创建 RAID5 的名称。
-a yes:–auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[bcd]1:指定使用这四块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,-x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘
cat /proc/mdstat #还能查看创建RAID的进度
或者
mdadm -D /dev/md5 #查看RAID磁盘详细信息
mdadm命令其它常用选项
r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID
mdadm -E /dev/sd[b-e]1 #检查磁盘是否已做RAID
[root@192 ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1 ---创建raid5的磁盘列阵
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/md5 started.
[root@192 ~]# cat /proc/mdstat ----检查安装进度
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[==>..................] recovery = 10.5% (2203648/20954112) finish=1.4min speed=220364K/sec
unused devices: <none>
[root@192 ~]# cat /proc/mdstat -------装完了之后检查:
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
[root@192 ~]# mdadm -D /dev/md5 ----查询详细的信息
/dev/md5:
Version : 1.2
Creation Time : Thu Oct 13 18:13:17 2022
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 Oct 13 18:15:02 2022
State : clean
Active Devices : 3 ---激活的设备
Working Devices : 4 ---工作的设备
Failed Devices : 0 ---不工作的设备
Spare Devices : 1 ---空闲的设备
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : 192.168.233.21:5 (local to host 192.168.233.21)
UUID : 3d950a02:3b0b3f96:f99f95ff:3149ae0b
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
[root@192 ~]# mkfs.xfs /dev/md5 ----格式化
meta-data=/dev/md5 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@192 ~]# mount /dev/md5 /opt/md5 ---挂载
[root@192 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 8.3G 9.5G 47% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 157M 141M 53% /boot
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/md5 40G 33M 40G 1% /opt/md5
[root@192 ~]# mdadm /dev/md5 -f /dev/sdb1 ---模拟故障
mdadm: set /dev/sdb1 faulty in /dev/md5
[root@192 ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Thu Oct 13 18:13:17 2022
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 Oct 13 18:44:17 2022
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : 192.168.233.21:5 (local to host 192.168.233.21)
UUID : 3d950a02:3b0b3f96:f99f95ff:3149ae0b
Events : 37
Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
0 8 17 - faulty /dev/sdb1
创建raid10:
这里注意的点是创建RAID10 需要先创建两个RAID1 ,
每个RAID1里分配两个硬盘,然后再创建RAID0,
将两个创建好的RAID1 配置上去,
这样就达到RAID10 的功能。
[root@localhost ~]# mdadm -Cv /dev/md0 -l10 -n4 -x1 /dev/sd{b,c,d,e,f}1
创建5个硬盘,1个做热备份
[root@192 ~]# mdadm -D /dev/md0
[root@192 ~]# mkfs.xfs /dev/md0
[root@192 ~]# mount /dev/md0 /data
删除raid:
1.先umount组建好的raid:umount /dev/md0
2.停止raid设备:mdadm -S /dev/md0
3.此时如果忘了raid中的硬盘名称,要么重启系统,要么运行:mdadm -A -s /dev/md0 然后再用mdadm -D /dev/md0查看raid
中包含哪几个硬盘。再次运行第二步停止命令:mdadm -S /dev/md0
4.删除raid里的所有硬盘:mdadm --misc --zero-superblock /dev/sdc,
mdadm --misc --zero-superblock /dev/sdd
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf
有几块硬盘,就按格式删几次,注意最后面的硬盘名称。
5.删除配置文件:rm -rf /f
补充:释放的硬盘在做一个raid5 raid1+0
生成配置:
mdadm -D -s >> /f
停止设备:
mdadm -S /dev/md0
激活设备:
mdadm -A -s /dev/md0
强行启动:
mdadm -R /dev/md0
增加新的成员
mdadm -G /dev/md0 -n5 -a /dev/sdg
本文发布于:2024-02-04 12:08:10,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170706858555426.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |