RAID磁盘阵列及RAID配置
- 一.RAID磁盘阵列
- RAID0
- RAID1
- RAID5
- RAID6
- RAID1+0
- RAID各级别对比
- 二.阵列卡及硬RAID软RAID介绍
- 三.创建管理RAID的工具mdadm
- 1.配置raid0
- 2.配置RAID1
- 3.配置RAID5
- 4.配置RAID1+0
- 5.配置相关补充
一.RAID磁盘阵列
是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)常用的RAID级别
RAIDO,RAID1,RAID5,RAID6,RAID1+0,RAID0+1,RAID5+0等
RAID0
RAID0是条带卷
RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余功能。RAID0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。RAID0不能应用于数据安全性要求高的场合
RAID1
RAID1是镜像卷
RAID1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。
RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
RAID5
RAID5是由N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
磁盘利用率为(N-1)/N
RAID5可靠性高,允许坏1块盘,不影响所有数据.
RAID6
RAID6由N(N>=4)块盘组成阵列,与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用。
相对于RAID 5有更大的“写损。磁盘利用率为(N-2)/N。
RAID1+0
RAID1+0由N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0产生。N/2块盘同时写入,N块盘同时读取,性能高,可靠性高。
RAID各级别对比
总结:
RAID0:又称条带卷;是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略
RAID1:又称为镜像卷;它将数据完全一致地分别写到工作磁盘和镜像磁盘上
RAID5:应该是目前最常见的 RAID 等级
RAID6:引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失;RAID5的扩展版
RAID10:是先做镜像再作条带化,是对虚拟磁盘实现镜像;缺点是成本高
二.阵列卡及硬RAID软RAID介绍
1.阵列卡概念
是用来实现RAID功能的板卡,分为硬RAID和软RAID。
现在RAID卡基本上支持各种RAID等级,常用的接口类型 SCSI SATA SAS 接口,IDE接口已经没有了。
2.硬RAID和软RAID的区别
硬RAID
在硬件层面上通过阵列卡实现RAID功能
实现步骤如下:
在服务器上面插入磁盘阵列卡
阵列卡上面插入磁盘
开机–配置RAID–安装系统
RAID卡有自己的处理器CPU
软RAID
在系统层面上,通过mdadm管理工具进行管理,实现RAID功能
三.创建管理RAID的工具mdadm
1.配置raid0
创建
mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 193b25aa-faee-4342-a79b-4eb3e023d813 /boot
├─sda2 swap 7f11b069-c75e-453e-a192-62c8dc883769 [SWAP]
└─sda3 xfs 0ce0ca4e-ddf3-474f-8a4e-a7ee517b5b81 /
sdb LVM2_member p0Hn5B-cvWg-vAR6-zWyu-5QBT-zr9T-S7KB8g
sdc
└─sdc1 ext4 a653da2c-f7d8-405f-a169-313c339f9d90
sdd
├─sdd1 xfs be9f4ade-f3a9-41c1-8acd-83ce58271edd /root/tom
├─sdd2 swap ed114f9a-cd02-4c4d-a67e-489b9218bd60
├─sdd4
└─sdd5
sde LVM2_member dsWetp-tjZV-WFo7-KSSS-d1PX-F2a4-kR11EG
sdf
sdg
sdh
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 /run/media/root/CentOS 7 x86_64[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
查询详细信息
mdadm -D /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun May 16 22:26:30 2021Raid Level : raid0Array Size : 41908224 (39.97 GiB 42.91 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Sun May 16 22:26:30 2021State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Chunk Size : 512KConsistency Policy : noneName : localhost.localdomain:0 (local to host localhost.localdomain)UUID : 938337dd:c19a4e56:e46b89f2:377462ecEvents : 0Number Major Minor RaidDevice State0 8 80 0 active sync /dev/sdf1 8 96 1 active sync /dev/sdg[root@localhost ~]# mdadm -Dsv /dev/md0
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ecdevices=/dev/sdf,/dev/sdg
将mdadm -Dsv /dev/md0的信息写入配置文件/etc.mdadm.cof
mdadm -Dsv /dev/md0 >/etc/mdsdm.conf
如果有多个raid信息要用》》追加
[root@localhost ~]# mdadm -Dsv /dev/md0 >/etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadmm.conf[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ecdevices=/dev/sdf,/dev/sdg
查询当前raid的实时状态
cat /proc/mdstat
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdg[1] sdf[0]41908224 blocks super 1.2 512k chunksunused devices: <none>
格式化挂载
[root&#64;localhost ~]# mkfs.xfs /dev/md0
meta-data&#61;/dev/md0 isize&#61;512 agcount&#61;16, agsize&#61;654720 blks&#61; sectsz&#61;512 attr&#61;2, projid32bit&#61;1&#61; crc&#61;1 finobt&#61;0, sparse&#61;0
data &#61; bsize&#61;4096 blocks&#61;10475520, imaxpct&#61;25&#61; sunit&#61;128 swidth&#61;256 blks
naming &#61;version 2 bsize&#61;4096 ascii-ci&#61;0 ftype&#61;1
log &#61;internal log bsize&#61;4096 blocks&#61;5120, version&#61;2&#61; sectsz&#61;512 sunit&#61;8 blks, lazy-count&#61;1
realtime &#61;none extsz&#61;4096 blocks&#61;0, rtextents&#61;0[root&#64;localhost ~]# mkdir /raid0[root&#64;localhost ~]# mount /dev/md0 /raid0[root&#64;localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 4.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 28K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/md0 xfs 40G 33M 40G 1% /raid0
2.配置RAID1
主要配置命令步骤
&#xff08;1&#xff09;创建md1
mdadm -C -v /dev/md1 -l1 -n2 /dev/sdc /dev/sdd
&#xff08;2&#xff09;查询信息
mdadm -D /dev/md1
&#xff08;3&#xff09;写入RAID配置文件&#xff1a;mdadm -Dvs /etc/md1>> /etc/mdadm.conf
&#xff08;4&#xff09;格式化
mkfs.xfs /dev/md1
&#xff08;5&#xff09;挂载
mkdir /raid1
mount /dev/md1 /raid1
3.配置RAID5
主要配置命令步骤
&#xff08;1&#xff09;创建md5
mdadm -C -v /dev/md5 -l1 -n3 -x1 /dev/sd[b,c,d,e]
&#xff08;2&#xff09;查询信息
mdadm -D /dev/md5
&#xff08;3&#xff09;写入RAID配置文件
mdadm -Dvs /etc/md5 > >/etc/mdadm.conf
&#xff08;4&#xff09;格式化
mkfs.xfs /dev/md5
&#xff08;5&#xff09;挂载
mkdir /raid5
mount /dev/md1 /raid5
4.配置RAID1&#43;0
主要配置步骤与命令
&#xff08;1&#xff09;添加4块新的硬盘重启
sdb,sdc,sdd,sde
&#xff08;2&#xff09;创建raid10
mdadm -C -v /dev/md10 -l10 -n4 /dev/sd[b,c,d,e]
&#xff08;3&#xff09;写入配置文件
mdadm -Dvs /etc/md10 > >/etc/mdadm.conf
&#xff08;4&#xff09;格式化
mks.xfs /dev/md10
&#xff08;5&#xff09;挂载
mkdir /raid10
mount /dev/md10 /raid10
5.配置相关补充
停止raid阵列
mdadm -S /dev/md5
将坏的硬盘进行移除,然后增加一块磁盘
mdadm -r /dev/md1 /dev/sde
mdadm -a /dev/md1 /dev/sdf
实时监控raid5状态0.5秒刷新
watch -n 0.5 ‘mdadm -D /dev/md5 | tail’
有热备份的情况下热备份变为正式盘
mdadm -G /dev/md5 -n4
恢复的时候去配置文件中扫描
mdadm -As//s
彻底删除RAID
rm -rf /etc/mdamd.conf&#xff1a;删除配置文件
再清除superblock
mdadm --zero-surpeblock /dev/sdb:擦除设备中MD超级块