GCE:从工作实例克隆后,实例没有连接

GCE:从工作实例克隆后,实例没有连接

我目前正在尝试“克隆”一个可运行的 Ubuntu 18 实例。本质上,我只想从一个预配置的 Ubuntu 18.04 实例创建多个实例。预配置的 Ubuntu 实例使用 Google 的 Ubuntu 18.04 LTS 镜像,功能齐全且可访问。

我尝试用两种方法来克隆它:

  • 从预配置的 Ubuntu 实例的启动盘创建一个映像,以便在创建新的 Ubuntu 实例时使用。
  • 创建预配置的 Ubuntu 实例的快照以便在创建新的 Ubuntu 实例时使用。

通过上述任一方法部署新实例时,新实例似乎已失去所有连接方式。部署看起来成功了;我可以看到 GCE 中的 nic0 已分配了内部 IP。与预配置的 Ubuntu 实例不同,它的内部 IP 无法 ping 通,SSH 也不起作用。

通过 Serial0 连接并运行时,ifconfig我发现除了 之外似乎没有网络接口lo。这让我想到,当从图像或快照创建新实例时,它不会创建网络接口,即使我正在分配内部 IP 和临时 IP。

Serial0 日志也按以下顺序生成这些日志:

[ 2.077602] virtio_net virtio1 ens4: renamed from eth0

[[0;32m  OK  [0m] Started Raise network interfaces.
[[0;32m  OK  [0m] Started Network Service.
         Starting Wait for Network to be Configured...
         Starting Network Name Resolution...
[[0;32m  OK  [0m] Started Wait for Network to be Configured.
         Starting Initial cloud-init job (metadata service crawler)...
[[0;32m  OK  [0m] Started Network Name Resolution.
[[0;32m  OK  [0m] Reached target Host and Network Name Lookups.
[   16.249051] cloud-init[1068]: Cloud-init v. 19.4-33-gbb4131a2-0ubuntu1~18.04.1 running 'init' at Sat, 23 May 2020 18:42:35 +0000. Up 16.12 seconds.
[   16.272622] cloud-init[1068]: ci-info: +++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++
[   16.292596] cloud-init[1068]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
[   16.312622] cloud-init[1068]: ci-info: | Device |   Up  |  Address  |    Mask   | Scope |     Hw-Address    |
[   16.332577] cloud-init[1068]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
[   16.352578] cloud-init[1068]: ci-info: |  ens4  | False |     .     |     .     |   .   | 42:01:0a:01:00:15 |
[   16.373422] cloud-init[1068]: ci-info: |   lo   |  True | 127.0.0.1 | 255.0.0.0 |  host |         .         |
[   16.392574] cloud-init[1068]: ci-info: |   lo   |  True |  ::1/128  |     .     |  host |         .         |
[   16.412605] cloud-init[1068]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+

May 23 18:42:38 ubuntu-gui kernel: [ 2.077602] virtio_net virtio1 ens4: renamed from eth0

Ens4 似乎在 Serial0 中关闭,而 eth0 根本不存在。和都ifup ens4返回ifup eth0“未知接口”。

同一网络中的所有其他实例都具有连接性和 SSH,我很确定这不是防火墙问题。有没有办法确保使用该映像的所有实例都具有实际从 GCE 获取其 IP 地址的工作接口?

提前致谢!

编辑1:

在尝试排除故障时,我发现新实例确实检测到了网络接口。尽管据我所知似乎没有办法启用它们。

ykoolhout@ubuntu-gui:~$ sudo ethtool ens4
Settings for ens4:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Link detected: no
ykoolhout@ubuntu-gui:~$ sudo ifup ens4
Unknown interface ens4

编辑2:

似乎 Google 预配置虚拟机的方式在通过 安装 Ubuntu-GUI 时会损坏apt-get install ubuntu-desktop。虚拟机仍可工作,但在制作虚拟机的机器映像并从该机器映像创建新实例时,新实例会破坏 Google 的客户环境。已发布新的后续问题这里

答案1

您的机器上可能没有安装客户操作系统。我建议首先验证您的客户环境如果没有安装你可以安装客户操作系统使用其中一种方法。

  • 使用导入工具。有关如何使用导入工具的说明,请参阅使映像可启动。
  • 使用 SSH 或 RDP 连接到您的实例并就地安装来宾环境
  • 克隆启动盘并使用启动脚本安装客户环境

相关内容