方案与定价
**后台路径:**Services › Virtual Machines › Plans & pricing(
/vm/catalog),包含Plan、Custom plan、Cycle和Offering CloudStack标签页。模板位于独立页面Services › Virtual Machines › Template(/vm/templates)。
功能说明
方案是客户可以购买的规格配置:包含指定区域内来自单一来源(CloudStack或Proxmox VE集群)的vCPU、内存、系统盘及对应价格。客户选择方案、操作系统和计费周期(按小时、按月或更长的预付费周期)。方案可在客户门户、通过API以及分销商网站上销售。
前提条件
| 项目 | 要求 |
|---|---|
| Source | 已连接CloudStack(方案指向CloudStack服务方案)或已关联Proxmox VE集群至该区域。参见CloudStack与Proxmox VE。 |
| 区域 | 销售虚拟机的区域。参见Zones。 |
| 模板 | 至少一个已启用且就绪的模板。参见OS templates。 |
| 汇率 | 仅当您以VND输入价格时需要。参见Currency and exchange rates。 |
| 权限 | 管理员;每次价格变更都需要填写原因。 |
准备基础设施
- **CloudStack:**创建您希望销售的服务方案(公开,或与NexCMP域共享)。每个套餐对应一个方案。Offering CloudStack标签页会实时列出CloudStack中的服务方案和磁盘方案(缓存60秒)。当套餐列表为空时,worker会自动基于您的实际方案创建6个套餐。
- **Proxmox VE:**无需在Proxmox中配置;套餐自带CPU、RAM和磁盘规格。磁盘大小不得小于模板的磁盘大小。
在NexCMP中连接
价格存储方式
NexCMP将所有价格均存储为微美元/小时(µ$/hour;1 µ$为1/1,000,000 USD)。您可以使用常用的单位输入价格,表单会自动进行换算:
| 单位 | 备注 |
|---|---|
| USD/小时(6位小数) | 按原样存储。 |
| USD/月 | 除以每月小时数配置(730)。 |
| VND/月 | 按当前汇率换算一次,然后以µ$/hour存储。仅在存在汇率时显示。 |
表单会显示换算结果:µ$/hour、USD/hour、月度价格以及各个计费周期价格。月度价格 = 小时价格 × 730;更长周期则是月度价格 × 月数 × (1 − 折扣)。
添加套餐
打开Services › Virtual Machines › Plans & pricing并点击Add plan。
填写表单:
字段 示例值 套餐名称 VM-2-4Slug 留空:根据名称自动生成 区域 您的默认区域 基础设施来源 CloudStack留空,或选择Proxmox集群 CloudStack服务方案(实时) 选择一项(仅对CloudStack显示) CPU(核)、RAM(MB)、系统盘(GB) 2,4096,40磁盘方案 可选,用于自定义系统盘大小 价格输入方式 / 价格 USD / month,12简要描述 2 vCPU, 4 GB RAM, 40 GB NVMe排序 10启用 开启:客户可购买 可见性 在目录中可见 价格变更原因 initial price点击OK。该套餐将显示在列表中,展示其小时价格、月度价格以及每个已启用周期的对应单元格。

计费周期
打开Cycle标签页,设置客户可选择的计费周期及其折扣。
| 周期 | 默认值 | 备注 |
|---|---|---|
| 按小时 | 始终开启 | 按小时计费。 |
| 按月 | 开启,0% | |
| 1年 | 开启,10% | |
| 2年 | 开启,15% | |
| 3年 | 开启,20% |
你可以重命名周期、修改其折扣(0到90%)以及开启或关闭该周期。变更仅适用于保存之后购买或续费的虚拟机;运行中的虚拟机将保持锁定价格。

设置基础套餐并衍生其他套餐
Set base plan + derive other plans可基于单一价格重新计算整张表格的价格。选择基础套餐及其价格,然后选择保持套餐之间的当前价格比例,或根据组件价格(每vCPU、每GB内存和每GB NVMe的µ$/小时,并可自选0到50%的打包折扣)进行计算。在写入任何数据前,预览表格会显示新旧价格。点击Apply,并填写调整原因。
应用新价格时:运行中的按小时计费虚拟机将从下一个计费小时起享受更低价格,预付费虚拟机将在续费时生效。如果价格上涨,运行中的虚拟机仍保持原价格。
自定义套餐
Custom plan选项卡允许客户自行选择vCPU、内存和NVMe规格。设置单个vCPU、单GB内存和单GB NVMe的小时单价(留空则根据百分比折扣自动衍生)、各自的最小值、最大值和步进值,以及适用的计费周期。自定义套餐的费用应高于相同规格的固定套餐,否则客户将绕过固定套餐;页面会标记出自定义价格更便宜的行。开启Enable custom plans for customers即可向客户销售;关闭则在客户门户中显示“Coming soon”。每台自定义虚拟机都会生成一条专有的隐藏套餐记录;只要该虚拟机存在,这些记录就无法被编辑或删除。
修改、隐藏、克隆与删除
| 操作 | 功能说明 |
|---|---|
| Edit | 修改名称、描述、排序、价格、激活状态及可见性。 |
| 开/关 | Off:客户无法购买;运行中的虚拟机不受影响。 |
| 隐藏/显示 | 隐藏的套餐不会出现在产品目录中,但现有虚拟机会继续保留该套餐,管理员也可以分配该套餐。 |
| Clone | 在同一区域中创建一个具有新来源、规格或价格的新套餐,并可选择隐藏旧套餐。如需同时通过CloudStack和Proxmox销售相同配置,克隆该套餐并选择另一来源即可。 |
| 上移/下移 | 调整显示顺序。 |
| Delete | 停止销售该套餐并将其从表格中移除。已在使用该套餐的虚拟机将继续保留。 |
使用中的套餐已被锁定
一旦套餐关联了虚拟机,其区域、计算方案、CPU、内存、磁盘和来源将被锁定,以防止运行中的虚拟机被静默更改。使用Clone可创建新配置;旧套餐将继续保留其关联的虚拟机。
验证
- 套餐显示在表格中,并标有预期的小时和月度价格。
- 在客户门户中发起订单:对应区域应提供该套餐,且各周期价格与Cycle选项卡一致。
- 提交测试订单,核对钱包扣费金额是否与显示价格一致,随后删除该虚拟机。
限制与注意事项
- 一个套餐仅归属于一个区域和一个来源。
- 价格以µ$/小时为单位存储;显示的VND价格由VND rounding step衍生并取整(参见货币页面)。钱包始终以USD计费。
- 分销商可获得基于标准目录价格衍生的批发价和零售价;修改现有套餐的价格不会将自定义分销商价格复制到配置已更改的克隆套餐中。
- 自定义套餐的最小值、最大值和步进限制会根据CloudStack自身的限制进行校验;若最大磁盘规格超出CloudStack的
storage.max.volume.size,将导致部署失败并触发退款。
故障排查
| 症状 | 原因 | 解决办法 |
|---|---|---|
| “方案名称必填” / “服务方案必填” | 缺少必填字段 | 填写名称;对于CloudStack请选择一个offering。 |
| “CPU/RAM/disk必须 > 0” | 某项规格为空或为0 | 完整填写这三项。 |
| “无效价格(µ$/hr必须在1 … 100,000,000之间)” | 价格超出范围 | 检查单位和金额。 |
| “修改价格需要填写原因” | 编辑时未填写原因 | 输入原因(至少3个字符)。 |
| “Offering“X”为4c/8192,但方案指定为2c/4096 - CloudStack将按offering进行置备。是否保存?” | 方案的参数与offering不一致 | 修改为一致,或确认保留CloudStack的规格。 |
| “无法从CloudStack获取offering” | 连接断开或密钥缺少权限 | 参见CloudStack。 |
| “模版在CloudStack上尚未就绪 - 部署将会失败。仍要启用吗?” | 启用了尚未就绪的模版 | 等待模版就绪。 |
| 方案无法编辑(“has VMs - locked”) | 已有虚拟机正在使用该方案 | 克隆该方案。 |
| 客户看不到该方案 | 已关闭、已隐藏,或区域尚未就绪 | 检查Active、Visibility以及区域标签。参见Zones。 |
| “请至少选择1个计费周期” | 自定义方案未勾选任何周期 | 至少勾选一项。 |
| “捆绑折扣必须在0–50%之间” | 超出范围 | 请输入0到50之间的数值。 |
| 缺少VND价格选项 | 尚未设置汇率 | 请先更新汇率。 |