恢复具有已损坏或完整磁盘的虚拟机


如果您的虚拟机无法访问或已损坏,则您可以恢复该虚拟机或其存储空间已满的启动磁盘。

恢复无法访问的虚拟机或存储空间已满的启动磁盘

如果您无法连接到实例,或者启动磁盘已满且无法调整其大小,则必须创建实例并通过快照重新创建启动磁盘,这样才能调整其大小。您必须知道要重新创建的启动磁盘的大小,

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面。

    转到虚拟机实例

    1. 点击实例名称打开虚拟机实例详情页面。
    2. 点击停止
    3. 启动磁盘部分中,记下启动磁盘的大小和名称。
  2. 在 Google Cloud 控制台中,前往创建快照页面。

    转到“创建快照”

    1. 输入快照名称
    2. 来源磁盘下拉列表中选择启动磁盘。
    3. 点击创建
  3. 在 Google Cloud 控制台中,转到创建实例页面。

    转到“创建实例”

  4. 输入实例详情。

  5. 利用旧启动磁盘的快照创建新的启动磁盘。

    1. 启动磁盘下,选择更改
    2. 选择快照
    3. 快照下拉列表中选择旧启动磁盘的快照。
    4. 选择启动磁盘类型
    5. 为磁盘输入新的大小。
    6. 点击选择以确认您的磁盘选项。
  6. 点击创建

恢复损坏的虚拟机

如果虚拟机的操作系统损坏,您可以检索启动磁盘数据以恢复虚拟机。如需恢复启动磁盘,您必须先使用 Google 提供的映像创建临时虚拟机,因为来源虚拟机的快照可能已损坏。

如需从虚拟机检索数据,请按照以下步骤操作:

  1. 通过来源虚拟机的启动磁盘创建快照
  2. 使用公共映像创建临时虚拟机
  3. 检查您是否能够使用 SSH 连接到临时虚拟机
  4. 按照以下步骤将额外磁盘添加到临时虚拟机:

    1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

      转到虚拟机实例

    2. 选择您创建的临时虚拟机。

    3. 点击 修改

    4. 额外磁盘下,点击添加新磁盘,然后执行以下操作:

      1. 添加磁盘名称。
      2. 对于来源类型,选择快照标签页。
      3. 来源快照下拉菜单中,选择您之前在以下步骤中创建的来源虚拟机的快照。
      4. 点击完成
    5. 点击保存

  5. 使用 SSH 连接到虚拟机

  6. 检查虚拟机中的磁盘和分区,并记下磁盘名称,例如 /dev/sdb1

     lsblk
     

    输出内容类似如下:

     NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
     sda      8:0    0   10G  0 disk
     └─sda1   8:1    0   10G  0 part /
     sdb      8:16   0  100G  0 disk
     ├─sdb1   8:17   0   96G  0 part
     ├─sdb2   8:18   0    1K  0 part
     └─sdb5   8:21   0    4G  0 part
     

  7. /mnt/newdisk 处创建装载点:

     sudo mkdir /mnt/newdisk
     

  8. 将额外的磁盘分区装载到装载点 /mnt/newdisk

     sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
     

    DISK_NAME 替换为您在上述步骤中记下的磁盘名称,例如 /dev/sdb1

    快照的文件系统装载在 /mnt/newdisk。您可以浏览目录并检索数据。

如需创建使用已恢复启动磁盘的虚拟机,请按照以下步骤操作:

  1. 根据临时虚拟机的磁盘创建映像
  2. 使用临时虚拟机的映像创建虚拟机

创建虚拟机后,您可以将恢复的数据转移到该虚拟机。