You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Cockpit中配置已有Ceph RBD块存储池供新建虚拟机使用的问题

在Cockpit中配置已有Ceph RBD块存储池供新建虚拟机使用的问题

首先得明确:Cockpit的cockpit-machines模块是基于libvirt来管理虚拟机存储的,所以要让Cockpit识别到你的Ceph RBD池,得先把这个池注册到libvirt里,同时确保相关依赖组件都安装到位。下面一步步来解决:

1. 安装libvirt的RBD存储驱动

Oracle Linux 9.1默认可能没装libvirt对接RBD的驱动包,先安装它:

sudo dnf install libvirt-daemon-driver-storage-rbd

安装完成后重启libvirt服务,让新驱动生效:

sudo systemctl restart libvirtd

2. 将Ceph密钥导入libvirt的secret存储

因为libvirt需要验证Ceph集群的访问权限,你得把Ceph的客户端密钥导入到libvirt的secret系统里:

  • 先从已有的keyring里提取密钥(假设你用的是client.admin用户,替换成你实际的客户端用户名):
ceph auth get-key client.admin

复制输出的密钥字符串,后面要用。

  • 创建一个secret配置XML文件(比如/tmp/ceph-secret.xml),内容如下:
<secret ephemeral='no' private='no'>
  <uuid>$(uuidgen)</uuid> <!-- 这里会自动生成唯一UUID,也可以手动指定 -->
  <usage type='ceph'>
    <name>ceph client.admin secret</name> <!-- 这个名称要和后面存储池配置里的对应上 -->
  </usage>
</secret>
  • 定义这个secret:
sudo virsh secret-define /tmp/ceph-secret.xml
  • 设置secret的值(把<UUID>替换成刚才输出的UUID,<CEPH_KEY>替换成之前提取的密钥):
sudo virsh secret-set-value --secret <UUID> --base64 <CEPH_KEY>

3. 注册Ceph RBD池到libvirt

现在创建存储池的XML配置文件(比如/tmp/rbd-pool.xml),替换里面的占位符为你的实际信息:

<pool type='rbd'>
  <name>ceph-vm-storage</name> <!-- 这个名称会在Cockpit的存储池列表里显示 -->
  <source>
    <name>your-rbd-pool-name</name> <!-- 替换成你Ceph集群里已有的RBD池名称 -->
    <host name='machine-a-ip' port='6789'/> <!-- 替换成Ceph节点A的IP -->
    <host name='machine-b-ip' port='6789'/> <!-- 替换成Ceph节点B的IP -->
    <auth type='ceph' username='client.admin'> <!-- 替换成你的Ceph客户端用户名 -->
      <secret usage='ceph client.admin secret'/> <!-- 这里要和之前secret配置里的name一致 -->
    </auth>
  </source>
</pool>
  • 定义这个存储池:
sudo virsh pool-define /tmp/rbd-pool.xml
  • 启动存储池:
sudo virsh pool-start ceph-vm-storage
  • 设置存储池开机自启:
sudo virsh pool-autostart ceph-vm-storage

4. 在Cockpit里验证

现在刷新Cockpit的虚拟机页面,进入“存储池”选项卡,你应该就能看到刚才注册的Ceph RBD池了。之后创建新虚拟机时,选择磁盘存储的时候就可以选这个池了。

额外注意事项

  • 确保机器C的防火墙允许访问Ceph节点的6789端口(Ceph的默认通信端口)。
  • 如果遇到权限问题,可以检查SELinux状态,临时关闭测试:sudo setenforce 0,如果没问题可以添加对应的SELinux规则。
  • 尽量保证机器C上的Ceph客户端版本和集群版本兼容,避免出现奇怪的兼容性问题。

备注:内容来源于stack exchange,提问作者a.ilchinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:39:05