# 修复实例：会清空磁盘的破坏性操作

修复实例会清空当前实例的全部磁盘数据且无法恢复。本文说明适用场景、二次确认流程、哪些内容会保留，以及实例从未创建成功时的例外分支。

> [!CAUTION]
> 修复会销毁当前实例的底层资源及其全部磁盘数据，且无法恢复，然后按实例保存的配置重新创建。这不是重启，也不是重装——它是一次彻底的销毁再重建。

修复实例（Repair）的入口在实例详情页的"高级"面板。点击按钮前，先确认这台实例上没有尚未备份、又不能丢失的数据。

## 什么时候用修复

修复适用于底层资源异常或实例无法正常启动的情况，例如实例所在的宿主资源损坏、系统盘引导失败且重启无效。控制台上的说明原文是：

> 使用当前保存的映像、规格、网络和登录配置修复实例，适用于底层资源异常或无法正常启动的情况。

如果实例只是运行异常但仍能开关机，先尝试[重启](/zh-cn/compute/instances/management/power/)，而不是直接修复。重启保留磁盘数据，修复不保留。

_界面示意图：实例详情页「高级」面板中的「修复实例」区块：标题、说明文字、下方的保留/删除/影响三行提示，以及右侧的修复实例按钮_

## 会发生什么，不会发生什么

“修复”这个名字听起来像是打补丁，实际行为是先销毁再重建整台实例：

| 会发生什么                                                           | 不会发生什么                                                                                                       |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| 若实例仍在运行，平台先强制停止，再销毁底层资源                       | 不会保留旧磁盘上的任何数据——是彻底清空，不是格式化后复用同一块盘                                                   |
| 彻底删除该实例在虚拟化层的全部存储卷                                 | 不会修改实例身份、网络配置、计费关系，也不会影响已有的备份记录                                                     |
| 按实例当前保存的镜像、规格、网络和登录配置，从模板重新创建一台新实例 | 不会绕过二次确认——前后端都会校验你输入的实例名称是否准确                                                           |
| 实例状态变为"正在修复"，期间暂时离线                                 | 不会在资源已经不可用时才失败——修复前会重新校验规格、镜像和节点配置是否仍然可用，任一失效就直接拒绝，不会动现有实例 |

当前实例只有一块系统盘，没有独立的数据盘概念，因此"清空全部磁盘数据"就是清空这唯一的系统盘。修复不会自动为你生成快照——如果你此前对这台实例做过整机备份，磁盘数据可以从备份恢复；如果没有，磁盘数据无法找回。

## 开始之前

- **权限**：你的角色需要包含实例操作权限。项目成员及以上默认拥有；项目查看者没有，按钮会是禁用状态。
- **实例状态必须允许修复**：已交付的实例（已完成首次配置）仅"正在运行"、"已停止"、"错误"、"失败"四种状态允许修复；尚未交付的实例仅"正在等待"、"正在预配"、"错误"、"失败"允许。其余状态下按钮保持禁用。
- **实例没有处于维护锁定**：宿主机维护期间无法修复。
- **没有进行中的工作请求**：创建、重装、升级、迁移、删除等任务在等待或执行中时，修复会被拒绝。

## 修复实例

1. 打开"计算 > 实例"，进入目标实例的详情页，切换到"高级"面板。
2. 在"修复实例"区块，核对下方列出的三行提示：**保留**——"实例身份、网络、计费关系和备份记录"；**删除**——"当前实例的全部磁盘数据，且无法恢复"；**影响**——"修复期间实例将暂时离线"。
3. 点击**修复实例**，打开确认弹窗。
4. 弹窗要求输入实例名称以确认：

   > 请输入实例名称「`{{name}}`」以确认清空当前磁盘并修复实例：

   `{{name}}` 会替换为这台实例的实际名称。在输入框中准确输入当前实例的名称。

   _界面示意图：修复实例确认弹窗：标题、保留/删除/影响三行提示列表、要求输入实例名称的说明文字、名称输入框，以及底部的取消和确认按钮_

5. 输入的名称与实例名称不一致时，输入框下方会显示：“输入的名称与实例名称不一致”，确认按钮保持禁用。名称完全匹配后，确认按钮才会点亮为**清空磁盘并修复实例**。
6. 点击**清空磁盘并修复实例**提交。

提交后实例状态变为"正在修复"，可以在实例详情的"工作请求"中跟踪进度。修复完成后状态恢复为"正在运行"或"已停止"，视重建后的开机结果而定。

## 特殊情况：实例从未创建成功

如果这台实例此前的创建流程中途失败、平台还没有成功把它创建出来，点击"修复实例"走的是完全不同的路径：**平台会恢复原本未完成的创建请求，继续把这台实例配置出来，不会触发任何磁盘销毁**，因为根本没有旧资源可删。

这种情况通常发生在实例仍处于"正在等待"、"正在预配"、"错误"或"失败"状态、且从未成功开过机的时候。对这类实例来说，"修复"实际上等同于"继续创建"，是安全操作。危险的销毁行为只发生在实例已经真实创建成功时。

## 操作被拒绝时

修复会在提交前做一轮检查。控制台会原样显示平台返回的提示，下面按提示分类说明。

### 有工作请求正在进行

> 此实例正有工作请求正在进行，因此您无法操作此实例。请等待最长 15 分钟，然后重试。如果您遇到问题，请联系 Cypacky Support 以获取帮助。

实例上有创建、重装、升级、迁移或删除任务处于等待或执行中。打开实例详情的"工作请求"，等最后一条任务结束后再重试。

### 实例正在维护

> 此实例正在维护，当前无法修复。

实例所在的宿主机处于维护状态。这条提示是修复功能独立的检查，与电源操作显示的维护提示文字不同。维护结束后再重试。

### 实例当前状态不允许修复

> 实例当前状态不允许修复

实例的状态不在允许修复的范围内，参考"开始之前"里列出的状态列表。多数情况下按钮已经处于禁用状态，不会走到这一步。

### 输入的名称不匹配

> 输入的名称与实例名称不一致

确认弹窗里输入框中的文字必须与实例名称逐字相同，确认按钮才会点亮。就算绕过前端直接调用接口提交，后端也会用同样的规则再校验一次，返回“实例名称不匹配”。

### 实例配置已不可用

> 实例配置已不可用，无法修复

实例当前使用的规格已经下架或失效。修复前会重新校验规格是否仍然可用，失效时直接拒绝，不会动现有实例。

### 实例镜像已不可用

> 实例映像已不可用，无法修复

实例当前使用的镜像版本已经下架或失效，修复无法重新克隆出实例，直接拒绝。

### 节点配置不可用

> 节点 PVE 配置不可用，无法修复

实例所在节点的底层虚拟化配置不可用，多为节点侧问题，此时不会执行任何删除操作。稍后重试，或联系 Cypacky Support。

### 实例正在等待支付激活或已欠费

> 此实例正在等待支付激活，当前无法执行该操作。

> 此实例当前处于欠费状态，当前无法执行该操作。

完成支付或结清欠费后，修复才能执行。

### 有未支付或正在兑现的账单

> 此实例有待支付的升级或流量重置账单，当前操作可能与付款兑现冲突。

> 此实例有已支付账单正在兑现，请等待账单动作完成后再操作。

先完成或取消对应账单，或等待账单动作执行完毕再修复。

### 实例因安全投诉被锁定

> 此实例因安全投诉已被锁定。当前操作不可用，请联系 Cypacky Support。

通过工单联系 Cypacky Support 了解原因和解锁条件。

## 相关文档

- [实例高级设置](/zh-cn/compute/instances/detail/advanced/)
- [启动、停止与重启实例](/zh-cn/compute/instances/management/power/)
- [删除实例](/zh-cn/compute/instances/management/delete/)
- [工作请求](/zh-cn/compute/operations/work-requests/)
