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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM