服务器硬件及RAID配置实战
通过数据条带化(Striping)提升性能,但没有冗余,一旦一块硬盘损坏,所有数据都会丢失。采用数据镜像(Mirroring)策略,两块硬盘存储完全相同的数据,高可靠性,但存储利用率为50%,成本较高。结合了条带化和奇偶校验,提供了较好的性能与一定的容错能力(可容忍一块硬盘故障),但有重建时间较长的缺点。最小需要三块磁盘。是RAID 1和RAID 0的组合,利用镜像和条带化,能够容忍两块硬盘同时故
1、RAID 概念概述
2、常见的 RAID 级别
2.1 RAID 0(条带化 / Striping)
2.2 RAID 1(镜像 / Mirroring)
2.3 RAID 5(带奇偶校验的条带化)
2.4 RAID 10(RAID 1+0)
3、RAID 的应用建议
| 应用场景 | 推荐级别 | 说明 |
| 高速临时存储 | RAID 0 | 强调速度,不关心数据安全 |
| 系统盘 / 数据安全高 | RAID 1 | 提供镜像冗余 |
| 文件服务器 | RAID 5 | 平衡性能与安全 |
| 高性能数据库 | RAID 10 | 综合性能与可靠性 |
4、 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: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 顺序
mdadm -C -v /dev/md0 [-a yes] -15 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
cat /proc/mdstat #还能查看创建RAID的进度
或者
mdadm -D /dev/md0
③ 用watch命令来每隔-一段时间刷新/proc/mdstat的输出
watch -n 10 'cat /proc/mdstat'
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 /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级别,可以有效提升存储系统的性能和可靠性。
更多推荐



所有评论(0)