一、磁盘阵列RAID
1.1 概述
RAID:(Redundant Array of Independent Disk)独立冗余磁盘阵列RAID最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能,能够确保数据安全性,易于管理,在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。
1.2 常见RAID级别
1.2.1 RAID0
- 至少需要两块磁盘
- 数据条带化分布到磁盘(如果说需要存储的数据是12345678,那么可能是1357存储在disk1上面,2468存储在disk2上面)
- 高的读写性能,100%高存储空间利用率
- 没有数据冗余性,一块磁盘故障,数据将无法恢复
- 应用于:对性能要求高但对数据安全性和可靠性要求不高的场景,比如音频、视频等的存储

1.2.2 RAID1
- 至少需要两块磁盘
- 数据镜像备份写到磁盘上(工作盘和镜像盘)
- 可靠性高,磁盘利用率为50%
- 一块磁盘故障,不会影响数据的读写
- 读性能可以,但写性能不佳
- 应用于:对数据安全可靠要求较高的场景,比如邮件系统、交易系统等。

1.2.3 RAID5
- 至少需要3块磁盘
- 数据条带化存储在磁盘,读写性能好,磁盘利用率为
(n-1)/n - 以奇偶校验(分散)做数据冗余
- 一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)
- 是目前综合性能最佳的数据保护解决方案,兼顾了存储性能、数据安全和存储成本等各方面因素
- 适用于大部分的应用场景

1.2.4 RAID6
- 至少需要4块磁盘
- 数据条带化存储在磁盘,读取性能好,容错能力强
- 采用双重校验方式保证数据的安全性
- 如果2块磁盘同时故障,可以通过两个校验数据来重建两个磁盘的数据
- 成本要比其他等级高,并且更复杂
- 一般用于对数据安全性要求非常高的场合

1.2.5 RAID10
RAID10是raid1+raid0的组合- 至少需要4块磁盘
- 兼顾数据的冗余(
raid1镜像)和读写性能(raid0数据条带化) - 磁盘利用率为50%,成本较高

1.2.6 RAID01
RAID10是raid0+raid1的组合- 至少需要4块磁盘
- 兼顾数据的冗余(
raid1镜像)和读写性能(raid0数据条带化) - 磁盘利用率为50%,成本较高

1.2.7 总结
| 类型 | 读性能 | 写性能 | 可靠性 | 磁盘利用率 | 成本 |
|---|---|---|---|---|---|
RAID0 |
最好 | 最好 | 最低 | 100% | 较低 |
RAID1 |
正常 | 两份数据 | 高 | 50% | 高 |
RAID5 |
近似RAID0 |
多了校验 | 介于RAID0和RAID1之间 |
(n-1)/n | 介于RAID0和RAID1之间 |
RAID6 |
近似RAID0 |
多了双重校验 | 大于RAID5 |
(n-2)/n | 大于RAID1 |
RAID10 |
等于RAID0 |
等于RAID1 |
高 | 50% | 最高 |
RAID01 |
等于RAID0 |
等于RAID1 |
高 | 50% | 最高 |
1.3 软硬RAID
1.3.1 软RAID
-
软
RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。 -
软
RAID有以下特点:-
占用内存空间
-
占用
CPU资源 -
如果程序或者操作系统故障就无法运行
-
现在企业很少用软
RAID。
-
1.3.2 硬RAID
- 通过用硬件来实现RAID功能的就是硬
RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。 RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。- 不同的
RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID5、RAID10不等。
1.4 组件RAID阵列
1.4.1 环境准备
- 添加一块磁盘(或者直接添加多块磁盘,不分区,直接使用)
- 将一个大容量磁盘(20G)分区,形成多个小分区
[root@server1 ~]# fdisk /dev/sdc
[root@server1 ~]# partprobe /dev/sdc
[root@server1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 2G 0 part
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 2G 0 part
├─sdc2 8:34 0 2G 0 part
├─sdc3 8:35 0 2G 0 part
├─sdc4 8:36 0 1K 0 part
├─sdc5 8:37 0 2G 0 part
├─sdc6 8:38 0 2G 0 part
├─sdc7 8:39 0 2G 0 part
├─sdc8 8:40 0 2G 0 part
├─sdc9 8:41 0 2G 0 part
├─sdc10 8:42 0 2G 0 part
└─sdc11 8:43 0 2G 0 part
sr0 11:0 1 973M 0 rom
- 安装mdadm工具
[root@server1 ~]# yum install -y mdadm
| 参数 | 作用 |
|---|---|
-a |
检测设备名称 |
-n |
指定设备数量 |
-l |
指定RAID级别 |
-C |
创建 |
-v |
显示过程 |
-f |
模拟设备损坏 |
-r |
移除设备 |
-Q |
查看摘要信息 |
-D |
查看详细信息 |
-S |
停止RAID磁盘阵列 |
-x |
指定热备盘数量 |
1.4.2 组建RAID0
# 创建raid0
[root@server1 ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@server1 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Sep 2 23:25:16 2021
Raid Level : raid0
Array Size : 4188160 (3.99 GiB 4.29 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Sep 2 23:25:16 2021
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : server1:0 (local to host server1)
UUID : 2e5a48fa:87654810:3460dfd6:1d4951d5
Events : 0
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 34 1 active sync /dev/sdc2
# 格式化
[root@server1 ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=8, agsize=130944 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1047040, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 挂载
[root@server1 ~]# mkdir /mnt/mnt_md0
[root@server1 ~]# mount /dev/md0 /mnt/mnt_md0/
# 测试
#复制终端,用于监测
[root@server1 ~]# yum install -y sysstat
[root@server1 ~]# iostat -m -d /dev/sdc[12] 3
[root@server1 ~]# dd if=/dev/zero of=/mnt/mnt_md0/bigfile bs=1M count=1024
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdc1 156.00 0.00 77.84 0 233
sdc2 155.67 0.00 77.83 0 233
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdc1 140.33 0.00 70.17 0 210
sdc2 140.33 0.00 70.17 0 210
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdc1 45.33 0.00 22.67 0 68
sdc2 45.33 0.00 22.67 0 68
# 永久保存RAID0信息
[root@server1 ~]# echo "/dev/md0 /mnt/mnt_md0 xfs defaults 0 0" >> /etc/fstab
1.4.3 组建RAID1
# 创建raid1
[root@server1 ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdc3 /dev/sdc5
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
Continue creating array? y #输入y,同意即可
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
# 查看状态信息
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdc5[1] sdc3[0]
2094080 blocks super 1.2 [2/2] [UU]
md0 : active raid0 sdc2[1] sdc1[0]
4188160 blocks super 1.2 512k chunks
unused devices: <none>
[root@server1 ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Thu Sep 2 23:43:43 2021
Raid Level : raid1
Array Size : 2094080 (2045.00 MiB 2144.34 MB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Sep 2 23:43:54 2021
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : server1:1 (local to host server1)
UUID : bc67728d:e1c60a3c:8d445c5d:67a55444
Events : 17
Number Major Minor RaidDevice State
0 8 35 0 active sync /dev/sdc3
1 8 37 1 active sync /dev/sdc5
# 格式化
[root@server1 ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=130880 blks
= sectsz=512 attr

本文详细介绍了Linux磁盘管理中的RAID技术,包括RAID0、RAID1、RAID5、RAID6和RAID10的概念及优缺点。接着讲解了逻辑卷管理,其动态在线扩容和灵活的存储管理特性,以及如何创建和管理逻辑卷。最后,提到了磁盘配额的配置和扩容方法。
最低0.47元/天 解锁文章
3428

被折叠的 条评论
为什么被折叠?



