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