在 HP ProLiant DL380 Gen11 上划分 RAID、安装 Proxmox VE 9.x,并配置单节点 Ceph 作为 RBD 存储。本文保留完整操作步骤与验证命令,供后续 OpenShift 通过 Ceph CSI 消费外部存储。
环境假设
| 项目 | 示例值 |
|---|---|
| 服务器 | HP DL380 Gen11 + MR 阵列卡 |
| PVE 主机名 | pve-host-1 |
| 管理 IP | <PVE_IP>/26(如 10.0.0.41) |
| 管理网段 | <PVE_CIDR>(如 10.0.0.0/26) |
| 外网网桥 | vmbr0 |
| PVE 版本 | 9.2.x |
| Ceph Pool | ocp-pool(供 OCP CSI 使用) |
磁盘规划
16 × 1.6 TB SSD(外置盘箱):
1 | Box2 Bay1-2 Box2 Bay3-8 + Box3 Bay1-2 Box3 Bay3-8 |
| 逻辑卷 | RAID | 容量 | 用途 |
|---|---|---|---|
| PVE-OS | RAID1 | ~1.6 TB | PVE 系统 |
| PVE-VM | RAID10 | ~5.8 TiB | VM 磁盘(vm-storage) |
| CEPH-01~06 | RAID0×6 | 各 ~1.5 TiB | Ceph OSD |
Phase 1 — iLO 划分 RAID
- iLO → Remote Console → HTML5 KVM
- 重启按 F10 → MR Storage Administrator(选 MR,非 SR)
- 创建逻辑盘:
LD1(PVE-OS):Box2 Bay1+2 → RAID1 → 名称 PVE-OS
LD2(PVE-VM):Box2 Bay38 + Box3 Bay12 → RAID10 → 名称 PVE-VM
LD3(Ceph):Box3 Bay3~8 各单独 RAID0 → CEPH-01 … CEPH-06
验证
- Logical Drive 页共 8 块逻辑盘,状态均为 OK
- 无 Unassigned Drive
- Reboot 后进入 BIOS 确认三块逻辑盘均可见
Phase 2 — BIOS 与安装 PVE
BIOS(F9)
| 项 | 值 |
|---|---|
| Boot Mode | UEFI Only |
| Secure Boot | Disabled |
| VT-x / VT-d | Enabled |
| 安装时启动顺序 | 虚拟光驱优先 |
安装 PVE
- iLO 挂载 Proxmox ISO → 从光驱引导
- Target Harddisk:只选
PVE-OS,勿格式化 PVE-VM / CEPH 盘 - 网络:主机名
pve-host-1、<PVE_IP>、网关、DNS - 装完弹出 ISO,硬盘第一启动
验证
1 | pveversion |
Phase 3 — 初始化 VM 存储(LD2)
- Node → Disks → 选中 ~5.8T 盘 → Wipe disk → GPT → LVM → LVM-Thin
- 等待任务完成(右下角 Tasks)
- Datacenter → Storage → Add → LVM-Thin
- ID:
vm-storage - Nodes:
pve-host-1 - Thin Pool:刚创建的 pool
- 勾选 Enable、Nodes
- ID:
验证
1 | pvesm status |
Phase 4 — 安装与配置 Ceph
4.1 前置:确认 OSD 候选盘
1 | lsblk |
| 设备 | 容量 | 用途 | 能否做 Ceph |
|---|---|---|---|
| 系统盘 | ~1.5T,有分区 | LD1 PVE 系统 | ❌ |
| ~5.8T | VM 存储 | LD2 | ❌ |
| 6×~1.5T 无分区 | CEPH-01~06 | LD3 | ✅ |
建 OSD 会 清空整块盘。不确定时对照
by-id与 MR 控制器盘位,切勿误选系统盘或 VM 盘。
4.2 步骤 1:安装 Ceph 软件包(Web UI)
- 浏览器打开
https://<PVE_IP>:8006 - 左侧点节点
pve-host-1 - 左侧子菜单点 Ceph
- 首次进入显示 Ceph is not installed → 点 Install Ceph / Start installation
- Ceph version:选默认推荐版本(PVE 9.2 一般为 Squid 或当前仓库默认)
- Repository:无订阅选 No Subscription
- 点 Start → 等待任务完成(约 5~15 分钟,右下角 Tasks 可查看)
验证
1 | pveceph status 2>/dev/null || ceph -v |
4.3 步骤 2:创建 Ceph 集群配置
- 安装完成后向导进入 Configuration,或点 Next
- 填写网络:
- Public Network:
<PVE_CIDR>(如10.0.0.0/26) - Cluster Network:单节点 lab 可与 Public 相同
- Public Network:
- 点 Create / Finish
- 左侧 Ceph 各子页应变为可配置(不再报错)
验证
1 | cat /etc/pve/ceph.conf |
4.4 步骤 3:创建 Monitor
- Ceph → 标签 Monitor → Create: Monitor
- Host:
pve-host-1 - 点 Create
- 等待状态 active(Manager 通常自动创建)
验证
1 | ceph mon stat |
4.5 步骤 4:创建 6 个 OSD(重复 6 次)
- Ceph → 标签 OSD → Create: OSD
- 配置:
- Disk:选一块 ~1.5T、无分区 的盘(每次不同)
- DB / WAL:保持 use OSD disk
- Advanced:勾选 Enable discard(SSD 建议)
- 点 Create → 等待该 OSD 状态 up / in(每块约 3~10 分钟)
- 重复直到 6 块 CEPH 盘全部加入
验证
1 | ceph osd stat |
4.6 步骤 5:创建 Pool 并添加为 PVE 存储
- Ceph → Pools → Create
- Name:
ocp-pool - Size:
3(3 副本) - Min.Size:
2 - 勾选 Add as Storage
- Name:
- 点 Create
若未自动添加:
- Datacenter → Storage → Add → RBD
- ID:
ocp-pool(或ceph-rbd) - Pool:
ocp-pool - Nodes:
pve-host-1 - 点 Add
验证
1 | ceph osd pool ls |
4.7 步骤 6:单节点 CRUSH 规则(必做)
单节点 Ceph 默认规则要求副本在不同主机,会导致 PG undersized+peered:
1 | ceph osd crush rule create-replicated single-host default osd |
4.8 步骤 7:为 OpenShift 预创建 Ceph 用户(可选,OCP 装完后亦可)
在 PVE 上创建专用客户端,供后续 Ceph CSI 使用:
1 | ceph auth get-or-create client.openshift \ |
记录输出的 key 和 fsid,OCP 侧配置 StorageClass 时需要。
4.9 整体验证清单
1 | ceph -s |
-
HEALTH_OK - 6 OSD up / in
-
ocp-poolactive,可用容量约 2.9 TB(6×1.5T、3 副本) - Web UI Ceph → Status 全绿
- Monitor
:6789可从 OCP 节点网段访问(nc -zv <PVE_IP> 6789)
4.10 CLI 备选(与 Web UI 等效)
1 | pveceph install |
存储与 lsblk 对应关系
| Web UI Storage | 类型 | 物理位置 | 用途 |
|---|---|---|---|
local |
dir | 系统盘 / → /var/lib/vz |
ISO、模板 |
local-lvm |
lvmthin | 系统盘剩余 thin pool | 默认可用 |
vm-storage |
lvmthin | LD2 整盘(~5.8T) | VM 磁盘 |
ocp-pool |
rbd | LD3 六块 OSD | Ceph RBD,供 OCP PVC |
常见问题
| 现象 | 处理 |
|---|---|
| 磁盘不在 OSD 下拉列表 | 确认盘无分区;Node → Disks → Wipe disk 后重试 |
| 误选系统/VM 盘 | 立即停止,勿继续建 OSD |
| OSD 创建失败 | 查看 Tasks 日志;journalctl -u ceph-* -n 50 |
| PG undersized | 执行单节点 CRUSH 规则(§4.7) |
| RAID10 显示 5.82TiB 而非 6.4TB | 正常(TB vs TiB 换算) |
| OCP 节点连不上 Monitor | 确认 PVE 防火墙放行 6789;OCP 经 NAT 能路由到 <PVE_IP> |