在 Proxmox VE (PVE) 中通过 Web 界面安装 Ceph 是一种推荐且简化的配置方式。
前提条件:
- 至少三台 Proxmox VE 节点: Ceph 推荐至少三台节点以实现高可用性。所有节点都应该加入同一个 Proxmox VE 集群。
- 专用磁盘: 每台节点上至少有一块未使用的裸磁盘或分区用于 Ceph OSD。这些磁盘不应该有任何分区表或文件系统。
- 网络配置: 确保你的 Proxmox VE 节点之间的网络连接良好。对于 Ceph,强烈建议使用独立的网络用于 Ceph 公共网络 (Public Network) 和 集群网络 (Cluster Network)。如果资源有限,也可以使用一个网络,但性能会受影响。确保所有节点都能互相访问。
- 订阅源配置: 确保你的 Proxmox VE 节点已配置正确的 Ceph 仓库。如果你没有企业订阅,请确保启用了
no-subscription
仓库。你可以在 “数据中心” -> “存储库” 中进行检查和更改。
第一部分:Proxmox VE 集群设置 (如果尚未设置)
-
创建集群 (在第一个节点上):
- 登录到你的第一个 Proxmox VE 节点的 Web 界面。
- 导航到左侧菜单 “数据中心” -> “集群”。
- 点击右上角的 “创建集群” 按钮。
- 在弹出的窗口中,输入一个 “集群名称”。
- 选择你的 “集群网络” (用于节点间通信)。
- 点击 “创建”。
- 创建完成后,会显示 “加入信息”,包括一个密码和指纹。请复制这些信息。
-
加入集群 (在其他节点上):
- 登录到你的其他 Proxmox VE 节点的 Web 界面。
- 导航到左侧菜单 “数据中心” -> “集群”。
- 点击右上角的 “加入集群” 按钮。
- 粘贴你从第一个节点复制的 “加入信息”。
- 输入你第一个节点的 “IP 地址”。
- 点击 “加入”。
- 重复此步骤,直到所有节点都成功加入集群。
第二部分:安装 Ceph 服务
- 在每个节点上安装 Ceph 包:
- 在 Proxmox VE Web 界面中,选择集群中的一个节点 (例如
pve1
)。
- 导航到该节点的左侧菜单 “Ceph” 部分。
- 点击右上角的 “安装 Ceph” 按钮。
- 选择 Ceph 版本: Proxmox VE 会列出可用的 Ceph 版本 (例如 Reef, Quincy 等)。选择你想要安装的版本。通常建议选择最新的稳定版本。
- 选择存储库: 如果你没有企业订阅,请在下拉菜单中选择 “无订阅”。
- 点击 “开始安装”。
- 系统会提示你确认网络配置。如果你有独立的 Ceph 公共网络和集群网络,请在此处正确配置它们。如果只有一个网络,系统会自动使用默认网络。
- 输入
Y
确认安装。
- 等待安装过程完成。这可能需要一些时间。
- 安装完成后,点击 “下一步”。
- 重复此步骤,在集群中的所有节点上安装 Ceph 服务。注意: 在后续节点上安装 Ceph 时,通常不需要再次配置网络信息,因为它们会继承集群的配置。
第三部分:配置 Ceph Monitors (MON)
Ceph Monitor 维护着集群的健康状态和配置信息,为了高可用性,至少需要三个 Monitor。
- 创建 Monitor:
- 在 Proxmox VE Web 界面中,选择集群中的一个节点。
- 导航到该节点的左侧菜单 “Ceph” -> “监视器”。
- 点击右上角的 “创建监视器” 按钮。
- 在弹出的窗口中,选择你想要创建 Monitor 的节点。通常建议在每个 Proxmox VE 节点上都创建一个 Monitor,直到达到奇数个 (例如 3 个、5 个)。
- 点击 “创建”。
- 重复此步骤,直到你在至少三台节点上创建了 Monitor。当 Monitor 数量达到奇数并形成仲裁时,它们的状态会变为 “quorum” (仲裁)。
第四部分:配置 Ceph Managers (MGR)
Ceph Manager 与 Monitor 一起运行,提供集群的监控和管理接口,包括 Ceph Dashboard。
- 创建 Manager:
- 在 Proxmox VE Web 界面中,选择集群中的一个节点。
- 导航到该节点的左侧菜单 “Ceph” -> “管理器”。
- 点击右上角的 “创建管理器” 按钮。
- 选择你想要创建 Manager 的节点。建议在不同的节点上创建 Manager,以实现高可用性。至少需要一个 Manager。
- 点击 “创建”。
- 重复此步骤,在至少两台节点上创建 Manager (一个活动,一个备用)。
第五部分:创建 Ceph OSDs (Object Storage Daemons)
OSD 是 Ceph 存储集群的核心,它们负责存储数据。每个 OSD 通常对应一个物理磁盘。
-
准备磁盘:
- 确保你要用于 OSD 的磁盘是干净的,没有分区或文件系统。
- 在 Proxmox VE Web 界面中,选择你想要添加 OSD 的节点。
- 导航到该节点的左侧菜单 “磁盘”。确认你要使用的磁盘是 “未使用” 状态。
-
创建 OSD:
- 选择你想要添加 OSD 的节点。
- 导航到该节点的左侧菜单 “Ceph” -> “OSD”。
- 点击右上角的 “创建 OSD” 按钮。
- 在弹出的窗口中,选择你想要用于 OSD 的物理磁盘。
- OSD 大小: 通常保持默认即可。
- WAL 设备 / DB 设备 (可选): 如果你使用 NVMe SSD 或其他快速存储作为 Ceph 的 WAL (Write-Ahead Log) 或 DB (RocksDB) 设备,可以在这里选择。这可以显著提高 OSD 的性能。
- 点击 “创建”。
- 等待 OSD 创建完成。创建成功后,OSD 的状态会变为
up
(运行) 和 in
(在线)。
- 重复此步骤,在所有节点上创建 OSD,确保每个节点上都有多个 OSD (如果可用磁盘允许),并且 OSD 数量保持平衡。
第六部分:创建 Ceph Pools
Ceph Pool 是逻辑存储单元,数据存储在 Pool 中。虚拟机磁盘和容器卷将存储在这些 Pool 中。
- 创建 Pool:
- 在 Proxmox VE Web 界面中,选择集群中的任意一个节点 (例如
pve1
)。
- 导航到该节点的左侧菜单 “Ceph” -> “池”。
- 点击右上角的 “创建池” 按钮。
- 名称: 为你的 Pool 命名 (例如
vm-storage
, container-storage
)。
- 大小 (副本数): 这是数据的副本数量。对于高可用性,建议设置为
3
(即数据会复制到三个不同的 OSD 上)。
- 最小大小 (最小副本数): 即使部分 OSD 离线,也要保证的最小副本数,通常设置为
2
。
- PG 数量 (Placement Group 数量): 这是一个重要的参数,影响 Ceph 的性能和恢复速度。对于小型集群,默认值可能足够。对于大型集群,需要根据 OSD 数量进行计算。可以先使用默认值,后期再调整。
- CRUSH 规则集: 通常保持默认。
- 目标大小 (可选): 可以设置一个目标容量,但通常不需要。
- 勾选 “添加存储”,这样会在 Proxmox VE 中自动添加一个存储条目,指向这个 Ceph Pool。
- 点击 “创建”。
第七部分:验证和使用 Ceph 存储
-
检查 Ceph 状态:
- 在 Proxmox VE Web 界面中,选择集群中的任意一个节点。
- 导航到该节点的左侧菜单 “Ceph” 概览页面。
- 检查 “健康状态”,确保显示
HEALTH_OK
。
- 查看 “监视器”、“管理器”、“OSD” 和 “池” 的状态,确保它们都正常运行。
-
在 Proxmox VE 中添加 Ceph RBD 存储 (如果创建 Pool 时没有勾选 “添加存储”):
- 导航到左侧菜单 “数据中心” -> “存储”。
- 点击右上角的 “添加” -> “RBD”。
- ID: 给你的存储起一个名称 (例如
ceph-rbd
)。
- 池: 选择你之前创建的 Ceph Pool。
- 监视器主机: 默认应该已经自动填充。
- 内容: 选择你希望此存储用于存储的内容 (例如 “磁盘镜像”、“容器模板”)。
- 点击 “添加”。
现在,你已经成功在 Proxmox VE 中通过中文 Web 界面安装并配置了 Ceph 存储。你可以在创建虚拟机或容器时选择这个 Ceph 存储作为它们的磁盘。
额外提示:
- 网络隔离: 强烈建议将 Ceph 公共网络和集群网络与管理网络(Proxmox VE Web 界面访问)以及虚拟机/容器网络分开。这将显著提高性能和稳定性。
- 硬件要求: Ceph 对硬件有一定的要求,尤其是 OSD 磁盘的性能对整个集群的性能至关重要。建议使用 SSD 或 NVMe SSD 作为 OSD。
- Ceph Dashboard: 安装 Ceph Manager 后,会自动启用 Ceph Dashboard。你可以在 “Ceph” -> “仪表板” 页面访问它,它提供了更详细的 Ceph 集群监控和管理功能。
- 定期更新: 定期更新 Proxmox VE 和 Ceph,以获取最新的功能和安全补丁。
- 备份: 无论使用何种存储,始终进行定期备份。