简介:面向服务器运维人员、系统集成商以及初次接触惠普DL388 G7的管理员,一份以图文笔记形式梳理服务器从初始化到Linux安装关键流程的配置手册。内容从F8进入iLO配置讲起,涵盖网络地址、用户权限与安全设置;随后展开RAID阵列卡设置与BIOS/RBSU中的十多个菜单,包括电源管理、标准启动顺序、启动控制器顺序、PCI中断、日期时间、ASR、温度关机、网络唤醒等选项,并对虚拟串口、NMI调试按钮、ROM切换、PCI bus padding等易忽略的高级设置做了逐一说明。文档也简要提及Linux安装前的分区与格式化思路。资源包内仅1个PDF文件,大小约945KB,正文结构清晰,适合现场部署、排障或设备上线前快速对照。当前已有1053人学习下载,尤其对自行维护老款惠普机架服务器的读者来说,能从iLO、阵列到系统安装形成完整操作闭环,减少反复摸索和误操作成本。
1. 一台2010年的双路老机器,凭什么还要写一份安装概要
OLI,是 Oracle Linux Install 的缩写。见过机房角落里那台 HP DL388 G7 的人,多半能体会这个标题在讲什么:老双路机器,2010 年前后的产物,CPU 和内存放到今天做数据库、中间件或虚拟化测试节点依然够用,但每次重装都要过三关——BIOS 里那个 VT-x 开关是不是被关掉了、P410i 阵列卡上缓存电池还健康吗、启动模式是 Legacy 还是被拨成了 UEFI。任何一关没过,Linux 安装都会变成反复重启的玄学现场。这篇文章适合接手这类旧服务器的从业者,从 BIOS 设置一路做到 Linux 安装和验证,把每一步的参数和判断标准写清楚,照着做就能少踩一轮坑。
2. BIOS 设置:进 Setup 的时机、虚拟化开关与启动模式
2.1 开机按键分配:F9 进 Setup,F10 进 iLO,F11 管启动介质
HP ProLiant G7 系列自检界面和后来的 HPE 机器不太一样,大体上是一个蓝底白字的字符界面。开机时屏幕会闪过一行提示,告诉你按哪个键进哪个界面,但往往一闪而过。三个键的分配容易记混:F9 进入 ROM Based Setup Utility,也就是我们说的 BIOS 设置;F10 进 iLO 3 管理界面,远程控制台在这里;F11 调出一次性启动菜单,只改变本次启动设备,不进 BIOS。
实际的坑是按键时机。G7 自检阶段对 USB 键盘的枚举比较慢,如果提示出现了一半才去按 F9,键盘还没被控制器识别,自然进不去。我一般会在开机后连续多次按 F9,或者先按一下空格让 POST 暂停,再从容进 Setup。如果你正被“无法进入BIOS界面”这类问题卡住,最常见的解决路径是把键盘换到主板后置 USB 口,避开前置面板转接板;接 KVM 的话先切换过去再重启机器,避免共享键鼠在自检阶段抢优先级。
这里插一句:如果你只是临时从 U 盘启动系统,根本不需要进 BIOS。插入写好的安装 U 盘,开机按 F11,在启动菜单里选择 USB 设备即可。F11 菜单里能看到 U 盘、光驱、硬盘和 PXE 网络启动,选错也没关系,重启再按一次就好。真正需要进 F9 的场景,是下面这几个参数需要动手改。
2.2 三个必调参数:VT-x、NUMA 与电源策略(附参考表)
第一个必须确认的是 Intel Virtualization Technology,也就是我们常说的 VT-x。G7 默认值可能是 Enabled,也可能是上一手使用者在某个时刻把它关掉了。如果这台机器日后要跑 KVM、Oracle VM,或者作为虚拟化测试节点,这个开关不打开,装完系统查/proc/cpuinfo会发现没有 vmx 标志,虚拟化软件要么装不上要么跑得极其别扭。设置路径在 System Utilities → Processor Options → Intel(R) Virtualization Technology,改成 Enabled。顺带看一眼旁边的 VT-d,默认 Enabled 就保持,默认 Disabled 也建议打开,做 PCI 直通时用得上。
第二个与装 Oracle 关系更大:NUMA。双路 G7 是典型的 NUMA 架构,两个 CPU 各自带着内存控制器,BIOS 里默认是 Enabled。跑 Oracle 数据库时保持开启,配合数据库层的 NUMA 调度,内存访问延时更低;有人为了省事把 NUMA 关掉,结果是所有内存请求都可能跨 Node 访问,典型的多路服务器性能反而跑不过单路。路径在 System Utilities → Processor Options → NUMA,保持 Enabled。
第三个经常被忽略的是电源管理。System Utilities → Power Management Options 里,默认可能是 OS Control 或者动态节能。选这类模式,Oracle Linux 里的lscpu会看到 CPU 频率来回跳,数据库的延迟曲线跟着抖动。做数据库或者跑性能测试,我一般会选 Static High Performance Mode,代价是整机功耗高一点,但频率曲线稳定得多。老机器做稳定环境,省那点电费不如换 CPU 性能确定性。
这几个参数整理成表,方便装机时对着勾:
| BIOS 参数 | 推荐值 | 影响面 |
|---|---|---|
| Intel Virtualization Technology | Enabled | KVM、Oracle VM、VT-d 直通 |
| NUMA | Enabled | 双路内存访问本地性,数据库延时 |
| Power Management | Static High Performance Mode | CPU 频率稳定性,数据库性能 |
| Boot Mode | Legacy BIOS | 与 Oracle Linux 7/8 安装器兼容性 |
2.3 启动模式:为什么我坚持用 Legacy BIOS 装 Oracle Linux
部分 G7 的 ROM 里能找到 UEFI 相关的启动选项,默认通常是 Legacy BIOS。我的观点很明确:装 Oracle Linux 7/8,主动把 Boot Mode 固定在 Legacy。原因有两个:一是这一代机器对 UEFI 的支持还停留在“能用但别依赖”的层面,UEFI shell、PXE 和部分驱动组合起来偶尔挑固件;二是 Linux 安装器在 Legacy 模式下走成熟路径,GRUB 安装和修复都有大量现成经验。你如果开机发现 GRUB 菜单不出现,先回 BIOS 确认 Boot Mode 有没有被设成 UEFI。
设置路径在 System Utilities → System Boot Options → Boot Mode,改成 Legacy BIOS 保存重启。顺带把启动顺序里的“USB Diskette on Key/USB Hard Disk”排到第一位还是第二位想清楚——我一般把阵列卡逻辑盘放在第一位,U 盘放第二位,装完系统拔掉 U 盘直接能从硬盘启动,不会因为启动顺序问题卡在黑屏。
改完 BIOS 别急着装系统,先让机器完整自检一遍。G7 的自检界面会列出 CPU 型号、内存总量、阵列控制器和网卡信息,确认硬件都识别到了,再进阵列卡配置。这一步花三十秒,能避免后面装到一半发现内存条没被识别这种低级问题。
3. 板载 P410i 阵列卡:RAID 级别选择与菜单操作
3.1 P410i 控制器:先确认缓存电池,再决定 RAID 级别
DL388 G7 的板载阵列卡是 Smart Array P410i,集成在主板上,带 512MB 缓存和一个 FBWC 模块——很多人口语里叫它“电池”,其实是一颗超级电容加闪存,停电时把写缓存数据刷进闪存。二手机器到手,第一个动作应该是查看缓存电池状态。如果模块已经老化或失效,控制器会强制把逻辑盘缓存策略降级为 Write Through,也就是直写,RAID 性能会明显缩水。
P410i 支持 RAID 0/1/10/5。对系统盘,我的建议永远是 RAID1,别在系统盘上碰 RAID5,启动性能差且无谓增加写惩罚。数据盘按写负载决定:四块盘做 RAID10 安全性高、随机写性能好;RAID5 在顺序写入或临时文件场景可用,但随机写性能会被校验计算拖累。很多人在这一步纠结“RAID5 容量利用率高”,等跑起数据库才发现写延迟难看,这时候已经没有后悔药,只能重新建组、拷数据。
这里还要区分一个概念:P410i 控制器本身可以工作在 RAID 模式和 HBA/JBOD 模式。做 OLI 就要先确认控制器处于 RAID 模式,否则装系统时可能完全看不到阵列逻辑盘。有的旧机器被人为改过配置,把控制器切成了 HBA 直通,看起来盘都在,但没有任何冗余保护,这对生产环境是致命隐患。
3.2 用 F8 进入 ORCA,创建逻辑盘的标准菜单流程
开机自检时,屏幕会出现一行提示,大意是按 F8 进入 Smart Array 配置工具。这个界面叫 ORCA,全称 Option ROM Configuration for Arrays。如果没看到提示,大概率是阵列卡的 POST 提示被关闭了,先去 BIOS 的 System Configuration 里确认 Embedded Smart Array 的 POST 提示处于启用状态。
进入 ORCA 之后,创建逻辑盘的流程基本固定:
- 选择 Create Logical Drive。
- 选择 RAID 级别。系统盘选 RAID 1,数据盘按上一节的原则选。
- 勾选参与阵列的物理盘。界面里会列出每个盘槽位的盘型号和容量,注意不要勾错槽位。
- 设置条带大小(Strip Size),这一步在创建后很难改,想清楚再确认。
- 系统提示创建逻辑盘会清空所选物理盘上的数据,确认后开始初始化。
- 初始化期间不要断电,不要拔盘,等进度条走完再退出。
创建完成后会看到一个逻辑盘,对应到 Linux 里就是/dev/sda。如果你打算做 RAID10,ORCA 里要选四块盘,它会把盘自动分成两组镜像;如果只选两块盘做 RAID1,逻辑盘容量就等于单盘容量。容量计算公式很简单:RAID1 是单盘容量,RAID10 是总容量的一半,RAID5 是总容量减一块盘。组之前先用这张表对照一下:
| RAID 级别 | 最少盘数 | 随机写性能 | 可用容量 | 适合场景 |
|---|---|---|---|---|
| RAID 1 | 2 | 与单盘基本持平 | 50% | 系统盘 |
| RAID 10 | 4 | 接近翻倍(镜像后条带) | 50% | 数据库数据盘 |
| RAID 5 | 3 | 有校验写惩罚 | 67% | 顺序写、存档 |
3.3 条带大小与缓存策略:创建前就要定下来的两件事
ORCA 里创建逻辑盘时,Strip Size 默认值可能是 256KB。这个参数很多人不关注,但对实际负载影响不小。我的选择习惯是:数据库 OLTP 这类随机读写偏多的场景选 64KB,大文件顺序读、虚拟机镜像存放选 256KB。条带大小的本质是数据在物理盘之间的分布粒度:条带越小,单次随机 IO 越可能只落在一块盘上;条带越大,顺序读越容易跨盘并行。选错不会报错,但性能特征会差一截。
缓存策略是第二个关键点。P410i 有缓存,但必须依赖 FBWC 模块。如果电池失效,控制器会自动把逻辑盘降级为 Write Through,表现为 dd 测速时写磁盘速度很难看,fio 4K 随机写可能只剩几十 MB/s。在 ORCA 里查看 Cache Status,OK且策略是 Write Back,这是理想状态;如果电池模块报 Failed,就别强行开 Write Back,否则掉电丢数据的责任在自己。装完系统后可以用命令确认完整状态,命令我放在第 6 章。
还有一个常见的理解误区:很多人以为 RAID 组创建完成后,条带大小和缓存策略随时能改。缓存策略确实能通过工具调整,但条带大小基本定死,只能重建逻辑盘。所以装机前花两分钟想清楚负载类型,比事后折腾省心得多。
4. 从镜像到系统:Oracle Linux 安装的分区与驱动处理
4.1 用 dd 写 U 盘镜像,F11 一次性菜单启动安装
拿到 Oracle Linux 镜像之后,我习惯在已有的 Linux 机器上用dd写启动盘,不依赖 Rufus 之类图形工具。命令很直接:
# 把 Oracle Linux 8.6 镜像写入 U 盘 # 注意:of= 后面的设备一定要通过 lsblk 确认,别写成系统盘 sudo dd if=OracleLinux-8.6-x86_64.iso of=/dev/sdX bs=4M status=progress sync参数说明:if=是镜像文件路径,of=是 U 盘设备文件,bs=4M把每次读写块调到 4MB,写镜像速度快得多;sync确保数据落盘后再拔 U 盘。这里最危险的坑是设备名写错,把系统盘覆盖了。用lsblk看一眼,识别出 U 盘对应的设备名,再执行 dd。写完之后 U 盘会变成一个混合引导介质,Legacy 和 UEFI 机器都能引导。
插上 U 盘,开机按 F11 调出一次性启动菜单,选择 USB 设备。G7 的启动菜单里会列出 U 盘的品牌和型号。如果启动后屏幕停在某个死循环或者直接进硬盘引导,回 BIOS 确认 Boot Mode 是 Legacy,再把 U 盘在启动顺序里的位置提到硬盘前面。
安装界面起来后,语言、时区、软件包选择按常规走。软件包这里建议选“最小安装”或者“服务器”,不要一上来选带图形界面的完整工作站。Oracle Linux 做服务器环境,装完再用dnf补包都来得及,多装的图形组件只会增加维护负担。
4.2 分区方案:/boot 独立、根分区 LVM、swap 留够
分区方案是安装阶段最值得花心思的地方。系统盘如果是 RAID1 逻辑盘,容量通常在 300GB 到 600GB 之间。这个容量下,我的标准做法是/boot独立分区、根分区用 LVM、swap 单独划。给一个 kickstart 风格的分区片段,图形安装器里按同样思路走就行:
# 典型 OL8 服务器安装分区方案(kickstart 格式) # 系统盘是阵列卡逻辑盘,安装器通常识别为 /dev/sda part /boot --fstype="xfs" --size=1024 part pv.01 --size=1 --grow volgroup vg_sys pv.01 logvol / --fstype="xfs" --vgname=vg_sys --size=1 --grow --name=root logvol swap --fstype="swap" --vgname=vg_sys --size=8192 --name=swap参数说明:/boot给 1GB 是因为内核版本更新会累积文件,512MB 在老机器上偏紧张;pv.01 --grow把剩余空间全部交给 LVM 物理卷;logvol / --grow让根分区吃满剩余空间;swap 按物理内存的 50% 到一倍设置,这里示例是 8GB,适用于 16GB 到 32GB 内存的机器。如果你打算后续跑 Oracle 数据库,建议再单独划一个卷给数据目录,不要把数据库数据文件和日志混在根分区里,否则备份和容量管理都头疼。
LVM 布局最大的好处是将来扩容方便。比如数据盘逻辑卷不够用了,再加一块物理盘做 RAID1,vgextend进现有卷组,lvextend扩展逻辑卷,不需要停业务。如果安装时图省事直接一个根分区裸用,后面要扩容量只能靠备份重灌,这是最常见的历史包袱。
4.3 安装器读不到阵列盘:hpsa 驱动与 inst.dd 兜底
P410i 在 Linux 内核里对应的是hpsa驱动,Oracle Linux 7 和 8 的内核都自带这个模块,正常安装不需要额外加载驱动。如果你碰到安装器里看不到任何磁盘,先别急着找驱动,排查顺序是:回 ORCA 确认逻辑盘状态是 OK,而不是 Recovering 或 Failed;确认控制器模式是 RAID,不是 HBA/JBOD;最后才考虑驱动问题。
万一安装器确实读不到盘,Anaconda 提供了inst.dd引导参数,用于在安装阶段加载额外的驱动 RPM。做法是把厂商提供的驱动文件放到另一个 U 盘或本地目录,在 GRUB 引导安装内核时追加参数:
# 在安装引导菜单按 e 编辑内核命令行,追加以下参数 # /dev/sdb1 是存放驱动 rpm 的分区,driver_rpms 是驱动文件所在目录 inst.dd=disk:/dev/sdb1:driver_rpms参数说明:inst.dd告诉安装器去指定位置寻找驱动 RPM,Anaconda 会把它解压并加载进安装环境。如果你碰上的是第三方 LSI/Avago 系列阵列卡,常见做法是去阵列卡厂商的支持页面按型号下对应操作系统的驱动 RPM,再用同样的方式加载。这一步的优先级很高——如果安装阶段不加载驱动,装完系统再补,还要重建 initramfs,绕远路。
装完之后验证一下驱动是否真的加载了,dmesg | grep -i hpsa能看到控制器信息,或者直接看/dev/sda是否存在。如果盘符正常,系统安装就算真正落地了。下一步是检查阵列健康状态,这部分我放到最后一章专门说。
5. 避坑:这台机器上常见的 5 个典型故障
5.1 按键没反应,进不了 BIOS 设置界面
现象:开机时屏幕出现 “Press F9…” 提示,但不管怎么按 F9,机器还是直接进系统,或者停在某个自检画面。
原因:G7 自检阶段对 USB 键盘的枚举速度慢,键盘还没来得及被控制器识别,按键已经被丢弃。前置 USB 口或者 KVM 切换器的共享键盘更容易踩中这个问题。
解决:把键盘插到主板后置 USB 口,开机后连续快速按 F9,不要按一下等结果。如果手里有 PS/2 键盘,用 PS/2 口最稳。远程维护场景,进 iLO 3 的远程控制台,在虚拟 KVM 里按 F9,相当于绕过物理键盘枚举的等待时间。这个技巧同样适用于 F10、F11 和 F8。
5.2 断电后阵列组进入 Recovering 甚至 Failed
现象:机器意外断电,再开机进入 ORCA 或系统里,逻辑盘状态显示 Recovering,有些情况直接 Failed,里面数据全没。
原因:写缓存里还有数据没有落盘,FBWC 模块失效,无法在断电瞬间把缓存内容刷入闪存,控制器只能从物理盘重建一致性。严格说,如果缓存策略是 Write Through,断电一般不导致丢数据;掉电出问题的机器,多半是电池失效却仍开着 Write Back。
解决:日常运维中定期检查 FBWC 状态,hpssacli ctrl slot=0 show status里能看到 Cache Module Status。重建期间不要拔盘,不要关机,等它自己同步完。如果盘没坏,重建完成就能恢复;如果物理盘本身有坏道,重建大概率失败,这时候只能从备份恢复了。老机器的电池模块建议直接换新,淘宝几十块的拆机件都比失效的模块靠谱。
5.3 RAID5 写缓存被降级,性能看不出是 RAID
现象:同一批盘,RAID5 读速度正常,写速度和单块盘直写差不多,甚至更慢。
原因:两个因素叠加:RAID5 本身有写惩罚,每次写都要读旧校验、算新校验、写数据和校验,一个逻辑写要放大成多次物理写;如果 FBWC 电池失效,缓存策略又被降级为 Write Through,RAID5 的短板暴露无遗。
解决:先看电池状态,电池 OK 就确认 Write Back 是否开启;电池不 OK 就换模块。如果不想换模块,数据盘就别用 RAID5,RAID10 在直写模式下随机写也要好得多。这属于选型问题,重新建组前一定备份数据。
5.4 装完系统引导不起来,GRUB 菜单不出现
现象:安装过程一切正常,重启后直接黑屏,或者停在 “Boot failed” 提示,进不了系统。
原因:最常见有三种:一是 Boot Mode 被设成 UEFI,但安装介质和 GRUB 实际按 Legacy 方式安装;二是启动顺序里 USB 设备优先,装完系统拔盘后找不到启动项;三是 GRUB 安装时把启动设备写到了错误的盘上。
解决:回 BIOS 把 Boot Mode 固定为 Legacy,启动顺序把阵列卡逻辑盘放第一位。如果是 GRUB 本身写错了,用安装 U 盘进救援模式,chroot 到系统环境重新执行grub2-install /dev/sda和grub2-mkconfig -o /boot/grub2/grub.cfg。这组命令对所有 RHEL 系发行版都适用。值得注意的是,G7 的逻辑盘在安装器里可能不是/dev/sda,先lsblk确认盘符再执行,否则装了和没装一样。
5.5 大容量逻辑盘装完只显示 2TB
现象:四块 4TB 盘做的 RAID 组,逻辑盘容量 16TB,但安装器识别出来只有 2TB,或者装完系统看分区表只有 2TB 可用。
原因:Legacy BIOS 模式下,安装器如果选择了 MBR 分区表,MBR 单分区上限就是 2TB。不是阵列卡的问题,是分区表格式的限制。老机器默认不带“自动选 GPT”的智能逻辑,需要人手动指定。
解决:在安装器分区界面,选择“自动创建分区”之前,先确认磁盘的分区表类型是 GPT。如果是用 kickstart 安装,加上clearpart --all --drives=sda --initlabel,initlabel会强制把磁盘初始化成 GPT 标签。GPT 模式下 GRUB 需要一块 BIOS Boot Partition,安装器会自动创建,不用手动干预。注意/boot分区要放在磁盘前 2TB 范围内,这对系统盘 RAID1 来说不是问题,数据盘的 GPT 大卷不受这个限制。
6. 装完不是终点:用命令确认阵列与系统状态
6.1 hpssacli 三行命令,判断阵列健康与缓存策略
系统装完后,第一条命令应该查阵列卡的整体状态。P410i 对应的管理工具是hpssacli,新版工具也常被叫做ssacli,命令格式一致:
# 查看控制器、逻辑盘、物理盘的完整配置 hpssacli ctrl slot=0 show config detail # 只看控制器整体状态,重点看 FBWC 电池 hpssacli ctrl slot=0 show status # 列出所有逻辑盘当前状态 hpssacli ctrl slot=0 ld all show status参数说明:slot=0指第一个阵列卡控制器,P410i 默认就在这个位置;ld是逻辑盘的缩写,pd是物理盘。输出里重点看三处:Cache Module Status 是否为 OK;Logical Drive Status 是否为 OK;每个物理盘 Status 是否为 OK。如果看到 Recovering,说明阵列正在重建,耐心等待;看到 Failed,基本确定有物理盘掉线,需要进一步看是哪一块盘。
缓存策略也要确认一下。show config detail的完整输出里有一行Caching: Write Back,配合 Cache Module Status OK,就是理想状态。如果显示Write Through,性能会有明显损耗。这条命令在之后每次大维护窗口都应该跑一遍,不要等出了故障才想起来查。
6.2 smartctl 和 dmesg,验证系统盘与驱动状态
阵列状态确认完,还要验证物理盘本身的健康和驱动加载情况。Linux 常用命令里,这组检查组合是我每台机器必跑的:
# 查看系统盘 SMART 整体健康状态 # -H 只看评估结论,不会在屏幕上刷大量日志 smartctl -H /dev/sda # 确认内核加载了 hpsa 驱动,能看到控制器信息 dmesg | grep -i hpsa # 列出块设备拓扑,确认分区和挂载点 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT参数说明:smartctl -H读取物理盘的 SMART 健康状态,PASSED表示基础健康评估通过。它的局限是只反映过去记录的磁盘内部自检结果,不能预测未来坏道,所以还要配合dmesg看运行时有没有 IO 错误。dmesg | grep -i hpsa如果没有任何输出,说明内核可能没有加载 hpsa,需要进一步查是不是驱动被系统更新覆盖了。lsblk是最直观的检查,一眼能看到分区、卷组挂载点对应关系,确认根分区确实挂载在那个 LVM 卷上。
6.3 把整套配置沉淀成一张可复用的安装卡
最后给一个习惯:每装完一台 G7,都把它当时的 BIOS 基线、阵列卡参数、分区方案和验证命令整理成一张安装卡,存进团队运维文档。这张安装卡就是那本《HP DL388 G7 做 OLI、RAID、BIOS 设置与 Linux 安装概要》的核心内容,后续任何人接手这台机器,不需要重新踩一遍坑。
安装卡至少包含这几栏:
| 项目 | 内容 | 验证方式 |
|---|---|---|
| BIOS 基线 | Boot Mode=Legacy、VT-x=Enabled、NUMA=Enabled、电源=Static High Performance | 进 System Utilities 逐项核对 |
| 阵列卡组态 | RAID1 系统盘、64K 条带、Write Back、电池 OK | hpssacli show status |
| 系统分区 | /boot=1G、LVM 根分区、swap=8G | lsblk / df -h |
| 网络规划 | 主机名、静态 IP、DNS | ip addr show |
| 验证命令集合 | 上文列出的所有命令 | 逐条执行 |
我第一次在这类老机器上装机时,就因为没有把电池状态记进安装卡,跳过了告警直接上生产,结果一次意外断电后 RAID 重建跑了一整天,业务从下午折腾到凌晨。从那以后,阵列卡电池和缓存策略永远写在安装卡的第一行。做运维不怕机器老,最怕的是同一个坑反复踩;把配置基线沉淀成文档,至少能让下一个接手的人少走一段弯路。希望帮到你。
本文还有配套的精品资源,点击获取