序言
在使用惠普(HPE)服务器运行 Proxmox VE 时,硬件阵列卡(Smart Array Controller)通常会屏蔽底层的物理磁盘信息。 为了监控磁盘健康状态和配置阵列,我们需要安装 HPE 官方的 ssacli (Smart Storage Admin CLI) 工具。
此外,在不安装官方工具的情况下,我们也可以通过特定参数让 smartctl 穿透阵列卡直接读取物理硬盘的 SMART 信息。
smartctl -a -d cciss,<N> /dev/sg<M>方法一:Smartctl 穿透读取 SMART 信息
如果你只想查看硬盘的健康状况(如温度、通电时间、错误计数),而不需要配置阵列,通过 smartctl 穿透查询是最简单的方法,无需安装任何额外的驱动或工具。
命令格式
smartctl -a -d cciss,<N> /dev/sg<M>
# 或者直接对逻辑卷对应的设备节点(视驱动模式而定)
smartctl -a -d cciss,<N> /dev/sda-d cciss,<N>: 关键参数。告诉 smartctl 设备是 CCISS 类型(惠普阵列卡旧称),<N>代表物理磁盘的索引号,从 0 开始。/dev/sda: 你的阵列卡逻辑卷设备路径。
实际操作示例
假设系统识别到的阵列盘是 /dev/sda,你想查看第 5 块物理硬盘的信息:
smartctl -a -d cciss,4 /dev/sdaTIP
提示:你可以写一个简单的循环脚本来扫描所有可能的 ID,找出所有物理盘:
bashfor i in {0..10}; do echo "=== Disk $i ==="; smartctl -i -d cciss,$i /dev/sda; done
方法二:安装 HPE ssacli 管理工具
ssacli 是惠普官方提供的命令行配置工具,功能非常强大,支持查看详细的阵列卡状态、电池状态、配置 RAID、扩容等操作。
1. 添加 HPE 软件源
导入其 GPG 公钥并创建源文件 /etc/apt/sources.list.d/hp-mcp.list。
curl -fsSL https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub | gpg --dearmor > /etc/apt/keyrings/hpePublicKey2048_key1.gpg
chmod 0644 /etc/apt/keyrings/hpePublicKey2048_key1.gpg
echo "deb [signed-by=/etc/apt/keyrings/hpePublicKey2048_key1.gpg] https://downloads.linux.hpe.com/SDR/repo/mcp $(grep -Po '^VERSION_CODENAME=\K.*' /etc/os-release)/current non-free" > /etc/apt/sources.list.d/hp-mcp.list2. 更新并安装
apt update && apt install -y ssacliTIP
注意:运行
apt update时可能会看到关于non-free-firmware的提示(Debian 12 的新策略),这对ssacli的安装没有影响,可以忽略。
ssacli 常用命令指南
安装完成后,可以直接在终端输入 ssacli 进入交互模式,或者直接在命令行执行。
1. 查看整体状态
这是最常用的命令,用于列出所有控制器、阵列和逻辑卷的概览。
ssacli ctrl all show config2. 查看详细信息
列出所有控制器:
bashssacli ctrl all show查看特定插槽(Slot)控制器的详细配置(假设控制器在 Slot 0):
bashssacli ctrl slot=0 show config detail查看所有物理硬盘状态:
bashssacli ctrl slot=0 physicaldrive all show输出示例:
textphysicaldrive 1I:1:1 (port 1I:box 1:bay 1, SATA HDD, 10 TB, OK) physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SATA HDD, 10 TB, OK)查看逻辑卷(RAID)状态:
bashssacli ctrl slot=0 logicaldrive all show
3. 阵列卡缓存与电池状态
检查缓存模块是否有电,以及电池(超级电容)是否健康。
ssacli ctrl slot=0 show status4. 常用简写语法
ssacli 的命令结构通常为:<目标> <命令> [参数]。
目标 (Target):
ctrl all/ctrl slot=0(控制器)physicaldrive all/pd 1I:1:1(物理盘)logicaldrive all/ld 1(逻辑盘)
命令 (Command):
show: 显示信息modify: 修改配置(如开启 / 关闭缓存)rescan: 重新扫描设备
5. 高级操作示例
开启 SSD 智能路径 (SSD Smart Path)(适用于 SSD 阵列):
bashssacli ctrl slot=0 array A modify ssdsmartpath=enable点亮硬盘指示灯(定位物理硬盘时非常有用):
bashssacli ctrl slot=0 pd 1I:1:1 modify led=on # 关闭 ssacli ctrl slot=0 pd 1I:1:1 modify led=off