# 生成快照

若要在升级之前保存 GitHub Enterprise Server 数据，请创建 VM 或磁盘快照。

## 关于快照

快照存储虚拟机 (VM) 在某一时间点的状态。
GitHub 强烈建议在升级 VM 之前创建 VM 或磁盘快照，以便在升级失败时，可以从快照还原实例。

## 快照类型

有两种类型的快照：

* VM 快照会保存整个 VM 状态，包括用户数据和配置数据。 此快照方法需要占用大量磁盘空间，且比较耗时。
* 数据磁盘快照仅保存用户数据。

## 创建快照

GitHub 仅当实例的 VM 关闭或实例处于维护模式且所有后台作业已完成时，才建议创建 VM 快照。

可创建的快照类型取决于所使用的平台。

* 某些平台不允许你只生成数据磁盘的快照。 对于此类平台，你需要生成整个 VM 的快照。
* 如果你的虚拟机监控程序不支持完整的 VM 快照，你应连续、快速地生成根磁盘和数据磁盘的快照。

| 平台                    | Snapshot 方法 | 文档                                                                                                                                                                                               |
| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Amazon AWS            | Disk        | 在 AWS 文档中[创建 Amazon EBS 快照](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html)                                                                                      |
| Azure                 | VM          | Microsoft Learn 中的[在 Azure VM 上创建虚拟硬盘的快照](https://learn.microsoft.com/azure/virtual-machines/snapshot-copy-managed-disk)                                                                         |
| Hyper-V               | VM          | Microsoft Learn 中的[在 Hyper-V 中启用或禁用检查点](https://docs.microsoft.com/windows-server/virtualization/hyper-v/manage/enable-or-disable-checkpoints-in-hyper-v)                                        |
| Google Compute Engine | Disk        | Google Cloud 文档中的 [Create and manage disk snapshots](https://cloud.google.com/compute/docs/disks/create-snapshots)（创建和管理磁盘快照）                                                                    |
| VMware                | VM          | VMware Docs 中的 [Taking Snapshots of a Virtual Machine](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.hostclient.doc/GUID-64B866EF-7636-401C-A8FF-2B4584D9CA72.html)（拍摄虚拟机的快照） |

## 从快照还原

如果升级失败，可以从升级前拍摄的快照还原实例。

* 如果拍摄了 VM 快照，请将 VM 还原为快照。
* 如果您创建了磁盘快照，请部署一个运行与这些快照相同发行版本的新实例，然后附加从这些快照创建的卷。 请参阅“[安装 GitHub Enterprise](/zh/enterprise-server@3.22/admin/installing-your-enterprise-server)”。