我有一个Google Cloud实例,并且能够正确访问该实例。但不幸的是,我在“ / etc / sysconfig / network-scripts / ifcfg-eth0”文件中进行了一些更改,此后,我无法访问该实例。我尝试了所有方法来访问实例。但是没有运气。
如果有人有任何想法,请分享。预先感谢
答案 0 :(得分:1)
答案 1 :(得分:0)
如果使用Serial Console找不到有用的东西。然后,最佳且有用的方法是使用失败的实例创建快照,并使用先前的快照创建新的快照:
创建快照后,您可以使用它来创建新的VM,在“创建实例”部分中执行以下操作:
您应该能够通过SSH进入新实例。如果要保留“旧”实例中的IP,则可以将其IP配置为static,删除(或停止)旧实例,然后assign the static IP到先前创建的VM实例。 / p>
答案 2 :(得分:0)
阅读了许多Google Cloud和其他网站的论坛后,我找到了一种解决方案。以下是Google云支持团队提供的解决方案。
1-如果您对/ etc / sysconfig / network-scripts / ifcfg-eth0进行了任何更改,则很难通过浏览器控制台或串行控制台访问该实例。
在上述情况下,请按照以下步骤从实例中恢复数据 假设您的旧实例为“ instance-1”
创建了一个名为“ instance-2”的新实例
1)转到“实例1”的实例详细信息,单击“编辑”按钮,然后取消选中“删除实例时删除启动磁盘”选项,此步骤非常重要,否则您将丢失数据。 / p>
2)删除实例“ instance-1”,您的磁盘将被保留,因此将保留数据。
3)在Cloud Shell上,通过运行以下命令将磁盘“ instance-1”附加到新实例:gcloud计算实例attach-disk --disk --zone
4)SSH到您的新实例,并通过运行以下命令创建一个目录作为服务器的磁盘安装点:sudo mkdir -p / mnt / disks / [MNT_DIR]
5)在新实例会话上,通过运行以下命令将磁盘安装到实例:sudo mount -o丢弃,默认为/ dev / [DEVICE_ID] / mnt / disks / [MNT_DIR]
6)在新实例会话上,通过运行以下命令配置设备上的读取和写入权限:sudo chmod a + w / mnt / disks / [MNT_DIR]
注意:用instance-1和您创建的实例(instance-2)替换,请记住,新实例的区域必须与“ instance-1”磁盘的区域匹配。将[MNT_DIR]替换为您要赋予目录的任何名称,一旦连接了磁盘,就可以通过在新实例上运行“ lsblk”来获得[DEVICE_ID],ID通常为sdb1。您可以在“格式化和安装永久性磁盘”部分中参考本文档[1],但请避免执行第四步(命令mkfs.ext4),因为这将删除您的数据。
执行完所有步骤后,您应该可以使用“ cd”转到/ mnt / disks / [MNT_DIR]并在此处查找文件。