欢迎光临
我们一直在努力

Linux(七)服务器硬件及RAID配置实战

文章目录

  • 一、RAID 概念概述
  • 二、常见的 RAID 级别
  • 三、RAID 应用建议
  • 四、Linux 系统 RAID 阵列部署完整过程
    • 🔸步骤1:环境说明
    • 🔸步骤2:安装 RAID 管理工具 mdadm
    • 🔸步骤3:硬盘分区并标记为 RAID 类型
    • 🔸步骤4:创建 RAID 阵列
      • ① 创建 RAID5 阵列(3数据盘+1热备盘)
      • ② 创建 RAID10 阵列(先做镜像,再做条带)
    • 🔸步骤5:查看 RAID 阵列状态
    • 🔸步骤6:创建文件系统并挂载使用
    • 🔸步骤7:RAID 故障模拟与恢复
      • ① 模拟硬盘故障
      • ② 移除故障硬盘
      • ③ 更换新硬盘并恢复
    • 🔸步骤8:保存 RAID 配置(防止重启失效)
    • 🔸步骤9:验证 RAID 阵列稳定性
  • 五、“创建 RAID5 的命令”详解

一、RAID 概念概述

  • RAID(独立冗余磁盘阵列)是将多块硬盘组合成一个逻辑存储单元的技术。
  • 目标:
    • 提高性能(并行读写)
    • 提高可靠性(冗余容错)
    • 扩大容量(合并多盘)

二、常见的 RAID 级别

RAID 级别特点优点缺点适用场景
RAID 0 数据条带化分布 读写性能高 无冗余,一块盘坏则数据全丢 临时缓存、游戏盘
RAID 1 数据镜像 高可靠性 存储利用率仅50% 系统盘、数据库
RAID 5 带奇偶校验的条带化 性能与容错兼顾 写入略慢,重建时间长 文件服务器、NAS
RAID 10 先镜像再条带化 高性能 + 高可靠 至少需4块盘,成本高 高性能数据库、服务器

请添加图片描述


三、RAID 应用建议

场景推荐 RAID 级别说明
高速临时存储 RAID 0 强调速度,不关心数据安全
系统盘 / 数据安全高 RAID 1 提供镜像冗余
文件服务器 RAID 5 平衡性能与安全
高性能数据库 RAID 10 综合性能与可靠性

四、Linux 系统 RAID 阵列部署完整过程

🔸步骤1:环境说明

操作环境:CentOS 7 系统 硬件准备:5块空闲硬盘(/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf,可根据实际硬盘名称调整) 部署目标:先演示 RAID5(3块数据盘+1块热备盘)部署,再演示 RAID10 部署,包含故障模拟、恢复及配置保存全流程

🔸步骤2:安装 RAID 管理工具 mdadm

mdadm 是 Linux 下管理软件 RAID 的核心工具,先检查是否已安装,未安装则通过 yum 安装:

# 检查 mdadm 是否安装
rpm -q mdadm

# 若未安装,执行安装命令(需root权限,或加sudo)
yum install -y mdadm

🔸步骤3:硬盘分区并标记为 RAID 类型

所有要加入 RAID 阵列的硬盘,需先分区并将分区类型 ID 设为 fd(Linux raid autodetect):

# 对 /dev/sdb 分区(以sdb为例,sdc、sdd、sde、sdf操作相同)
fdisk /dev/sdb

# 分区操作流程(fdisk交互命令):
# 1. 输入 n → 创建新分区
# 2. 输入 p → 选择主分区
# 3. 分区号默认(1),回车
# 4. 起始扇区默认,回车
# 5. 结束扇区默认(使用整个硬盘空间),回车
# 6. 输入 t → 更改分区类型
# 7. 输入 fd → 设置类型为RAID
# 8. 输入 w → 保存分区表并退出

# 重复上述 fdisk 命令,分别对 /dev/sdc、/dev/sdd、/dev/sde、/dev/sdf 进行分区(各分1个主分区,类型设为fd)
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
fdisk /dev/sdf

🔸步骤4:创建 RAID 阵列

① 创建 RAID5 阵列(3数据盘+1热备盘)

RAID5 特点:分布式奇偶校验,允许1块硬盘故障,数据不丢失;热备盘在数据盘故障时自动顶替

# 命令解析:
# -C:创建新阵列
# -v:显示详细过程
# /dev/md0:RAID设备名称(自定义,如md1、md10等)
# -l5:指定RAID级别为5
# -n3:指定数据盘数量为3
# /dev/sd[bcd]1:3块数据盘的分区(sdb1、sdc1、sdd1)
# -x1:指定热备盘数量为1
# /dev/sde1:热备盘分区

mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1

② 创建 RAID10 阵列(先做镜像,再做条带)

RAID10 特点:结合 RAID1(镜像)和 RAID0(条带),性能高、容错性强(允许每组镜像中1块盘故障),需偶数块硬盘(至少4块)

# 第一步:创建2个 RAID1 镜像组(每组2块盘)
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[bc]1 # md1:sdb1和sdc1做镜像
mdadm -Cv /dev/md2 -l1 -n2 /dev/sd[de]1 # md2:sdd1和sde1做镜像

# 第二步:将2个 RAID1 组组成 RAID0 条带,形成 RAID10(设备名md10)
mdadm -Cv /dev/md10 -l0 -n2 /dev/md1 /dev/md2

🔸步骤5:查看 RAID 阵列状态

创建完成后,可通过多种命令查看 RAID 构建进度、详细信息:

# 方法1:查看 RAID 实时状态(包含构建进度,如[==>…])
cat /proc/mdstat

# 方法2:查看指定 RAID 设备的详细信息(如md0)
mdadm -D /dev/md0

# 方法3:每隔10秒刷新一次状态,实时监控构建进度(按Ctrl+C退出)
watch -n 10 'cat /proc/mdstat'

说明:RAID 阵列创建后会自动进行数据同步(构建过程),同步期间性能较低,需等待同步完成(进度100%)再进行后续操作

🔸步骤6:创建文件系统并挂载使用

RAID 设备本质是块设备,需创建文件系统(如xfs、ext4),再挂载到目录才能使用:

# 以 RAID5 设备 /dev/md0 为例(RAID10 设备 /dev/md10 操作相同)
# 第一步:创建 xfs 文件系统(CentOS7默认推荐,也可用 mkfs.ext4 /dev/md0)
mkfs.xfs /dev/md0

# 第二步:创建挂载目录(自定义,如/myraid)
mkdir /myraid

# 第三步:临时挂载(重启后失效)
mount /dev/md0 /myraid

# 第四步:设置永久挂载(写入/etc/fstab,重启后自动挂载)
echo '/dev/md0 /myraid xfs defaults 0 0' >> /etc/fstab

# 验证挂载是否成功(查看挂载信息)
df -h | grep /myraid

🔸步骤7:RAID 故障模拟与恢复

① 模拟硬盘故障

人为标记某块数据盘为故障状态(以 RAID5 的 /dev/sdb1 为例):

# -f:标记硬盘为故障(faulty)
mdadm /dev/md0 -f /dev/sdb1

# 查看状态,确认热备盘 /dev/sde1 是否自动激活(顶替sdb1)
cat /proc/mdstat

② 移除故障硬盘

将故障盘从 RAID 阵列中移除:

# -r:移除故障盘(remove)
mdadm /dev/md0 -r /dev/sdb1

# 查看移除后的状态
mdadm -D /dev/md0

③ 更换新硬盘并恢复

将新硬盘(如 /dev/sdf1,已分区并标记为RAID类型)加入阵列,作为新的热备盘(或直接顶替故障盘):

# -a:添加新硬盘(add)
mdadm /dev/md0 -a /dev/sdf1

# 查看恢复状态(新硬盘会自动同步数据)
cat /proc/mdstat

🔸步骤8:保存 RAID 配置(防止重启失效)

默认情况下,重启系统后可能无法识别 RAID 阵列,需将配置保存到 /etc/mdadm.conf:

# 第一步:写入设备信息(指定RAID使用的分区)
echo 'DEVICE /dev/sd[b-f]1' > /etc/mdadm.conf

# 第二步:扫描并写入当前RAID配置信息
mdadm –detail –scan >> /etc/mdadm.conf

# 验证配置文件(可选)
cat /etc/mdadm.conf

🔸步骤9:验证 RAID 阵列稳定性

# 1. 向挂载目录写入测试文件
dd if=/dev/zero of=/myraid/testfile bs=1G count=5

# 2. 查看文件是否正常
ls -lh /myraid/testfile

# 3. 重启系统,验证RAID是否自动识别、是否自动挂载
reboot

# 重启后验证
cat /proc/mdstat # 查看RAID状态
df -h | grep /myraid # 查看是否自动挂载


五、“创建 RAID5 的命令”详解

  • 创建 RAID5:

    mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1

  • 命令整体作用: 创建一个名为 /dev/md0 的 RAID 5 阵列,使用 3 块工作磁盘(/dev/sdb1、/dev/sdc1、/dev/sdd1),并指定 1 块热备盘(/dev/sde1),创建过程中输出详细日志(-v)。

  • 逐参数拆解:

参数含义
mdadm Linux 下管理软件 RAID 阵列的核心命令(md = Multiple Devices,多设备)
-C(Create) 创建新的 RAID 阵列(核心动作)
-v(Verbose) 启用详细输出模式,创建过程中显示进度、磁盘检测结果等日志,方便排查问题
/dev/md0 新 RAID 阵列的设备文件名(默认从 md0 开始,后续可创建 md1、md2 等)
-l5(level=5) 设定 RAID 级别为 5(-l 是 –level 的缩写):RAID 5 特点:分布式奇偶校验,需要至少 3 块工作盘;优势:兼顾性能(读写并行)和容错(任意 1 块工作盘损坏不丢数据);空间计算:总可用空间 =(单盘容量 × 工作盘数量)- 1 块盘容量(用于存储奇偶校验数据)
-n3(number=3) 指定 RAID 阵列的 工作磁盘数量 为 3(-n 是 –raid-devices 的缩写),必须与 RAID 级别匹配(RAID 5 最少 3 块工作盘)
/dev/sd[bcd]1 3 块工作磁盘的分区(用通配符 [bcd] 简化写法,等价于 /dev/sdb1 /dev/sdc1 /dev/sdd1):要求:这些分区需是独立磁盘的分区(不能是同一磁盘的不同分区),建议分区类型 ID 设为 fd
-x1(spare=1) 指定 RAID 阵列的 热备磁盘数量 为 1(-x 是 –spare-devices 的缩写):热备盘作用:平时不参与阵列读写,当某块工作盘损坏时,自动替代损坏磁盘,重建 RAID 数据,无需手动干预
/dev/sde1 指定的热备磁盘分区(需是独立于工作盘的磁盘分区,容量建议与工作盘一致或更大)
  • 补充说明(避坑关键)
  • 磁盘要求:
    • 工作盘(sdb1/sdc1/sdd1):需是不同物理磁盘的分区(同一磁盘分区做 RAID 无容错意义),容量建议一致(否则总容量按最小盘计算);
    • 热备盘(sde1):需独立于工作盘,容量≥工作盘最小容量(否则无法完成自动替换重建)。
  • RAID 5 特性:
    • 容错性:允许 1 块工作盘损坏(数据通过奇偶校验恢复);若 2 块及以上工作盘同时损坏,数据丢失;
    • 性能:读速度接近多盘并行(优于单盘),写速度略低于单盘(需计算并存储奇偶校验数据)。
  • 后续操作: 创建成功后,需格式化 RAID 阵列(如 mkfs.ext4 /dev/md0),再挂载使用(如 mount /dev/md0 /mnt/raid5)。
  • 查看状态: 可通过 mdadm -D /dev/md0(-D=Detail)查看阵列状态(工作盘、热备盘、同步进度等)。
    • 简化理解 用“团队协作”类比:
    • 3 块工作盘 = 3 个主力员工,一起处理数据(读写),并共同维护“备份校验信息”;
    • 1 块热备盘 = 1 个替补员工,平时待命,主力员工(工作盘)出问题时自动顶班,保证团队(阵列)正常运转;
    • RAID 5 = 团队的工作模式(兼顾效率和容错);
    • /dev/md0 = 团队的“对外接口”,系统通过它使用阵列的存储资源。

    赞(0)
    未经允许不得转载:171主机测评 » Linux(七)服务器硬件及RAID配置实战
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址