跳转到内容

硬盘与控制器怎么选 ​

规划你的第一台宿主机已经给出系统盘、虚拟机盘、数据盘三分法的起点。这篇往下展开:接口怎么选、控制器该用 HBA 还是 RAID 卡,以及消费级硬盘在虚拟化场景里容易踩的坑。

接口怎么选 ​

接口特点适合放什么
NVMe(M.2 / U.2 / U.3)延迟最低、吞吐最高,价格随容量走高虚拟机盘,尤其是 IOPS 敏感的负载(数据库、多台并发虚拟机)
SATA SSD性能够用,价格更低系统盘、轻负载虚拟机盘
机械硬盘(HDD)容量便宜,随机读写慢数据盘、备份盘、大文件存储,不建议放虚拟机系统盘

不是所有虚拟机都需要 NVMe

软路由、DNS、反代这类轻量服务对磁盘性能几乎没有要求,SATA SSD 甚至混着机械盘的存储池都够用。把 NVMe 留给真正吃 IOPS 的负载(数据库、跑满负载的多台虚拟机),预算才用得值。

控制器:HBA 还是 RAID 卡 ​

这是最容易被忽视、但影响存储方案上限的一个选择。

存储方案该用什么控制器
ZFS 或 CephHBA(直通卡)或刷成 IT 模式的 RAID 卡。官方文档明确说明:ZFS 和 Ceph 都不兼容硬件 RAID 控制器
LVM、LVM-Thin、ext4、XFS可以用带电池保护写缓存(BBU)的硬件 RAID 卡

为什么 ZFS 不能架在 RAID 卡上

ZFS 本身就是软件层面的 RAID 和卷管理器,它需要直接看到每块物理盘才能做数据校验和自我修复。硬件 RAID 卡会把多块盘合并成一个逻辑盘暴露给系统,ZFS 只能看到一个"设备",出现数据损坏时能检测到但无法修复——这就失去了用 ZFS 的意义。同样的道理也适用于 Ceph。

判断自己的控制器是不是直通模式:lsblk 能看到每块盘真实的型号和序列号,且 smartctl 不需要加 -d megaraid 这类参数就能读到信息,说明是直通的。

买二手服务器常遇到自带的 RAID 卡不支持 IT 模式。常见的应对方式是换一张便宜的、原生支持 IT 模式固件的 HBA 卡(例如基于 LSI SAS2008/SAS2308 芯片的型号),具体型号的固件版本和兼容性请在购买前搜索确认,本站不推荐具体型号。

消费级硬盘在虚拟化场景的隐藏成本 ​

两个容易被忽略、但会影响可靠性和寿命的指标:

掉电保护(PLP)。 消费级 SSD 断电时,控制器缓存里还没写入闪存的数据会丢失;企业级 SSD 靠板载电容在断电瞬间把缓存数据强制写完再关机。ZFS、Ceph 这类需要同步写入语义的场景,缺少 PLP 的盘在断电测试中出现过存储损坏的案例。详细原理和怎么辨别见企业级 SSD 与掉电保护。

写入寿命(TBW / DWPD)。 消费级 SSD 的总写入量(TBW,Terabytes Written)指标通常远低于企业级产品。虚拟机磁盘的写入模式(尤其是数据库、日志密集型服务)比日常办公写入量大得多,长期高写入负载下消费级盘可能比预期更快到达寿命上限。

别把 PLP 和"能不能用"混为一谈

没有 PLP 的盘不是不能用——单块盘做实验室的虚拟机存储,配合定期备份完全可以接受。PLP 真正重要的场景是:数据一旦损坏代价很高,或者存储层本身依赖"写入即安全"的假设(ZFS 的 ZIL、Ceph 的日志盘)。

检查结果 ​

新盘装上后,在宿主机 shell 确认:

sh
# 确认盘被系统识别,看到真实型号和序列号(不是"某个逻辑卷")
lsblk -o NAME,SIZE,MODEL,SERIAL,TRAN

# 确认 SMART 信息可读(能读到说明是直通状态,不是被 RAID 卡接管)
smartctl -a /dev/sdX

# 确认接口协商速度(NVMe 用这条,SATA 盘看 lsblk 的 TRAN 列即可)
nvme list

Web UI 的 节点 → Disks 页面也会列出识别到的磁盘及基本健康状态,作为快速核对。

常见问题 ​

smartctl 读不到信息,报错找不到设备。 大概率是盘挂在 RAID 卡背后,需要加控制器专用参数(如 -d megaraid,N),或者说明这块卡没有工作在直通模式。

二手企业级硬盘能不能用? 能,但买之前用 smartctl -a 查看通电时间和健康属性,重点看重新映射扇区数、通电小时数是否在合理范围,到手后先跑一次全盘读写测试再投入使用。

只有一块盘,还要不要区分系统盘和数据盘? 不用纠结,单盘就是全部合用,把加一块新盘里讲到的方案挑一种即可,等以后加盘了再拆分。

延伸阅读 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。