使用串行控制台从Google Cloud Compute Engine删除目录

时间:2019-05-29 18:15:59

标签: ssh google-cloud-platform google-compute-engine

(无意间)我的Google Cloud Compute Engine实例上的存储已用完。我无法再通过SSH进入实例。我增加了实例上的空间,但仍然不允许我使用SSH。我的VM操作系统是Ubuntu。

我尝试了两件事:

1。)我尝试创建启动脚本来删除大目录以清理一些空间。在“自定义元数据”下,我将键设置为“启动脚本”,并将值设置为

#! /bin/bash
rm /home/myusername/dir-to-rm

我保存并重置了实例,单击“连接到串行控制台”,但仍然无法使用SSH。

2。)我尝试使用启动脚本通过相同的方法,但使用以下脚本,为串行控制台设置登录用户名和密码:

#! /bin/bash
sudo useradd tmpuser
echo 'tmpuser:password' | chpasswd

3 个答案:

答案 0 :(得分:0)

您可以将磁盘安装在另一个实例中,删除目录然后重新安装。

这是详细信息

  1. 停止当前实例
  2. 编辑实例,从实例中删除磁盘。
  3. 创建一个新实例,并在磁盘上方附加第二个磁盘
  4. 启动新实例
  5. SSH进入新实例
  6. 安装第二个磁盘mount /dev/sdb1 /mnt
  7. 删除目录:rm /mnt/home/myusername/dir-to-rm
  8. 卸载磁盘并停止实例
  9. 将磁盘作为启动磁盘附加到原始实例
  10. 开始

答案 1 :(得分:0)

我建议从您的VM实例[1]创建快照,然后使用您创建的快照创建磁盘。之后,使用新创建的磁盘创建一个新实例,然后尝试ssh。检查是否可以通过SSH访问新创建的实例中的所有文件。

[1] https://cloud.google.com/compute/docs/disks/create-snapshots

希望这会有所帮助。

答案 2 :(得分:0)

由于他是学生,所以我贡献了自己的时间来帮助他。恢复的总时间约为一个小时。

该问题是由文件系统损坏引起的。修复文件系统可以解决此问题。然后,我将磁盘调整为更大的大小以提供更多的可用空间。

在启动过程中,网络接口无法加载。当然,这可以防止任何形式的连接。这就是SSH无法正常工作的原因。