创建 Windows 永久性磁盘快照

本页面介绍如何创建 Windows 永久性磁盘的快照。如需详细了解永久性磁盘,请参阅永久性磁盘文档。

Compute Engine 使用的是增量快照,这样不仅提高了性能,还降低了用户需要支付的存储费用。如果您只想配置操作系统并将这些配置应用于其他实例,请改为创建映像

准备工作

创建 Windows VSS 快照

在大多数情况下,使用卷影复制服务 (VSS) 截取快照是对附加到 Windows 实例的永久性磁盘创建快照的最简单方法。您无需停止实例或分离永久性磁盘即可创建 VSS 快照。

VSS 快照用于备份和恢复包含 VSS 感知型应用的系统。请注意,只能将 VSS 快照用于从永久性磁盘备份数据。利用正在运行的实例快照创建虚拟机实例启动磁盘并不可靠。

VSS 快照的价格与常规永久性磁盘快照相同,并且仅根据快照的总大小收取费用。

限制

  • VSS 快照仅适用于映像版本为 v20160810 或更高的 Windows 实例。对于使用旧版映像的实例,请创建常规快照
  • 永久性磁盘必须使用 NTFS、exFAT 或 ReFS 文件系统。
  • VSS 快照不能用于复制或备份永久性启动磁盘上的操作系统。您只能使用 VSS 快照来备份和恢复永久性启动磁盘和辅助数据磁盘的数据。
  • 当您创建 VSS 快照时,Windows Server 会在 VSS 过程中将快照中的卷标记为只读。此外,您通过 VSS 快照创建的任何磁盘也将处于只读模式。
  • 只有在您运行 VSS 感知型应用(可进行协调以创建一致的数据备份)时,VSS 快照才有助于保留数据。

创建快照

Console

  1. 转到“创建新快照”页面
  2. 输入快照名称
  3. (可选)输入快照的说明
  4. 来源磁盘下方,选择要为其创建快照的现有磁盘。
  5. 跳过此步骤以使用默认快照存储位置。否则,要使用非默认存储位置,请执行以下操作:

    1. 位置下,选择要将快照存储在多区域位置还是区域位置。
    2. 选择要使用的特定区域或多区域。要使用最靠近源磁盘的区域或多区域,请选择基于磁盘的位置
  6. 选中启用 VSS 选项以指定此快照应使用卷影复制服务。

  7. 点击创建以创建快照。

gcloud

创建快照时,请添加 --guest-flush 标志,以指示您想要创建 VSS 快照。如果您要创建区域永久性磁盘的快照,也请添加 --region 标志。

  • 要创建地区永久性磁盘的 VSS 快照,请使用 gcloud compute disks snapshot 命令:

    gcloud compute disks snapshot [DISK_NAME] --guest-flush
    

    其中 [DISK_NAME] 是您要为其创建快照的地区永久性磁盘的名称。

  • 或者,要创建区域永久性磁盘的 VSS 快照,请使用 gcloud beta compute disks snapshot 命令:

    gcloud beta compute disks snapshot [DISK_NAME] --guest-flush --region [REGION]
    

    其中:

    • [DISK_NAME] 是您要为其创建快照的区域永久性磁盘的名称。
    • [REGION] 是区域永久性磁盘所在的区域。

    gcloud 命令行工具将等待操作返回 READYFAILED 状态,或者等待操作达到超时时间上限并返回快照最新的已知详细信息。

API

创建快照时,请添加 ?guestFlush=true 参数,以指示您想要创建 VSS 快照。

  • 要创建地区永久性磁盘的 VSS 快照,请向 compute.disks.createSnapshot 方法发出 POST 请求:

    POST  https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [ZONE] 是地区永久性磁盘所在的地区。
    • [DISK_NAME] 是您要为其创建 VSS 快照的地区永久性磁盘的名称。
  • 要创建区域永久性磁盘的 VSS 快照,请向 compute.regionDisk.createSnapshot 方法发出 POST 请求:

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [REGION] 是区域永久性磁盘所在的区域。
    • [DISK_NAME] 是您要为其创建 VSS 快照的区域永久性磁盘的名称。

现在,您已拥有一个可用来创建新的永久性磁盘的永久性磁盘快照。

创建常规快照

在某些情况下,您可能需要使用标准快照系统来创建附加到 Windows 实例的磁盘快照。

要创建快照,请执行以下操作:

  1. 卸载文件系统
  2. 创建快照
  3. 重新装载您的磁盘

卸载文件系统

在创建永久性磁盘快照之前,请确保您要截取的快照与永久性磁盘的预计状态一致。如果您截取了处于“不洁净”状态的永久性磁盘的快照,则系统可能会强制执行磁盘检查并可能导致数据丢失。请按照以下说明清空 Windows 实例的磁盘缓冲区。

  1. 登录您的 Windows 实例。

  2. 打开 PowerShell 命令提示符并运行 diskpart 工具,具体命令如下:

    PS C:\\> diskpart
    
  3. 确定您想要卸载并截取快照的磁盘,具体命令如下:

    PS C:\\> list disk
    
  4. 然后,使用您刚刚找到的磁盘编号选择磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  5. 最后,卸载磁盘,具体命令如下:

    DISKPART> offline disk
    

如果无法卸载永久性磁盘(例如在应用可能正向磁盘写入数据的情况下),您可以同步文件系统以清空磁盘缓冲区。要同步您的文件系统,请执行以下操作:

  1. 登录您的 Windows 实例。
  2. 下载并安装同步工具。
  3. 使应用停止向永久性磁盘写入数据。
  4. 以管理员身份运行命令提示符,只需右键点击命令提示符图标并选择以管理员身份运行即可。
  5. 在命令行终端中,运行以下命令:

    PS C:\\> sync [DRIVE_LETTER]
    

    其中:[DRIVE_LETTER] 是您要同步的卷的盘符。例如,F:\` or 或 G:\。

创建快照

  1. 按照创建永久性磁盘快照的步骤操作。

  2. 创建快照后,重新装载永久性磁盘

重新装载磁盘

重新装载磁盘并将其标记为可读写。

  1. 登录您的 Windows 实例。

  2. 打开 PowerShell 命令提示符并运行 diskpart 工具,具体命令如下:

    PS C:\\> diskpart
    
  3. 确定您想要卸载的磁盘,具体命令如下:

    DISKPART> list disk
    
  4. 使用 select disk 命令重新选择磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  5. 重新装载磁盘,具体命令如下:

    DISKPART> online disk
    

重新装载磁盘后,从磁盘中移除只读标志:

  1. 在您的 Windows 实例上,使用 diskpart 命令行工具选择脱机磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  2. 将磁盘联机,具体命令如下:

    DISKPART> online disk
    
  3. 列出磁盘中的所有卷,具体命令如下:

    DISKPART> list volume
    
  4. 选择新的卷,具体命令如下:

    DISKPART> select volume [VOLUME_NUMBER]
    

    其中:[VOLUME_NUMBER] 是您需要配置为可读写的卷。

  5. 检查卷属性,具体命令如下:

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  6. 退出 diskpart 工具,具体命令如下:

    DISKPART> exit
    
  7. 如果该磁盘是其他实例的启动磁盘,请将启动磁盘文件与新磁盘签名同步,具体命令如下:

    PS C:\\> bcdboot [DRIVE_LETTER]Windows /s [DRIVE_LETTER]
    

    其中:[DRIVE_LETTER] 是您要同步的卷的盘符。例如,F:\` or 或 G:\。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档