zoukankan      html  css  js  c++  java
  • cloud-init 常见问题

    1  日志文件都放在了哪里

      

    1  /var/log/cloud-init.log
    2 服务的输出
    systemd 启动的系统可以查看 journalctl 日志
    sysvinit/upstart 启动的系统应该在 /var/log/cloud-init-output.log 里,这块我需要确认下

     如何收集日志

    cloud-init collect-logs

    执行此命令,会将 cloud-init.log  cloud-init-output.log  dmesg journal.txt 等日志打包成一个 tar.gz包

    2配置文件在哪里

    /etc/cloud/cloud.cfg
    /etc/cloud/cloud.cfg.d/*.cfg

    3  数据文件在哪里存放

    在目录 /var/lib/cloud/  下有两个非常重要的子目录

    【1】instance

    /var/lib/cloud/instance  这个目录作为链接 链到了最近使用的实例id的目录 ,这个路径包含了cloud-init 从数据源里获取的信息,

    包括 vender 和 user-data,这些信息能更好的帮助我们检查 所传入的数据信息是正确的

    该目录下 包含了一个 datasource  文件,这个文件存储了数据源是如何被识别并被用来设置系统的。

    该目录下的 boot-finished 文件是cloud-init 做的最后一件事了,(创建并写入信息)

    【2】data

    /var/lib/cloud/data目录包含与上一次引导相关的信息

    instance-id  cloud-init发现的实例的id, 更改此文件无效

    result.json 结果文件,是一个json文件,里面包含了 被用来设置系统的数据源 和 所有出现的错误信息

    {
    "v1": {
    "datasource": "DataSourceAliYun2Local",
    "errors": []
    }
    }

    status.json  json文件显示所使用的数据源,如果发生任何错误,则显示所有四个模块的分解以及开始和停止时间。

    {
    "v1": {
    "datasource": "DataSourceAliYun2Local",
    "init": {
    "errors": [],
    "finished": 1605448297.1101456,
    "start": 1605448296.9718385
    },
    "init-local": {
    "errors": [],
    "finished": 1605448296.0323591,
    "start": 1605448291.9045517
    },
    "modules-config": {
    "errors": [],
    "finished": 1605448297.8589938,
    "start": 1605448297.6046104
    },
    "modules-final": {
    "errors": [],
    "finished": 1605448298.8025997,
    "start": 1605448298.2927012
    },
    "modules-init": {
    "errors": [],
    "finished": null,
    "start": null
    },
    "stage": null
    }
    }

    4  如何查看我正在使用什么数据源

    [root@localhost ~]# cloud-id
    aliyun    

     如果现实的 数据源与期望不一致,可以使用debug 模式执行脚本  ds-identify

    [root@localhost data]# DEBUG_LEVEL=2 DI_LOG=stderr  /usr/libexec/cloud-init/ds-identify --force
    [up 512766.72s] ds-identify --force
    policy loaded: mode=search report=false found=all maybe=all notfound=disabled
    /etc/cloud/cloud.cfg set datasource_list: [ AliYun ]
    DMI_PRODUCT_NAME=Alibaba Cloud ECS
    DMI_SYS_VENDOR=Alibaba Cloud
    DMI_PRODUCT_SERIAL=ba8aa0d6-3621-4037-ab33-c9440b0a14b3
    DMI_PRODUCT_UUID=BA8AA0D6-3621-4037-AB33-C9440B0A14B3
    PID_1_PRODUCT_NAME=unavailable
    DMI_CHASSIS_ASSET_TAG=
    FS_LABELS=
    ISO9660_DEVS=
    KERNEL_CMDLINE=BOOT_IMAGE=/boot/vmlinuz-3.10.0-1127.10.1.el7.x86_64 root=UUID=3d682a67-edb8-4ac7-ba8b-594f9d146fb6 ro crashkernel=auto spectre_v2=retpoline rhgb quiet net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs
    VIRT=kvm
    UNAME_KERNEL_NAME=Linux
    UNAME_KERNEL_RELEASE=3.10.0-1127.10.1.el7.x86_64
    UNAME_KERNEL_VERSION=#1 SMP Wed Jun 3 14:28:03 UTC 2020
    UNAME_MACHINE=x86_64
    UNAME_NODENAME=jinkang-e2elog
    UNAME_OPERATING_SYSTEM=GNU/Linux
    DSNAME=
    DSLIST=AliYun
    MODE=search
    ON_FOUND=all
    ON_MAYBE=all
    ON_NOTFOUND=disabled
    pid=31508 ppid=11065
    is_container=false
    single entry in datasource_list (AliYun) use that.
    [up 512766.73s] returning 0

    5 我应该如何重新执行数据源检测 并 初始化

    强制 重新执行ds-identify,清理日志,重新执行cloud-init

    $ sudo DI_LOG=stderr /usr/lib/cloud-init/ds-identify --force
    $ sudo cloud-init clean --logs
    $ sudo cloud-init init --local
    $ sudo cloud-init init
  • 相关阅读:
    JVM内存的划分
    劝学
    java中switch的用法
    方法传递参数的分类
    ajax缓存机制
    vuex
    keep-alive
    路由滚动行为scrollBehavior
    vue等
    防止刷新路由后参数消失
  • 原文地址:https://www.cnblogs.com/jkklearn/p/14017112.html
Copyright © 2011-2022 走看看