---
title: 独立服务器（裸金属）
description: 销售通过iDRAC和Redfish管理的Dell服务器：网络与ISO服务器先决条件、导入服务器、安全开关、模板与方案。
url: https://nexcmp.com/zh-cn/docs/infrastructure/dedicated/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# 独立服务器（裸金属） {#dedicated-servers-bare-metal}

> **管理后台位置：**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`）下启用该模块。

## 功能说明 {#what-it-does}

NexCMP通过Redfish API**直接经由iDRAC**管理物理服务器。客户租用整台服务器：可进行开机与关机、打开浏览器控制台、挂载ISO或通过模板安装操作系统，并查看硬件信息和监控指标。他们绝不会看到iDRAC的地址、用户名或密码。

使用此功能转售您自有机架中的独立服务器。

## 前提条件 {#requirements}

| 项目 | 要求 |
|---|---|
| 硬件 | 配备**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池。 |

::: warning 示例值并非实际配置
全新安装在`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**下设置这三个值（见下文）。
:::

## 准备基础设施 {#prepare-the-infrastructure}

1. **将所有iDRAC置于客户无法访问的管理网络中**，并为每台分配一个固定私有IPv4地址。在控制面板服务器上检查Redfish API：

   ```bash
   curl -sk -u 'nexcmp-admin:XXXX' https://10.20.0.11/redfish/v1/Systems | head
   ```

2. 在iDRAC上为NexCMP**创建一个管理员账户**（通过iDRAC Web UI或`racadm`）。请使用高强度且唯一的密码。切勿重复使用iDRAC内置的账户。
3. **向iDRAC发布ISO目录——单条命令。**在面板服务器上以root身份运行，并指定该服务器在管理网络上的地址以及iDRAC网络：

   ```bash
   sudo 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-in`nexcmp-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站点不会被保留。

4. **ISO Web服务器提供的内容。**nginx站点仅响应`GET`（以及支持字节范围的`HEAD`）针对`/pub/<name>.iso`的请求，除此以外一概不提供：没有目录列表，该文件夹下没有其他路径（资源库和`server/`均无法访问），没有其他方法，且仅允许来自`--allow`网络（其他任何来源均返回403）。NexCMP将iDRAC需要读取的每个ISO公开为文件或`pub`中的短期链接；nginx仅在链接及其目标具有相同所有者（服务用户）时才跟随链接，因此指向系统文件的链接会被拒绝。从管理网络上的另一台主机检查此项：

   ```bash
   curl -I http://10.20.0.2:8080/            # 403 or 404, never a listing
   curl -I http://10.20.0.2:8080/pub/        # 403 or 404
   ```

   `pub`中的测试文件应当对`Range`请求返回206响应。

   *改为手动操作：*nginx站点和drop-in作为模板包含在发布包中（`share/dedicated/nginx-iso.conf`和`share/dedicated/vmd-iso.conf`，位于`/opt/nexcmp/releases/<version>/`下）。复制它们，替换`__...__`标记（监听地址、文件夹、allow行、用户组）并保留上述规则。

5. **准备好操作系统镜像。**将自安装ISO存放在库文件夹中（见下方的**Templates**）。客户也可以通过链接添加ISO；这些镜像会下载到服务器上，绝不会作为URL直接提供给iDRAC。


## 在NexCMP中连接 {#connect-in-nexcmp}

### 1. 开启模块 {#_1-turn-the-module-on}

在**System › Admin › License & updates**上，开启**Bare Metal**。**Bare Metal**分类将出现在Infrastructure下。请参阅[Modules](https://nexcmp.com/zh-cn/docs/infrastructure/modules/)。

### 2. 设置管理网络连接 {#_2-set-the-management-network-connection}

打开**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. 检查安全门（暂且保持关闭） {#_3-check-the-safety-gate-leave-it-closed-for-now}

打开**Infrastructure › Bare Metal › Safety**。**Live ops**是向iDRAC发送所有写入命令（电源、虚拟介质、控制台和操作系统安装）的全局开关。它初始处于**关闭**状态，且在上述管理网络连接仍包含示例值时无法开启（开关会返回`config_placeholder`并指出相应字段）。写入请求会在API层以及worker内部被拒绝，而状态读取则保持正常。第二道锁**ops_locked**用于保护每台服务器：新导入的服务器始终处于锁定状态，即使live ops处于开启状态也是如此。

![Live ops关闭状态下的Safety页面以及被阻止的操作列表](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-01-safety.webp)

### 4. 导入服务器 {#_4-import-servers}

1. 打开**Infrastructure › Bare Metal › Stock / iDRAC import**。
2. 在**Add one server**下输入iDRAC地址、账号和密码，然后点击**Test connection**。该测试仅发送读取命令，不保存任何内容。

   | 字段 | 示例值 |
   |---|---|
   | iDRAC地址（URL或主机） | `10.20.0.11` |
   | 账户 | `nexcmp-admin` |
   | 密码 | `XXXX` |
   | 标签 | `rack1-01`（留空：自动生成） |
   | 从IP池分配IP | 可选；选择服务器的业务IP池 |
   | 加入在售列表 | 处于关闭状态，准备就绪后再开启 |

      ![包含示例地址且只读测试成功的Stock and iDRAC import页面](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-02-import-server.webp)

3. 点击**Save to stock**。NexCMP会从iDRAC读取型号、CPU、RAM、磁盘、网卡和服务标签。服务器进入库存时处于**锁定**状态。
4. 若要导入多台服务器，请使用**Bulk import**：每行一台服务器，字段之间用逗号、分号或Tab分隔。**Preview**会检查白名单、iDRAC地址或服务标签是否重复，并读取硬件信息（一次最多处理四台服务器）。

### 5. 客户ISO与ISO Web地址 {#_5-customer-isos-and-the-iso-web-address}

打开**Infrastructure › Bare Metal › Customer ISOs**。

- **HTTP address serving ISOs to iDRAC**为`dedicated_iso_base_url`，与Safety卡片中的值相同（在两处均可编辑）。请输入ISO Web服务器的管理网络地址。
- **Customer ISO limits**可设置单个ISO大小、ISO总存储空间、最低可用空间、ISO保留时长（小时）、最大下载时间以及并发下载数量。

![包含iDRAC所用HTTP地址及ISO限制的Customer ISOs页面](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-03-iso-settings.webp)

### 6. 操作系统模板 {#_6-os-templates}

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

![包含已注册和未注册ISO的Bare Metal Templates页面](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-04-os-templates.webp)

### 7. IP池 {#_7-ip-pools}

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

![包含示例网段和空闲数量统计的Bare Metal IP Pools页面](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-05-ip-pools.webp)

### 8. 套餐与销售 {#_8-plans-and-sale}

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

![已关闭销售开关的独立服务器方案](https://nexcmp.com/zh-cn/docs/images/infrastructure/dedicated-06-plans.webp)

### 客户在其服务器页面上可以执行的操作 {#what-customers-can-do-on-their-server-page}

客户的服务器页面在七个分组（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前缀引入租用的服务器。

### 客户权限说明 {#what-customers-can-and-cannot-do}

| 客户可以 | 始终禁止 |
|---|---|
| 查看清册、运行状况、电源状态和监控指标 | 查看iDRAC地址、用户名或密码 |
| 开机、正常关机、重启、强制关机、重置 | 更改iDRAC账户或iDRAC网络设置 |
| 打开浏览器控制台（每次仅限一个会话） | 修改BIOS或RAID、清除日志、更新固件、重置iDRAC |
| 挂载ISO或自定义ISO链接、设置单次引导、从已启用的模板重装操作系统 | 执行原始Redfish调用（NexCMP中不存在这些功能） |

NexCMP不会为客户创建iDRAC账号：客户仅使用门户中的控制功能，且系统绝不会向其显示iDRAC地址和登录信息。

## 验证 {#verify}

0. 在**Safety**中，**Management network connection**卡片未显示红色标签，Bare Metal页面也未显示红色提示。从管理网络上的主机访问时，`curl -I http://<iso-address>/`不会列出文件。
1. 导入表单中的**Test connection**会返回型号、CPU、内存和服务代码。
2. 服务器及其硬件信息会显示在**Servers**中。在**live ops off**状态下，电源操作会被拒绝，并提示"Server control is temporarily disabled system-wide"。
3. 开启live ops并解锁一台测试服务器后，从**Operations**或服务器页面执行关机和开机，并打开控制台。
4. 使用测试方案提交测试订单：服务器被分配，操作系统开始安装，安装完成后服务器会向面板上报状态。

## 限制与注意事项 {#limits-and-notes}

- 每台物理服务器最多只能有一个有效订阅。
- 仅当**同时**开启live ops**且**服务器锁处于打开状态时，才会发送写入命令。worker会在执行每条命令前立即重复此检查。
- **Installing**状态会等待新操作系统在其对应端口（SSH 22、Windows 3389、Proxmox 8006）上响应后，订单才会完成；安装过程设有超时时间限制（`dedicated_install_timeout_min`，默认150分钟）。
- 独立服务器的带宽由非标准安装自带的流量统计Agent进行计算。缺少该Agent则不记录任何数据，门户将隐藏Bandwidth标签页，且API会将`capabilities.bandwidth`报告为`false`。
- 管理员对租用实例的操作（锁定、解锁、取消并退款或不退款）与其他所有服务的统一操作相同，退款将原路退回至支付时使用的余额中。
- 服务器不支持跨分销商转售：Dedicated仅在主站点销售。


## 故障排查 {#troubleshooting}

| 症状 | 原因 | 解决办法 |
|---|---|---|
| 测试失败并提示地址错误 | 该地址不是`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访问您的控制面板。 |
