服务器硬件及RAID配置实战
1、RAID 概念概述
RAID(独立冗余磁盘阵列(Redundant Array of Independent Disks)) 是一种将多块硬盘组合成一个逻辑存储单元的技术。
通过特定的数据分布算法和冗余机制,RAID 能够在不同程度上实现以下目标:
1. 提高性能:通过并行读写操作提升整体速度;
2. 提高可靠性:通过数据冗余(如镜像或奇偶校验)实现容错;
3. 扩大容量:将多块硬盘合并为一个更大的逻辑卷。
2、常见的 RAID 级别
2.1 RAID 0(条带化 / Striping)
特点:数据分块后分布在多块硬盘上。
优点:读写性能提升显著。
缺点:没有冗余,一块硬盘损坏会导致全部数据丢失。
使用场景:对性能要求高但数据安全要求低的环境(如临时缓存、游戏盘)。

2.2 RAID 1(镜像 / Mirroring)
特点:两块硬盘存储完全相同的数据副本。
优点:高可靠性,一块盘损坏可自动切换到另一块。
缺点:存储利用率仅 50%,成本较高。
使用场景:重要数据存储(如数据库系统、服务器系统盘)。

2.3 RAID 5(带奇偶校验的条带化)
特点:数据和奇偶校验信息分布在所有磁盘上。
优点:在提升性能的同时提供一定的容错能力(可容忍一块盘损坏)。
缺点:写入速度略低于 RAID 0,重建时间长。
使用场景:常用于企业文件服务器和网络存储(NAS)。
2.4 RAID 10(RAID 1+0)
特点:先做镜像(RAID 1),再条带化(RAID 0)。
优点:兼顾性能与可靠性。
缺点:至少需要 4 块硬盘,成本较高。
使用场景:数据库、高性能服务器。
3、RAID 的应用建议
| 应用场景 | 推荐级别 | 说明 |
| 高速临时存储 | RAID 0 | 强调速度,不关心数据安全 |
| 系统盘 / 数据安全高 | RAID 1 | 提供镜像冗余 |
| 文件服务器 | RAID 5 | 平衡性能与安全 |
| 高性能数据库 | RAID 10 | 综合性能与可靠性 |
4、 RAID 实战
注意:由于磁盘阵列RAID 是在硬件设备上去做,现场没有环境,只能在操作系统上安装软RAID .
4.1、检查是否已安装mdadm软件包
rpm -q mdadm # 查看是否安装mdadm,没有安装执行下面命令安装
yum install -y mdadm
4.2、使用fdisk工具进行分区
使用fdisk.工具将新磁盘设备/dev/sdb、 /dev/sdc、 /dev/sdd、 /dev/sde划分出主分区sdb1、 sdc1、 sdd1、 sde1, 并且把分区类型的ID标记号改为"fd”
echo "- - - " > /sys/class/scsi_host/host0/scan # 刷新虚拟机的磁盘
fdisk -l # 查看新建磁盘
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
更改磁盘设置,以 /dev/sdb 为例:



全部做完之后查看
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x45105c84
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 fd Linux raid autodetect
磁盘 /dev/sdc:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd91272ee
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20971519 10484736 fd Linux raid autodetect
磁盘 /dev/sdd:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9d3973c9
设备 Boot Start End Blocks Id System
/dev/sdd1 2048 20971519 10484736 fd Linux raid autodetect
磁盘 /dev/sde:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x125e5c28
设备 Boot Start End Blocks Id System
/dev/sde1 2048 20971519 10484736 fd Linux raid autodetect
4.3、创建RAID设备
4.3.1 创建 RAID 5 顺序
① 创建RAID 5
mdadm -C -v /dev/md0 [-a yes] -15 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md0: 创建RAID5的名称。
-ayes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-1: 指定RAID 的级别,15表示创建RAID5。.
-n:指定使用几块硬盘创建RAID, n3表示使用3块硬盘创建RAID。
/dev/sd [bcd]1: 指定使用这3块磁盘分区去创建RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1: 指定用作于备用的磁盘

② 查看RAID磁盘详细信息
cat /proc/mdstat #还能查看创建RAID的进度
或者
mdadm -D /dev/md0
③ 用watch命令来每隔-一段时间刷新/proc/mdstat的输出
watch -n 10 'cat /proc/mdstat'
④ 检查磁盘是否EL做RAID
mdadm -E /dev/sd[b-e]1
看指定设备(磁盘或分区)上的 RAID 元数据(superblock)信息
⑤ 创建并挂载文件系统
mkfs -t xfs /dev/md0
mkdir /myraid
mount /dev/md0 /myraid/
df -Th
cp /etc/fstab /etc/fstab.bak
vim /etc/fstab
/dev/md0 /myraid xfs defaults 0 0
⑥实现故障恢复
mdadm /dev/md0 -f /dev/sdb1 #模拟/dev/sdb1故障
mdadm -D /dev/md0 #查看发现sde1已顶替sdb1
⑦创建/etc/mdadm.cinf 配置文件,方便管理软RAID的配置,比如启动、停止
echo ' DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
mdadm命令其它常用选项
-r: 移除设备
-a: 添加设备
-S: 停止RAID
-A: 启动RAID
mdadm /dev/md0 -f /dev/sdb1
mdadm /dev/md0 -r /dev/ sdb1
mdadm /dev/md0 -a /dev/ sde1
umount /dev/md0
mdadm -S /dev/md0
mdadm -As /dev/md0
#-s: 指查找/etc/mdadm. conf 文件中的配置信息
4.3.2 创建RAID 10 (先做镜象,再做条带)
mdadm -Cv /dev/md0 -11 -n2 /dev/sd[bc]1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0/dev/md1
其他步骤和RAID 5 一致。
总结
RAID技术通过不同的组合方式,在性能、可靠性和存储效率之间提供了多种选择:
RAID 0: 通过数据条带化(Striping)提升性能,但没有冗余,一旦一块硬盘损坏,所有数据都会丢失。
RAID 1: 采用数据镜像(Mirroring)策略,两块硬盘存储完全相同的数据,高可靠性,但存储利用率为50%,成本较高。
RAID 5: 结合了条带化和奇偶校验,提供了较好的性能与一定的容错能力(可容忍一块硬盘故障),但有重建时间较长的缺点。最小需要三块磁盘。
RAID 10: 是RAID 1和RAID 0的组合,利用镜像和条带化,能够容忍两块硬盘同时故障的同时兼顾了性能和冗余,是企业中较为常用的一种方案。
根据实际需求选择合适的RAID级别,可以有效提升存储系统的性能和可靠性。








