独立服务器(裸金属)
**管理后台位置:**Infrastructure › Bare Metal(Servers
/infra/baremetal、IP Pools、Stock / iDRAC import、Operations、Templates、Customer ISOs、Safety)。方案与订阅:Services › Dedicated Server(/dedicated)。在System › Admin › License & updates(/license)下启用该模块。
功能说明
NexCMP通过Redfish API直接经由iDRAC管理物理服务器。客户租用整台服务器:可进行开机与关机、打开浏览器控制台、挂载ISO或通过模板安装操作系统,并查看硬件信息和监控指标。他们绝不会看到iDRAC的地址、用户名或密码。
使用此功能转售您自有机架中的独立服务器。
前提条件
| 项目 | 要求 |
|---|---|
| 硬件 | 配备iDRAC 9并支持Redfish API的Dell服务器。 |
| 管理网络 | 由您自行提供。面板服务器必须能够通过HTTPS 443访问每台iDRAC(以及用于控制台的iDRAC VNC端口,默认为5901),并且每台iDRAC必须能够访问下方的ISO Web服务器。iDRAC地址必须是您在配置项dedicated_bmc_cidrs中列出的私有网段IPv4地址(RFC 1918,前缀为/16或更小)。不支持DNS名称和IPv6。NexCMP不会创建此网络,也无法为您测试该网络。 |
| iDRAC账户 | 每台iDRAC上一个具备Administrator权限的账号。NexCMP使用该账号读取服务器信息并发送其所允许的少数指令(电源、虚拟介质、单次引导、控制台)。它绝不会为您的客户创建iDRAC账号。 |
| 面板服务器上的工具 | xorriso与genisoimage(用于构建每台服务器的安装ISO)以及novnc(浏览器控制台页面)。可通过sudo apt-get install -y xorriso genisoimage novnc进行安装,或由安装程序自动安装:带--baremetal运行安装程序,或为其提供ISO服务器选项;如果已启用Bare Metal模块,更新时也会安装它们。若缺少任一工具,Safety会以红色提示列出,live ops将拒绝开启(错误tools_missing),且控制台和操作系统安装会直接提示缺少工具,而不是在后续流程中报错失败。 |
| ISO Web服务器 | 管理网络上的普通HTTP服务器,负责向各iDRAC提供NexCMP ISO目录服务。其地址为私有IPv4地址及可选端口,例如http://10.20.0.2:8080,不包含路径,保存在dedicated_iso_base_url中。该服务器必须支持字节范围。该目录由面板的worker写入,因此Web服务器通常直接运行在面板服务器本身上,并监听该服务器在管理网络上的地址。NexCMP提供了一个现成的nginx站点和一步式配置命令(见下文)。 |
| ISO目录 | 用于存放ISO文件的目录,其中包含pub(供iDRAC读取)和server(客户ISO)。一步式命令使用/srv/nexcmp-iso;如果不使用该命令,默认值则沿用安装配置(设置项dedicated_iso_lib_dir、dedicated_iso_pub_dir、dedicated_iso_server_dir)。NexCMP worker必须对它们拥有写入权限。除/var/lib/nexcmp外,worker在只读文件系统下运行,因此位于其他位置的目录需要一个systemd drop-in配置(一步式命令会自动安装该配置)。 |
| 回调地址 | dedicated_callback_base,一个正在安装的服务器可访问且指向您控制面板的https://<your-domain>。 |
| 存储 | 用于ISO库和客户自备ISO的可用磁盘空间。 |
| 依赖项 | Bare Metal模块、Zone以及服务器的IP池。 |
示例值并非实际配置
全新安装在dedicated_bmc_cidrs、dedicated_iso_base_url和dedicated_callback_base中包含示例值(一个私有示例网段和https://example.com)。它们并不是您的实际网络。只要其中任何一项仍为示例值,Bare Metal页面就会显示红色的Management network not configured提示,导入iDRAC将无法通过白名单检查,且live ops开关将拒绝开启(错误config_placeholder)。请在Infrastructure › Bare Metal › Safety › Management network connection下设置这三个值(见下文)。
准备基础设施
将所有iDRAC置于客户无法访问的管理网络中,并为每台分配一个固定私有IPv4地址。在控制面板服务器上检查Redfish API:
bashcurl -sk -u 'nexcmp-admin:XXXX' https://10.20.0.11/redfish/v1/Systems | head在iDRAC上为NexCMP创建一个管理员账户(通过iDRAC Web UI或
racadm)。请使用高强度且唯一的密码。切勿重复使用iDRAC内置的账户。**向iDRAC发布ISO目录——单条命令。**在面板服务器上以root身份运行,并指定该服务器在管理网络上的地址以及iDRAC网络:
bashsudo nexcmp dedicated-setup-iso --listen 10.20.0.2:8080 --allow 10.20.0.0/24--listen必须是此服务器的地址(私有IPv4,若省略端口则默认为8080)。--allow列出iDRAC网络(私有CIDR,/16或更小,最多8个,逗号分隔);仅允许这些网络下载,且当配置项仍为示例值时,该命令还会将其用作dedicated_bmc_cidrs。--dir /path用于选择其他ISO目录(默认为/srv/nexcmp-iso)。该命令将:- 创建该目录及其内部的
pub和server,属主为NexCMP服务用户; - 创建用户组
nexcmp-iso并将nginx用户加入其中,以便nginx在iDRAC挂载ISO时能够读取它,而其他用户无法读取; - 安装nginx站点
nexcmp-iso(仅在nginx -t验证通过时保留,若未安装nginx则会自动安装)以及systemd drop-innexcmp-vmd.service.d/iso.conf(为该目录配置ReadWritePaths,SupplementaryGroups=nexcmp-iso); - 写入ISO配置项(
dedicated_iso_base_url、三个目录、用户组)并重启NexCMP worker。
可以使用其他值重新运行该命令,而
sudo nexcmp dedicated-setup-iso --remove会重新移除nginx站点和drop-in配置(ISO文件会保留)。它也可以在安装时运行:将--iso-listen、--iso-allow(以及--iso-dir)添加到安装命令中。该命令不会创建管理网络,也不会联系任何iDRAC;如果配置值有误、地址不在该服务器上或端口被占用,它会在更改任何内容之前中止并显示提示信息,并且被nginx -t拒绝的nginx站点不会被保留。- 创建该目录及其内部的
**ISO Web服务器提供的内容。**nginx站点仅响应
GET(以及支持字节范围的HEAD)针对/pub/<name>.iso的请求,除此以外一概不提供:没有目录列表,该文件夹下没有其他路径(资源库和server/均无法访问),没有其他方法,且仅允许来自--allow网络(其他任何来源均返回403)。NexCMP将iDRAC需要读取的每个ISO公开为文件或pub中的短期链接;nginx仅在链接及其目标具有相同所有者(服务用户)时才跟随链接,因此指向系统文件的链接会被拒绝。从管理网络上的另一台主机检查此项:bashcurl -I http://10.20.0.2:8080/ # 403 or 404, never a listing curl -I http://10.20.0.2:8080/pub/ # 403 or 404pub中的测试文件应当对Range请求返回206响应。*改为手动操作:*nginx站点和drop-in作为模板包含在发布包中(
share/dedicated/nginx-iso.conf和share/dedicated/vmd-iso.conf,位于/opt/nexcmp/releases/<version>/下)。复制它们,替换__...__标记(监听地址、文件夹、allow行、用户组)并保留上述规则。准备好操作系统镜像。将自安装ISO存放在库文件夹中(见下方的Templates)。客户也可以通过链接添加ISO;这些镜像会下载到服务器上,绝不会作为URL直接提供给iDRAC。
在NexCMP中连接
1. 开启模块
在System › Admin › License & updates上,开启Bare Metal。Bare Metal分类将出现在Infrastructure下。请参阅Modules。
2. 设置管理网络连接
打开Infrastructure › Bare Metal › Safety。Management network connection卡片包含决定一切能否正常运行的三个值:
| 字段 | 设置 | 填写内容 |
|---|---|---|
| iDRAC网络(CIDR) | dedicated_bmc_cidrs | 您的iDRAC专有网络,例如10.20.0.0/24。仅限专有CIDR,/16或更小,最多8个,用逗号分隔。仅这些范围内的iDRAC方可导入。 |
| iDRAC的ISO服务器 | dedicated_iso_base_url | http://<private IPv4>[:port],不包含路径:上一节中ISO Web服务器的地址,例如http://10.20.0.2:8080。一键命令会自动为您填写。 |
| 面板回调地址 | dedicated_callback_base | https://<your-domain>,不包含路径:正在安装的服务器用于上报完成状态的回调地址。该地址必须能够从该服务器所在的网络访问。example.com、localhost及类似地址将被拒绝。 |
表单会在您输入时检查格式,服务器在保存时会再次检查;错误的值会被拒绝并提示原因,而已存储的值保持不变。若某个字段仍保留出厂示例值,则会带有红色的Not configured标签,且在所有三个值均为真实值之前,每个Bare Metal页面都会显示红色提示Management network not configured。变更将连同您的原因一起写入审计日志。再次保存示例值不算作完成配置,除非是由您亲自输入的。
3. 检查安全门(暂且保持关闭)
打开Infrastructure › Bare Metal › Safety。Live ops是向iDRAC发送所有写入命令(电源、虚拟介质、控制台和操作系统安装)的全局开关。它初始处于关闭状态,且在上述管理网络连接仍包含示例值时无法开启(开关会返回config_placeholder并指出相应字段)。写入请求会在API层以及worker内部被拒绝,而状态读取则保持正常。第二道锁ops_locked用于保护每台服务器:新导入的服务器始终处于锁定状态,即使live ops处于开启状态也是如此。

4. 导入服务器
打开Infrastructure › Bare Metal › Stock / iDRAC import。
在Add one server下输入iDRAC地址、账号和密码,然后点击Test connection。该测试仅发送读取命令,不保存任何内容。
字段 示例值 iDRAC地址(URL或主机) 10.20.0.11账户 nexcmp-admin密码 XXXX标签 rack1-01(留空:自动生成)从IP池分配IP 可选;选择服务器的业务IP池 加入在售列表 处于关闭状态,准备就绪后再开启 
点击Save to stock。NexCMP会从iDRAC读取型号、CPU、RAM、磁盘、网卡和服务标签。服务器进入库存时处于锁定状态。
若要导入多台服务器,请使用Bulk import:每行一台服务器,字段之间用逗号、分号或Tab分隔。Preview会检查白名单、iDRAC地址或服务标签是否重复,并读取硬件信息(一次最多处理四台服务器)。
5. 客户ISO与ISO Web地址
打开Infrastructure › Bare Metal › Customer ISOs。
- HTTP address serving ISOs to iDRAC为
dedicated_iso_base_url,与Safety卡片中的值相同(在两处均可编辑)。请输入ISO Web服务器的管理网络地址。 - Customer ISO limits可设置单个ISO大小、ISO总存储空间、最低可用空间、ISO保留时长(小时)、最大下载时间以及并发下载数量。

6. 操作系统模板
打开Infrastructure › Bare Metal › Templates。其中列出了在库文件夹中找到的自动安装ISO。点击文件对应的Register以填写操作系统系列、版本和账户(已根据文件名预填),然后将模板切换为Enable。启用模板不会启动任何操作:每次安装仍需通过安全门禁。Unregister仅删除模板行,绝不会删除文件。

7. IP池
打开Infrastructure › Bare Metal › IP Pools并添加服务器作为业务地址使用的IPv4网段。每台服务器分配一个地址;导入时的Assign an IP from a pool会提取下一个空闲地址。系统按IP池统计空闲地址数量。

8. 套餐与销售
- 打开Services › Dedicated Server › Plans & pricing。编辑四个示例套餐(在1.6.1中名为
BM-40C-<RAM>)或创建您自己的套餐:价格、周期和初装费。在全新安装中,价格以美元输入且精确到分,钱包将按该金额精确扣费:无需汇率。已有按越南盾定价套餐的安装环境将保留越南盾,并且其设置中仍需要配置汇率(若未配置汇率,订单将被拒绝并提示dedicated_fx_unavailable)。示例套餐初始价格为0且已禁用:在售套餐的价格必须大于0。请根据您实际导入的硬件核对每个套餐;示例套餐名称不会检测或更改服务器的硬件。 - 打开该服务器(Infrastructure › Bare Metal › the server › Sales),关联套餐并开启Sellable。
- 开启live ops(在Safety页面通过输入文字进行确认),并解锁要操作的服务器(服务器的Lock标签页,输入的原因会记录到审计日志中)。
- 在Services › Dedicated Server上开启销售。这包含两个步骤:阅读相关影响,然后输入
ENABLE SALES。在此之前,客户看不到订购页面,也不会被扣费。

客户在其服务器页面上可以执行的操作
客户的服务器页面在七个分组(Overview、Control、Network、Hardware、Billing、Activity、Settings)中包含十六个标签页。Billing分组包含:
- Plan & renewal:一次性预付1至24个月;新到期日自当前续费日期起算,并从钱包扣费一次。可开启或关闭自动续费。
- Billing cycle:选择其他周期(例如按季度);自下次续费起生效,当前不扣费也不退款。
- Change plan:客户可以申请更换方案。提交申请不产生费用。在升级硬件或迁移服务器后,您可在Services › Dedicated Server › Plan changes中批准或拒绝。批准升配将按客户已付周期的剩余时间补收差价;降配不予退款,并自下个周期起生效。
- Invoices:该服务器的所有账单(订单、续费、升配)。
在Plan changes中,可按ID、日期、状态、套餐或服务器对请求进行排序;排序覆盖服务器端的全部结果。在窄屏上横向滚动时,操作列保持可见。
在Overview顶部,四个实时磁贴显示CPU、RAM、Disk和Network,并配有过去24小时的小图表。CPU、RAM和Disk是上次iDRAC轮询的使用率百分比(Disk指I/O活动,而非剩余空间);Network是来自流量计数器的当前入站与出站速率以及当月总量。当服务器处于关机状态、无法访问iDRAC或机器未报告该值时,磁贴将显示**—及简要原因;绝不会虚构显示0。这些读数来自Dell iDRAC,如果没有流量计数器,Network磁贴将保持为—。页面打开时,磁贴每分钟刷新一次,点击可打开Hardware或Bandwidth**标签页。
在Overview中,Access卡片会显示所安装操作系统的用户名和密码,默认隐藏并配有Show与Copy按钮。每次安装后均可查看,不仅限一次,且服务器的新所有者绝不会看到前任所有者的密码。若在服务器内部更改了操作系统密码,该卡片仍显示安装时设置的密码。Bandwidth标签页仅在有流量计数器提供数据时显示(参见限制说明)。没有Subnet标签页:NexCMP不支持将自有IP前缀引入租用的服务器。
客户权限说明
| 客户可以 | 始终禁止 |
|---|---|
| 查看清册、运行状况、电源状态和监控指标 | 查看iDRAC地址、用户名或密码 |
| 开机、正常关机、重启、强制关机、重置 | 更改iDRAC账户或iDRAC网络设置 |
| 打开浏览器控制台(每次仅限一个会话) | 修改BIOS或RAID、清除日志、更新固件、重置iDRAC |
| 挂载ISO或自定义ISO链接、设置单次引导、从已启用的模板重装操作系统 | 执行原始Redfish调用(NexCMP中不存在这些功能) |
NexCMP不会为客户创建iDRAC账号:客户仅使用门户中的控制功能,且系统绝不会向其显示iDRAC地址和登录信息。
验证
- 在Safety中,Management network connection卡片未显示红色标签,Bare Metal页面也未显示红色提示。从管理网络上的主机访问时,
curl -I http://<iso-address>/不会列出文件。 - 导入表单中的Test connection会返回型号、CPU、内存和服务代码。
- 服务器及其硬件信息会显示在Servers中。在live ops off状态下,电源操作会被拒绝,并提示"Server control is temporarily disabled system-wide"。
- 开启live ops并解锁一台测试服务器后,从Operations或服务器页面执行关机和开机,并打开控制台。
- 使用测试方案提交测试订单:服务器被分配,操作系统开始安装,安装完成后服务器会向面板上报状态。
限制与注意事项
- 每台物理服务器最多只能有一个有效订阅。
- 仅当同时开启live ops且服务器锁处于打开状态时,才会发送写入命令。worker会在执行每条命令前立即重复此检查。
- Installing状态会等待新操作系统在其对应端口(SSH 22、Windows 3389、Proxmox 8006)上响应后,订单才会完成;安装过程设有超时时间限制(
dedicated_install_timeout_min,默认150分钟)。 - 独立服务器的带宽由非标准安装自带的流量统计Agent进行计算。缺少该Agent则不记录任何数据,门户将隐藏Bandwidth标签页,且API会将
capabilities.bandwidth报告为false。 - 管理员对租用实例的操作(锁定、解锁、取消并退款或不退款)与其他所有服务的统一操作相同,退款将原路退回至支付时使用的余额中。
- 服务器不支持跨分销商转售:Dedicated仅在主站点销售。
故障排查
| 症状 | 原因 | 解决办法 |
|---|---|---|
| 测试失败并提示地址错误 | 该地址不是dedicated_bmc_cidrs中的IPv4字面量(私网,/16或更小子网),或者端口未被允许 | 使用iDRAC的IPv4地址,并在Safety › Management network connection(dedicated_bmc_cidrs)下添加其所属网络。系统会拒绝DNS名称和IPv6。 |
红色提示“Management network not configured”,或在线操作开关返回config_placeholder | dedicated_bmc_cidrs、dedicated_iso_base_url、dedicated_callback_base之一仍保留出厂示例值 | 在Safety › Management network connection下输入实际值。 |
| 保存时某个字段被拒绝 | 格式错误(CIDR不是私网地址或范围大于/16、ISO地址不是http://<private IPv4>[:port]、回调不是https://<domain>),或使用了类似example.com的示例地址 | 查看字段下方的提示信息;已存储的值保持不变。 |
nexcmp dedicated-setup-iso在进行任何更改之前停止 | --listen不是该服务器的地址、端口已被占用,或某个值无效 | 使用该服务器在管理网络上的地址、使用其他端口,或更正提示信息中指出的值。 |
| “iDRAC TLS证书与已固定证书不一致——轮询与写入操作已停止” | iDRAC证书已更换(新证书、更换了iDRAC) | 打开服务器,进入Access标签页,比对两个指纹,如果确认变更无误,点击Repin certificate。 |
| “系统全局已临时禁用服务器控制” | 实时操作已关闭 | 在Safety中将其开启。 |
| “该服务器已被锁定操作” | 单服务器锁定处于开启状态 | 在服务器的Lock标签页中填写原因并解锁。 |
| “该服务器上仍有另一项操作正在运行” | 上一项操作尚未完成 | 请等待;检查Operations。 |
| “该服务器上已打开另一个控制台会话” | 同一时间仅允许一个控制台会话 | 关闭另一个会话。 |
| “该服务器的控制器暂时不可用” | iDRAC无响应 | 检查管理网络和iDRAC。 |
| 挂载ISO失败,iDRAC返回403或404 | Web服务器无法读取该文件,或基础地址配置错误 | 检查ISO Web服务器的权限以及HTTP address serving ISOs to iDRAC。 |
| “所选位置的该套餐已缺货” | 该区域内没有关联该套餐的可售服务器 | 将该套餐关联至一台服务器并开启Sellable。 |
| “当前没有可分配的IPv4地址” | IP池已用尽 | 向IP池中添加地址。 |
| “当前无法进行操作系统自动安装” | 缺少安装前置条件 | 检查模板是否已启用以及ISO文件夹是否可写;客户仍可通过ISO和控制台进行安装。 |
| 安装过程停滞 | 正在安装的服务器无法访问回调地址 | 检查dedicated_callback_base并确保服务器的网络可通过HTTPS访问您的控制面板。 |