托管与资源池
托管与资源池用于把第三方或自有宿主机资源接入 PayIncus,让系统可以按节点、套餐和容量完成实例销售与交付。
资源模型
| 对象 | 说明 |
|---|---|
| 宿主机 | 运行 Incus 和 Agent 的物理机或虚拟化节点。 |
| 套餐 | 面向用户销售的 CPU、内存、磁盘、流量、价格和周期组合。 |
| 镜像 | 用户创建实例时可选择的系统镜像。 |
| 资源池 | 用于聚合节点容量、套餐供应和托管方资源。 |
| 托管收益 | 托管方提供资源后产生的收益与结算记录。 |
用户端托管能力
托管模块会根据系统配置决定是否对普通用户开放:
- 提交托管节点。
- 查看自己的节点状态、资源上报和审核结果。
- 创建和编辑自己的托管套餐。
- 查看托管收益、结算和相关账务记录。
提交节点时,宿主机推荐使用 Ubuntu 22.04+ 或 Debian 12/13。Debian 11 仅作为兼容路径保留,新节点应优先选择 Debian 12/13。
管理端托管能力
- 审核托管节点和资源提供方。
- 查看全局节点容量、在线状态和 Agent 心跳。
- 管理套餐、镜像、资源池和供应状态。
- 处理托管收益、结算和异常资源。
- 排查 Agent 上报、Incus 连接和资源统计问题。
Agent 关联
Agent 是托管链路的运行态数据来源:
- 宿主机心跳。
- CPU、内存、磁盘、流量等资源上报。
- 实例状态上报。
- Agent 版本和二进制下载代理。
- 签名校验和重放保护。
关键后端模块
hosts:宿主机管理。hosting、admin-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 心跳和资源上报正常。
- 后台能读取宿主机存储池列表,并能创建或关联存储池。
- 节点容量变化能反映到后台。
- 用户端托管入口按配置显示或隐藏。
- 管理员能审核并管理托管资源。
- 实例交付不会分配到不可用节点。
