文档首页 > > 常见问题> 连接类> Cloud-init连接出现问题时,如何排查?

Cloud-init连接出现问题时,如何排查?

分享
更新时间: 2019/04/30 11:21

Cloud-init网络示意图

弹性云服务器获取Metadata的流程如图1所示:

图1 获取Metadata流程图

排查步骤

  1. 检查弹性云服务器是否已经获取到IP地址。

    如果没有获取到IP地址,请尝试执行获取命令:dhclient(不同的操作系统,获取DHCP地址的命令有稍微的差别,请按照弹性云服务器的操作系统,选择相应命令);也可以通过down/up网卡的方式尝试重新获取。

    图2 查看弹性云服务器IP地址
  1. 如果弹性云服务器ping不通169.254.169.254,请按以下步骤排查:
    1. 查看弹性云服务器内169.254.169.254的默认路由:

      正常情况下,169.254.169.254的精确路由的下一跳地址,要和默认路由的下一跳地址保持一致。

      图3 查看169.254.169.254的路由信息
    2. 如果没有169.254.169.254/32位的精确路由:

      CentOS 5系列的镜像不支持opt_name为121的这种路由注入方式,所以无法注入,请尝试使用新的镜像。

    3. 如果169.254.169.254/32的精确路由指向的下一跳和默认路由不一致:
      • 如果不是新建弹性云服务器,可能是开启CloudInit特性之前创建的,弹性云服务器内部service network restart重新进行dhcp请求,查看是否获取到正确的路由。
      • 如果是新建弹性云服务器,请执行步骤6,联系技术支持人员。
  2. Cloud-init失败,还有可能是弹性云服务器获取metadata请求失败。

    弹性云服务器内部获取metadata请求的命令:

    curl http://169.254.169.254/openstack/latest/meta_data.json

    正确的返回结果如图4所示:(以下示例仅供参考,命令行有返回值即表示正确)

    图4 返回结果
  1. Cloud-init配置了,服务也起来了,但是无法登录或者无法完成非root用户的创建。

    需要检查/etc/cloud/cloud.cfg配置文件格式是否严格遵循缩进了,具体要参考各大Linux OS厂商本身的要求,如下以ubuntu操作系统为例。

    图5 检查配置文件
  1. 如果某次弹性云服务器启动后通过预先获得的秘钥文件无法登录弹性云服务器(或无法获取弹性云服务器密码),可以尝试通过重启弹性云服务器后重试解决。
  2. 如果按照以上步骤执行后,仍然无法正常使用Cloud-init,请联系技术支持人员进行解决。

    您需要向技术支持人员提供如下表格中的信息:

    Item

    如何使用

    注释

    您的值

    VPC CIDR 块

    用于客户网关配置

    示例:10.0.0.0/16

    -

    VPC ID信息

    -

    示例:120b71c7-94ac-45b8-8ed6-30aafc8fbdba

    -

    1 号子网 CIDR 块(可与 VPC 的 CIDR 块相同

    -

    示例:10.0.1.0/24

    -

    弹性云服务器ID信息

    -

    -

    -

    弹性云服务器IP信息

    -

    示例:192.168.1.192/24

    -

    弹性云服务器路由信息

    -

    -

    -

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区