Skip to content

托管与资源池

托管与资源池用于把第三方或自有宿主机资源接入 PayIncus,让系统可以按节点、套餐和容量完成实例销售与交付。

资源模型

对象说明
宿主机运行 Incus 和 Agent 的物理机或虚拟化节点。
套餐面向用户销售的 CPU、内存、磁盘、流量、价格和周期组合。
镜像用户创建实例时可选择的系统镜像。
资源池用于聚合节点容量、套餐供应和托管方资源。
托管收益托管方提供资源后产生的收益与结算记录。

用户端托管能力

托管模块会根据系统配置决定是否对普通用户开放:

  • 提交托管节点。
  • 查看自己的节点状态、资源上报和审核结果。
  • 创建和编辑自己的托管套餐。
  • 查看托管收益、结算和相关账务记录。

提交节点时,宿主机推荐使用 Ubuntu 22.04+ 或 Debian 12/13。Debian 11 仅作为兼容路径保留,新节点应优先选择 Debian 12/13。

管理端托管能力

  • 审核托管节点和资源提供方。
  • 查看全局节点容量、在线状态和 Agent 心跳。
  • 管理套餐、镜像、资源池和供应状态。
  • 处理托管收益、结算和异常资源。
  • 排查 Agent 上报、Incus 连接和资源统计问题。

Agent 关联

Agent 是托管链路的运行态数据来源:

  • 宿主机心跳。
  • CPU、内存、磁盘、流量等资源上报。
  • 实例状态上报。
  • Agent 版本和二进制下载代理。
  • 签名校验和重放保护。

关键后端模块

  • hosts:宿主机管理。
  • hostingadmin-hosting:托管节点、收益和后台审核。
  • resource-pool:资源池申请、容量和一致性。
  • packages:套餐管理和用户可见套餐。
  • images:镜像管理。
  • agent:心跳、上报和 Agent release。

风险点

  • 节点容量必须以真实 Agent 上报和后台配置共同校验。
  • 托管方不能越权查看其他用户资源。
  • 套餐上下架要避免影响已购买实例的续费和计费。
  • Agent 离线时不能继续盲目分配资源。
  • Incus 返回 not authorized 时,优先检查宿主机是否信任当前面板证书;可重新生成节点安装命令并在宿主机执行以刷新 panel 信任项。
  • Debian/cloud 内核创建存储池时优先使用 LVM;只有确认宿主机可以 modprobe zfs 后再选择 ZFS。创建 ZFS 存储池时如果返回 modprobe: FATAL: Module zfs not found,说明宿主机没有可用 ZFS 内核模块。先修复 linux-headers-$(uname -r) / zfs-dkms,或改用 LVM、Btrfs、DIR 存储池。
  • 资源删除和收益结算需要保留审计记录。

验证清单

  • Agent 心跳和资源上报正常。
  • 后台能读取宿主机存储池列表,并能创建或关联存储池。
  • 节点容量变化能反映到后台。
  • 用户端托管入口按配置显示或隐藏。
  • 管理员能审核并管理托管资源。
  • 实例交付不会分配到不可用节点。

PayIncus documentation