Google计算引擎无法正常启动,无法进行SSH

我在Google Compute Engine上的实例无法正常启动,无法进行SSH连接。 我在实例上有很多东西。 我怎样才能恢复?

日志如下。 当我尝试,如果它是在networking上从Windows我得到NAT IP,但我无法SSH的工作正常。 我也不能从浏览器SSH。

[ 0.519999] md: autorun ... [ 0.520794] md: ... autorun DONE. [ 0.521761] VFS: Cannot open root device "sda1" or unknown-block(0,0): error -6 [ 0.523744] Please append a correct "root=" boot option; here are the available partitions: [ 0.525886] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 0.527829] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-25-generic #26~14.04.1-Ubuntu [ 0.529875] Hardware name: Google Google, BIOS Google 01/01/2011 [ 1.656059] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) 

在从试用版迁移到付费用户的过程中,我失去了类似症状的跑步实例。 但是,在我的情况下,“标志”自动删除磁盘删除实例时被检查,这是阻止我使用上述方法。 所以这里是我能够恢复我的驱动器:

首先,不要删除已损坏的实例。 你将需要它。

  1. 从您的主控制台中,确定与损坏的实例相对应的磁盘的名称:“ gcloud compute disks list
  2. 创build似乎损坏的驱动器快照: gcloud计算磁盘快照my-disk-1 –snapshot-names快照-1
  3. 从新创build的快照创build并引导实例( 确保在创build新实例时closures自动删除标志 )。 很有可能,新创build的实例会遇到与原来完全相同的启动问题。 这一次没问题,因为现在可以closures并删除该实例,而不会丢失在使用gcloud计算磁盘列表(如:new_disk)列表时应该可用的驱动器。
  4. 一旦实例被删除,您应该留下一个新的可安装驱动器。 为此,创build一个与原始操作系统类似的操作系统特征的第三个实例。
  5. 从Google Cloud控制台,并使用gcloud命令,将驱动器附加到新的实例(比如ubuntu-trusty-3)。 gcloud计算实例挂接磁盘ubuntu-trusty-3 –disk DISK –device-name new_disk您现在应该在该实例上有2个驱动器可用。

$ sudo blkid /dev/sda1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4" /dev/sdb1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4"

  1. 如果驱动器不显示,重新启动该实例(sudo blkid)。

以下是我的: 仪表板上的外观

在我的情况下,令我最惊讶的是从恢复的驱动器 (gmap-server) 引导的内核 ,我又回来了。 我不知道内核如何挑选这个与创build实例时创build的内核。 如果有人知道,请在这里join。

这可能是UUID与磁盘UUID不匹配的/ etc / fstab的问题,操作系统无法使用正确的UUID安装磁盘。

要对引导磁盘上的/ etc / fstab进行必要的更改,可以执行以下步骤:

  1. 删除启动盘的情况下删除您的实例(在删除实例之前快照您的磁盘是个好主意,这样您就可以备份恢复了)。
  2. 创build临时实例并将有问题的启动盘作为辅助盘。
  3. SSH到这个实例并运行$ sudo blkid来获得辅助磁盘的UUID。
  4. 安装辅助磁盘。
  5. 现在可以修改辅助磁盘上的/ DISK-MOUNT-PATH / etc / fstab。
  6. 保存更改并closures实例。
  7. 完成后,您可以删除临时实例,并使用原始磁盘创build新实例。

我希望有帮助。