• 第三章 AWS快照创建实例启动失败排查解决


    一、问题概述

    因业务需求,需要将生产环境的A实例复制一份出来当做预生产环境使用。但是在AWS使用快照的方式创建EC2实例的时候无法正常启动,通过获取AWS EC2截图能够看到已经到了登录界面。
    

    image

    二、问题分析

    在发现问题后尝试使用SSM登录,但是却无法登录进系统内部。后再停止实例运行,然后在运行实例,依然无法启动。
    为了排查是VPC的问题,还是实例镜像的问题。使用另外一台服务器的镜像启动,发现是可以正常启动进入的,这问题就排查到实例镜像上面。最后在待实例进入 running 状态后,依次选择 操作、监控和故障排除、获取系统日志通过获取系统日志发现了一些问题。
    

    image

    发现这是python版本出现了问题,进入原来的环境,查看python相关信息:
    
    [root@ip-172-31-39-65 ~]# python -V
    Python 3.7.4
    
    到这里,基本上能确定是python版本的问题了。
    最后通过分析排查发现是因为环境配置所导致。
    Linux 系统默认的python2.7被修改为了python3.7.4 快照的恢复使用的应用是Cloud-init,could-init调用的是python 也就是系统默认的python2.7的版本 也就导致cloud-init调用了python3.7.4的版本。从而导入配置失败。
    

    三、问题解决

    1.方式一:

    在/usr/bin/cloud-init中修改#!/usr/bin/python为 #!/usr/bin/python2.7然后手动创建快照。在用创建的快照从新启动一台新的实例来
    
    [root@ip-172-31-39-65 ~]# vim /usr/bin/cloud-init
    #!/usr/bin/python2.7
    # EASY-INSTALL-ENTRY-SCRIPT: 'cloud-init==0.7.9','console_scripts','cloud-init'
    __requires__ = 'cloud-init==0.7.9'
    import sys
    from pkg_resources import load_entry_point
    
    if __name__ == '__main__':
        sys.exit(
            load_entry_point('cloud-init==0.7.9', 'console_scripts', 'cloud-init')()
        )
    
    

    image

    2.方式二

    为了能够更好的解决这个问题。后来通过实际测试,centos7系统中默认使用的python版本为python2.7,我们通过使用yum安装,是不会覆盖掉系统的python版本。
    
    yum install python3 -y 
    python --version
    Python 2.7.x
    
    所以建议,系统中同时存在两个python版本,您使用yum 安装python3这样不会覆盖系统的python版本,在您不想使用系统python2.7.x 而使用python3时,直接在相应应用指明使用python的版本即可。
    如果将Centos7中系统默认的python版本修改为python3时,这个可能会遇到各种各样的问题。
    不过python2.7 已经停止维护了,如果不想使用python2.7,目前可能只能通过升级系统的方式来解决这个问题,centos8和redhat8系统默认使用的python版本都python3.
    

    3.方式三:

    将原来修改的环境变量删掉,重新配置新的环境变量即可。
    
  • 相关阅读:
    Rmarkdown:输出html设置
    Rmarkdown:输出pdf设置
    R语言绘图:雷达图
    R语言学习笔记(十五):获取文件和目录信息
    R语言学习笔记(十四):零碎知识点(41-45)
    R语言学习笔记(十三):零碎知识点(36-40)
    JVM调优-关于jvm的一些基本概念
    Markdown常用基本语法
    redis在windows中的安装
    jvm中加载类的全过程
  • 原文地址:https://www.cnblogs.com/jhno1/p/15934761.html
Copyright © 2020-2023  润新知