磁盘阵列(RAID)对于提升服务器数据的安全性或性能至关重要,在CentOS系统中挂载阵列,是一个管理员必须掌握的核心技能,本文将清晰、详细地引导您完成在CentOS上识别、创建、格式化并挂载磁盘阵列的完整流程。
理解阵列:安全与性能的基石
磁盘阵列(通常称为RAID)是一种将多块物理磁盘组合起来,作为一个或多个逻辑卷使用的技术,其主要目的不外乎两点:
- 增强数据可靠性(冗余): 如RAID 1(镜像)、RAID 5/6(奇偶校验),即使一块或多块磁盘损坏,数据依然可恢复。
- 提升存储性能: 如RAID 0(条带化),通过并行读写显著提高I/O速度,RAID 10则结合了RAID 1和RAID 0的优点。
在服务器环境中,使用阵列几乎是标准做法,CentOS作为稳定可靠的企业级Linux发行版,提供了强大的软件RAID支持(通过mdadm
工具)和硬件RAID管理能力。
操作前的关键准备
- 确认阵列类型: 明确您需要创建的是哪种RAID级别(RAID 0, 1, 5, 6, 10等),这决定了磁盘数量要求和最终特性(冗余、性能)。
- 物理磁盘就绪: 确保用于构建阵列的物理磁盘已正确安装在服务器上,并被CentOS系统识别,这些磁盘通常是未分区、未格式化的新盘,或您确定可以安全擦除的旧盘。
- 备份!备份!备份! 在进行任何磁盘操作前,强烈建议对服务器上的重要数据进行完整备份,磁盘重新分区和阵列创建操作具有潜在风险。
- 识别磁盘设备名: 使用
lsblk
或fdisk -l
命令列出系统识别的所有块设备,它们显示为/dev/sda
,/dev/sdb
,/dev/sdc
... 或/dev/nvme0n1
,/dev/nvme0n2
... (NVMe SSD)。务必准确记录您计划用于阵列的磁盘设备名。/dev/sdb
,/dev/sdc
,/dev/sdd
。 - 硬件RAID卡用户: 如果您使用的是硬件RAID卡(如LSI, Adaptec等),通常需要在服务器启动时进入RA卡配置界面(按特定键如
Ctrl+R
,Ctrl+H
等),先在卡的管理界面中创建好所需的虚拟磁盘(Virtual Drive),创建完成后,该虚拟磁盘在CentOS中会被识别为一个普通的块设备(如/dev/sda
),后续的步骤就与操作单块磁盘类似(分区、格式化、挂载),无需在CentOS中使用mdadm
创建软件RAID,本文主要聚焦软件RAID (mdadm
)。
核心步骤:使用 mdadm 创建并挂载软件阵列
以下步骤假设您使用mdadm
管理软件RAID,且目标磁盘为/dev/sdb
, /dev/sdc
, /dev/sdd
(以创建RAID 5为例,需要至少3块盘)。
安装 mdadm (如未安装):
sudo yum install mdadm # CentOS 7 sudo dnf install mdadm # CentOS 8/Stream
创建RAID阵列:
- 语法:
sudo mdadm --create /dev/md/<阵列名> --level=
--raid-devices=<磁盘数量> <磁盘设备1> <磁盘设备2> ... - 示例(创建名为
md0
的RAID 5阵列,使用sdb
,sdc
,sdd
):sudo mdadm --create /dev/md/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
- 系统会提示确认操作,输入
yes
继续。 --create
: 创建新阵列。/dev/md/md0
: 指定新阵列的设备文件路径。md0
是自定义名称,可以是md0
,data_raid
等(注意:CentOS 7+更推荐使用/dev/md/
格式)。--level=5
: 设置RAID级别为5。--raid-devices=3
: 指定参与阵列的物理磁盘数量。- 最后列出所有物理磁盘设备。
- 语法:
监控阵列构建状态:
- 创建后,阵列会开始初始化并同步数据(称为"resync"或"recovery"),这个过程可能需要较长时间,取决于磁盘大小和速度。
- 查看状态:
cat /proc/mdstat
或使用
mdadm
查看详情:sudo mdadm --detail /dev/md/md0
输出中会显示进度(如
resync = 25.6%
)和状态(active, resyncing
),耐心等待直至完成(状态变为active
)。
在阵列上创建文件系统:
创建挂载点:
- 挂载点是一个空目录,用作阵列文件系统的访问入口。
- 创建一个目录,例如挂载到
/data
:sudo mkdir /data
临时挂载阵列:
- 使用
mount
命令将阵列挂载到刚创建的目录:sudo mount /dev/md/md0 /data
- 您可以通过
/data
目录访问阵列存储空间了,使用df -h
命令查看挂载情况。
- 使用
配置永久挂载(开机自动挂载):
- 临时挂载在重启后会失效,需要修改
/etc/fstab
文件实现开机自动挂载。 - 获取阵列的UUID(推荐)或文件系统类型:
sudo blkid /dev/md/md0
输出类似:
/dev/md/md0: UUID="e1a1a1a1-...-..." TYPE="ext4" ...
- 编辑
/etc/fstab
文件:sudo vi /etc/fstab
- 在文件末尾添加一行(请务必替换为您的实际UUID和文件系统类型!):
UUID=e1a1a1a1-...-... /data ext4 defaults 0 0
- 第一列:使用
UUID=
后跟实际的UUID(更可靠,避免设备名变化),也可以直接用/dev/md/md0
(但设备名有时可能变化)。 - 第二列:挂载点路径 (
/data
)。 - 第三列:文件系统类型 (
ext4
或xfs
)。 - 第四列:挂载选项,
defaults
通常足够。 - 第五列:dump备份标志,
0
表示不备份。 - 第六列:fsck检查顺序,
0
表示不检查(阵列通常由md
层管理,根文件系统应为1
)。
- 第一列:使用
- 保存并退出编辑器(在vi中按
Esc
,输入:wq
回车)。
- 临时挂载在重启后会失效,需要修改
测试 fstab 配置:
- 为避免配置错误导致系统无法启动,务必测试:
sudo mount -a
- 如果命令没有报错,且
df -h
显示阵列已正确挂载到/data
,说明配置成功,如果报错,仔细检查/etc/fstab
中的UUID、路径、类型是否有误。
- 为避免配置错误导致系统无法启动,务必测试:
阵列的维护与管理
- 查看阵列状态: 定期运行
cat /proc/mdstat
或sudo mdadm --detail /dev/md/md0
检查阵列健康状态。 - 模拟磁盘故障(测试):
sudo mdadm /dev/md/md0 --fail /dev/sdb
(假设sdb
是成员盘)。 - 移除故障磁盘:
sudo mdadm /dev/md/md0 --remove /dev/sdb
。 - 添加新磁盘: 确保新磁盘已分区(如有必要)并准备好后:
sudo mdadm /dev/md/md0 --add /dev/sde
(假设sde
是新盘)。 - 监控邮件报警:
mdadm
可以配置在阵列状态变化(如降级、故障)时发送邮件通知,配置系统邮件和/etc/mdadm.conf
中的MAILADDR
项至关重要。 - 配置文件 (/etc/mdadm.conf): 系统通常会自动扫描并生成此文件的部分内容(
sudo mdadm --detail --scan >> /etc/mdadm.conf
),它有助于系统在启动时正确识别和激活阵列,建议在阵列配置稳定后更新此文件。
重要提示与建议
- 硬件RAID优先: 如果服务器配有性能良好的硬件RAID卡,通常建议在硬件层配置RAID,这能减轻CPU负担,提供更好的性能,并常带有电池保护缓存(BBWC/FBWC),提升写入安全和性能,硬件RAID的配置在卡自身的BIOS/UEFI配置工具中进行。
- 理解RAID不是备份: RAID主要解决磁盘故障导致的服务中断问题,它不能防范人为误删除、病毒破坏、火灾水灾等灾难。定期、异地备份仍是数据安全的终极保障。
- 选择合适的RAID级别: 根据您的需求权衡性能、冗余和成本,RAID 5/6适合读多写少、需要容量效率的场景;RAID 10提供最高性能和冗余,但成本最高(磁盘利用率50%)。
- 使用相同规格的磁盘: 构建阵列时,尽量使用型号、容量、速度一致的磁盘,以获得最佳性能和避免潜在问题,如果使用不同容量的盘,阵列通常以最小盘的容量为准。
- 定期检查: 将检查阵列状态纳入日常维护流程,自动化监控和报警是生产环境的最佳实践。
- 文档记录: 详细记录服务器的磁盘配置、阵列级别、成员盘、挂载点等信息,在故障排查或硬件更换时非常有用。
掌握在CentOS上挂载磁盘阵列是服务器管理的基石,遵循上述步骤,理解每一步的作用,结合对RAID原理的认知,您就能有效地为服务器部署可靠且高性能的存储解决方案,谨慎操作、充分备份、持续监控是保障数据安全的铁律。
海报
199