三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

浪潮NF5280M4服务器SAS9211-8i阵列卡RAID1与RAID1E混合配置实战

浪潮NF5280M4服务器SAS9211-8i阵列卡RAID1与RAID1E混合配置实战

1. 项目缘起:一次典型的服务器存储配置需求

最近在整理一批老旧的浪潮NF5280M4服务器,准备重新部署给一个对数据安全性和读写性能有混合需求的项目使用。这批机器配置了SAS9211-8i阵列卡,手头有五块同型号的SAS硬盘。客户的需求很明确:既要保证操作系统和核心应用的高可用性,又希望利用剩余盘位获得比单盘更好的性能和一定的冗余能力。直接上RAID5?考虑到只有三块盘做数据存储,重建压力和数据风险需要权衡。全部做RAID1?盘位利用率又太低。经过评估,最终决定采用一个混合阵列方案:用两块硬盘做标准的RAID1,用于安装操作系统和关键应用;剩余三块硬盘则配置为RAID1E,作为一个兼具性能、容量和冗余的数据存储卷。

这个方案听起来简单,但在NF5280M4这款经典的双路机架服务器上,配合LSI SAS9211-8i这款经典的HBA/RAID卡来实现,过程中有不少细节值得记录。SAS9211-8i严格来说是一款HBA卡,支持IR(集成RAID)模式,其配置界面和逻辑与高端RAID卡略有不同,操作不当容易踩坑。本文将详细拆解从规划、进入配置界面、到最终创建并验证这两个阵列的完整过程,并分享在NF5280M4这一特定平台上配置SAS9211-8i阵列的关键注意事项和避坑指南。

2. 规划先行:理解RAID1与RAID1E的选型逻辑

在动手操作之前,我们必须搞清楚为什么选择RAID1+RAID1E这个组合,而不是其他看似更常见的方案如RAID5或RAID10。这背后是对于需求、硬件条件与风险的综合考量。

2.1 RAID1:极致安全性的必然选择

对于操作系统卷,我们的首要目标是绝对的可靠性和可用性。RAID1(镜像)提供了最简单的1对1数据镜像。任何一块硬盘故障,系统仍可无中断运行,更换故障盘后重建过程也相对快速、对系统压力小。在NF5280M4的配置中,我们将两块硬盘配置为RAID1,得到一个逻辑盘。这个盘的容量等于单块硬盘的容量,读写性能理论上接近单块硬盘(读可能略有提升,写由于需写入两份数据,通常与单盘相当或略低)。牺牲一半的存储空间,换来的是最简单直接的数据保护,这对于系统盘来说是性价比最高的方案。

2.2 RAID1E:三块盘下的性能与冗余平衡术

剩下的三块硬盘如何处理?常见选项有:

  • RAID0:三块盘条带化,容量和读写性能最佳,但无任何冗余,一块盘损坏全盘数据丢失。风险不可接受。
  • RAID5:需要至少3块盘,使用一块盘的容量做奇偶校验,提供单盘故障冗余。优点是空间利用率高(本例中为2/3)。但在只有三块盘的情况下,RAID5的写性能较差(需计算奇偶校验),且一旦出现坏盘,重建过程会对剩余两块盘进行高强度的全盘读取,增加了第二块盘在重建期间故障的风险(导致数据全丢),即所谓的“重建风暴”。对于使用年限较长的硬盘,这种风险需要警惕。
  • RAID1E (RAID 1 Enhanced):这正是我们选择的方案。RAID1E可以理解为一种跨越所有磁盘的条带化镜像。它需要至少3块磁盘。数据会以条带为单位,同时写入到两块磁盘上,但这两块磁盘不是固定的配对,而是交替的。例如,条带1镜像在磁盘A和B,条带2镜像在磁盘B和C,条带3镜像在磁盘C和A,如此循环。

选择RAID1E的核心理由:

  1. 冗余性:允许任意一块硬盘故障而不丢失数据。这一点与三盘RAID5相同。
  2. 性能表现:读性能由于可以从多个盘读取数据,优于RAID1,接近RAID0。写性能虽然也需要写两份数据,但由于镜像对是交替的,写入负载相对均衡地分布到所有磁盘,其性能通常优于RAID5(尤其是随机写入)。
  3. 重建优势:当一块盘失效时,RAID1E的重建过程是使用剩余两块盘上的镜像数据来恢复故障盘数据,重建的数据源是分布式的,理论上对剩余盘的压力比RAID5的重建(需要读取所有剩余盘的数据进行异或计算)更温和。
  4. 容量:N块磁盘的RAID1E,可用容量为 N/2。三块盘就是1.5块盘的容量。虽然利用率低于RAID5的2/3,但考虑到其性能和安全性的折衷,这个代价是可以接受的。

因此,对于这三块用于存放数据库、虚拟机磁盘等对IO有一定要求的数据盘,RAID1E提供了一个在有限盘位下兼顾性能、容量和安全性的不错选择。

2.3 硬件兼容性与确认

浪潮NF5280M4服务器通常兼容标准的PCIe扩展卡。SAS9211-8i是一款基于LSI SAS2008芯片的PCIe 2.0 x8接口卡,它支持IT(直通)模式和IR(集成RAID)模式。我们需要的是IR模式,以启用基本的RAID0/1/1E/10功能。在操作前,务必通过开机自检画面或进入卡的管理界面,确认卡固件已刷写为IR模式固件。如果显示为“LSI SAS9211-8i”且在BIOS启动阶段有Ctrl+H或Ctrl+C的提示,则通常是IR模式。如果显示为“LSI SAS9211-8i”但无RAID配置提示,则可能是IT模式,需要重新刷写固件。

3. 实战操作:进入SAS9211-8i配置界面

浪潮NF5280M4开机后,在初始自检(POST)画面,需要密切关注屏幕上的提示信息。当检测到LSI SAS9211-8i阵列卡时,屏幕上通常会显示一行提示,例如“Press + for WebBIOS”或者“Press + to enter LSI Corp Configuration Utility”。不同固件版本提示可能不同,但以Ctrl+H和Ctrl+C最为常见。这里需要快速按下对应的组合键。

注意:服务器开机过程很快,这个提示信息可能一闪而过。如果错过,需要重启服务器再次尝试。也可以尝试在开机时连续、快速地多次按下Ctrl+H或Ctrl+C,以确保能捕捉到。

成功进入后,你会看到LSI MegaRAID或类似风格的配置界面。虽然SAS9211-8i是入门级卡,但其WebBIOS或配置工具界面与更高级的卡相似。主界面通常会显示物理驱动器(Physical Drives)和逻辑驱动器(Logical Drives)的信息。目前应该都是空的。

首先,我们需要确认五块硬盘都被正确识别。在物理设备管理页面,应该能看到五块硬盘的列表,包括它们的型号、容量、WWID、以及状态(通常是“Unconfigured Good”)。请务必核对硬盘数量、容量是否与预期一致。如果某块盘显示为“Foreign”或“Unconfigured Bad”,则需要先处理(如清除外来配置或检查硬盘健康)。

4. 分步创建RAID1阵列(2块硬盘)

我们将首先创建系统盘所需的RAID1阵列。

  1. 进入配置向导:在主界面选择“Configuration Wizard”或类似的选项。
  2. 选择配置方式:通常选择“New Configuration”或“Manual Configuration”。我们选择“Manual Configuration”以拥有完全控制权。
  3. 选择磁盘组:在磁盘选择界面,通过方向键和空格键(或根据界面提示,可能是Tab键和回车键)选中我们计划用于RAID1的两块硬盘。被选中的硬盘前方会有标记(如[X])。

    实操心得:在NF5280M4的背板布线可能影响硬盘顺序。建议选择背板上相邻端口的、型号和批次完全一致的两块硬盘,以减少潜在的性能差异和兼容性问题。在界面中,可以根据Enclosure(机柜)和Slot(槽位)号来准确选择。

  4. 添加到磁盘组:将选中的两块硬盘添加到右边的“Drive Group”中。可能会提示你确认操作。
  5. 配置RAID属性
    • 对刚创建的磁盘组,选择“RAID Level”,在下拉菜单中选择“RAID1”。
    • 设置条带大小(Strip Size):对于RAID1,条带大小影响不大,通常保持默认(如64KB或256KB)即可。对于系统盘,较小的条带(如64KB)可能对小文件读写更友好。
    • 设置读写策略(Read/Write Policy)
      • Read Policy:建议选择“Read Ahead”(预读)或“Adaptive Read Ahead”(自适应预读),这对顺序读取操作(如系统启动、加载应用)有加速效果。
      • Write Policy:这是关键设置。为了保证数据安全,强烈建议选择“Write Through”。在这种策略下,只有当数据被安全写入物理硬盘后,控制器才向操作系统报告写入完成。这确保了在突然断电时,不会有数据停留在缓存中丢失。虽然“Write Back with BBU”性能更好,但SAS9211-8i通常不带电池备份单元(BBU),使用回写(Write Back)有数据丢失风险。
    • 初始化(Initialization):选择“Full Initialization”(完全初始化)。这将在创建阵列时对所有数据块进行写零操作,虽然耗时较长(取决于硬盘容量),但能确保阵列状态稳定,并提前检测出硬盘的潜在坏道。对于新盘或需要彻底清理的旧盘,这是推荐步骤。
  6. 确认并创建:为这个逻辑驱动器(Logical Drive)设置一个易于识别的名字,如“OS_RAID1”。最后,确认所有设置,选择“Accept”或“Finish”开始创建。系统会提示此操作将清除硬盘所有数据,确认后即开始初始化过程。

创建过程会在后台进行,你可以返回主界面查看逻辑驱动器的状态,会显示“Initializing”(初始化中)。这个过程不能中断,否则可能导致阵列损坏。

5. 创建RAID1E阵列(3块硬盘)

完成RAID1创建后,我们接着用剩余的三块硬盘创建RAID1E。步骤与创建RAID1类似,但有几点关键区别。

  1. 再次进入配置向导:在逻辑驱动器列表页面,再次选择“Configuration Wizard” -> “Manual Configuration”。
  2. 选择三块硬盘:在物理磁盘列表中,选中剩余的三块状态为“Unconfigured Good”的硬盘。
  3. 添加到新磁盘组:将这三块硬盘添加到一个新的“Drive Group”中。
  4. 配置RAID属性
    • 选择RAID Level:在下拉菜单中寻找“RAID1E”。请注意,有些固件版本或界面中,RAID1E可能被称为“RAID 1 Enhanced”或与RAID10列在一起(因为RAID1E有时被视为一种特殊的RAID10)。务必确认选择的是支持三块盘的RAID1E,而不是标准的RAID10(需要偶数盘且是两两镜像再条带化)。
    • 条带大小(Strip Size):对于数据存储卷,需要根据主要负载类型选择。如果是大型顺序文件(如视频、备份),较大的条带(如256KB、512KB)可能效率更高。如果是随机小文件(如数据库事务日志、虚拟机系统盘),较小的条带(如64KB)可能更合适。如果没有特殊偏好,128KB或256KB是较为通用的选择。
    • 读写策略
      • Read Policy:同样建议“Adaptive Read Ahead”。
      • Write Policy依然坚持选择“Write Through”。理由同上,在没有BBU的情况下,数据安全优先。
    • 初始化:同样建议选择“Full Initialization”。
  5. 命名与创建:为这个逻辑驱动器命名,如“DATA_RAID1E”。确认设置后,开始创建和初始化。

现在,你的配置界面中应该能看到两个逻辑驱动器:一个RAID1,一个RAID1E。它们的容量应该分别是单盘容量和1.5倍单盘容量。

6. NF5280M4平台特定注意事项与避坑指南

在浪潮NF5280M4服务器上配置第三方阵列卡,有几个平台相关的细节需要特别注意,这些往往是文档中不会写明,但实践中容易出问题的地方。

6.1 引导顺序与UEFI/BIOS设置

创建完阵列后,服务器可能无法直接从新创建的RAID1卷启动。你需要进入服务器的BIOS设置(通常是Del键或F2键)。

  1. 设置引导模式:确认服务器的引导模式。NF5280M4通常支持UEFI和Legacy BIOS。如果你的操作系统计划安装为UEFI模式(如Windows Server 2012 R2以后、现代Linux发行版),需将“Boot Mode”设置为“UEFI”。如果安装Legacy模式,则设置为“BIOS”或“Legacy”。
  2. 配置引导设备:在启动(Boot)选项里,你需要将“LSI SAS9211-8i”或类似名称的选项(它代表从该阵列卡上的虚拟磁盘启动)调整到启动顺序的首位。有时这个选项可能隐藏在“Hard Drive BBS Priorities”或“Boot Option #1”的详细列表中。
  3. 检查SAS卡OPROM:确保BIOS中关于该PCIe插槽的“Option ROM”或“EFI Driver”是启用(Enabled)状态。这允许系统在启动初期加载阵列卡的固件,从而识别其上的虚拟磁盘作为引导设备。

6.2 驱动准备与操作系统安装

在安装操作系统(如Windows Server)时,你可能需要提前准备阵列卡驱动。

  1. 驱动来源:前往浪潮官网,查找NF5280M4的驱动页面,寻找SAS控制器驱动。更直接的方法是前往LSI(现属Broadcom)官网,根据SAS9211-8i的芯片型号(SAS2008)下载对应的IR模式驱动程序。Windows通常需要.inf.sys等文件,Linux则需要内核驱动模块。
  2. Windows安装:在安装程序选择磁盘的界面,如果看不到创建好的虚拟磁盘,点击“加载驱动程序”,浏览到你准备好的驱动文件夹,加载即可识别。
  3. Linux安装:大多数现代Linux发行版(如CentOS 7/8, Ubuntu 18.04+)的内核已包含megaraid_sas驱动,能自动识别SAS9211-8i IR模式创建的阵列。如果无法识别,需要在安装时选择“加载额外驱动”或使用驱动更新盘(DD Image)。

6.3 监控与管理

SAS9211-8i IR模式的管理功能相对基础。创建阵列后,建议:

  1. 定期检查状态:可以定期在服务器启动时进入阵列卡配置界面,查看逻辑驱动器和物理驱动器的状态,确认均为“Optimal”(最佳)。
  2. 使用操作系统工具:在Windows中,可以安装“MegaRAID Storage Manager”软件(需对应版本)。在Linux中,可以安装MegaCLIstorcli命令行工具。这些工具可以在操作系统内查看阵列状态、预测性故障告警等信息。
    • 例如,在Linux中使用storcli查看控制器信息:storcli /c0 show
    • 查看物理磁盘状态:storcli /c0/eALL/sALL show
    • 查看虚拟磁盘状态:storcli /c0/vALL show
  3. 处理硬盘故障:如果一块硬盘故障(状态变为“Failed”),阵列会降级运行但数据可访问。你需要:
    • 在服务器关机后,更换同型号或兼容型号的硬盘。
    • 开机进入阵列卡配置界面,新硬盘会显示为“Unconfigured Good”。找到降级的阵列,选择“Manage”或“Recover”,将新硬盘加入到原有的磁盘组中,阵列会自动开始重建(Rebuild)。重建期间应避免高负载操作。

6.4 性能调优考量

虽然SAS9211-8i是入门级卡,但仍有一些设置可以微调:

  • Strip Size选择:如前所述,根据负载选择。对于混合负载,128KB是一个安全的起点。
  • Cache Policy:在没有BBU的情况下,务必禁用磁盘缓存(在物理磁盘属性中,如果有选项,确保Disk Cache Policy设置为Disabled)。这是因为如果硬盘自身的写缓存启用,而阵列卡又报告写入完成,在断电时硬盘缓存中的数据仍会丢失。阵列卡的Write Through策略需要配合硬盘缓存禁用才能达到最佳的数据安全效果。
  • 队列深度:在操作系统层面,可以适当调整磁盘的队列深度以提升并发IO性能,但这需要结合具体应用测试。

经过以上步骤,你就在浪潮NF5280M4服务器上,利用SAS9211-8i阵列卡成功配置了一个兼顾系统安全性与数据性能的混合存储方案。这个方案尤其适用于盘位有限、且对存储有分层需求的场景。记住,没有万能的RAID方案,最好的方案永远是贴合你具体的数据重要性、性能需求和硬件条件的那一个。每次配置前,花时间做好规划,理解每一步操作背后的含义,是避免后期运维麻烦的关键。

← 返回列表