- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Failed to run bootcmd module bootcmd
3 z' A8 y3 m- Z4 S/ g: ~( E! b* d3 ?5 I# l6 j
, {0 z+ C- k# c2023-09-12 08:11:12,132 - util.py[WARNING]: Failed to run bootcmd module bootcmd r9 Y7 F; a1 P
2023-09-12 08:11:12,140 - util.py[WARNING]: Running module bootcmd (<module 'cloudinit.config.cc_bootcmd' from '/usr/lib/python2.7/site-packages/cloudinit/config/cc_bootcmd.pyc'>) failed* b+ [' H* x% Z. X* ^, I$ Q
/ N/ t- o2 E5 U+ W% B. x$ U3 k8 s- q0 {7 Y6 \9 x
, d5 y# S8 F7 Z4 t2 o7 O( x1 A7 ]) i# t \) Z+ T
8 b7 S: x# K( r4 H+ g8 p语法格式:cloud-init [参数]
6 m+ @% J9 a' r ^+ C& m% g- Q4 w6 t9 R' i3 l C
常用参数: init 初始化cloud-init并执行初始化模块
' J. L9 Z: i5 E6 j3 Y: P+ W初始化* m: e1 N# W! d$ S& J0 m
" Y$ `2 `+ h: i* l% ]. B7 A
cloud-init并执行初始化模块:
& [4 g! M4 B& @: n6 l) T9 F3 K% i. F( k) ]3 h; a0 v+ Q a
[root@cool ~]# cloud-init init: G: z- j$ l5 H; j& p1 }
: S% c8 L) j0 l e使用给定的配置键激活模块:
w! t7 t' [9 a+ ?2 S
# s3 i$ \, S0 R m5 k% h[root@cool ~]# cloud-init modules
- l1 P# ~1 K; {! L0 A. S8 L9 {: t
1 {% n# h( i$ n报告云启动状态或等待完成:
2 {% k4 R! w; m) t. ], |+ }* j
& S+ \* s" S* p) R9 G[root@cool ~]# cloud-init status
. a' w L$ Z0 l+ `" J8 K
6 H: B, ` P" T7 Y/ r; [4 G删除日志和工件,以便重新运行cloud-init:
% S* s8 R! W: Q4 @2 j
& Z( Q2 q+ Z9 r[root@cool ~]# cloud-init clean
3 X# k2 v% h) @3 \4 L
' ]& H6 M2 g, Z7 t* `% M根据以上信息,得知我们需要自动扩容vda3分区(growpart)、扩容LVM和xfs文件系统(runcmd)。
9 L! A: L7 Z% j8 p$ U: D9 u创建文件/etc/cloud/cloud.cfg.d/growpart.cfg/ A! E; T. s( s# R; G3 h/ |
vim /etc/cloud/cloud.cfg.d/growpart.cfg
3 d2 Y3 t T9 h! B- S$ G5 X" `7 F' w: F7 ^% A( ~! j3 H$ \7 V
#cloud-config3 j7 o' V9 ?3 o4 m& e
growpart:
" ] f' Y+ G4 h' T* k mode: auto
: P$ T% M2 w+ h1 t+ h6 \/ _ devices: [/dev/vda2]" ~9 l3 Q% {8 D3 b
ignore_growroot_disabled: false
$ d! |% Q: f" Wruncmd:
' }9 `% c# u: Q5 o5 Q - [pvresize,/dev/vda2]+ f3 X& |" t% O. _/ I
- [lvextend,-l,+100%FREE,/dev/mapper/vklas-root]6 k7 D/ O( n+ C: I" W. }2 [
- [xfs_growfs,/]
1 i& _6 J6 f. o1 {( ^
2 t% _: l* d Q注意:文件系统为ext2、ext3、ext4,则采用通过resize2fs 进行调整
1 E0 Z( A' V, O9 R& B- ~8 H! _
" }+ {3 x) h# x" P1 I9 N2.5 每次重启均调整
3 q7 {) M0 j& ?/ M& N0 r$ b* I- g! y3 @
该需求涉及到云平台会有调整虚拟机的需求,也就是虚拟机磁盘进行调整后,文件系统也依然需要调整,故衍生出每次调整后自动扩容的了。; n9 k: p0 j* O. ~" o0 ?- U3 o
不同的cloud-init模块有不同的执行频次:once-per-instance 、 always。可以在Modules文档中https://cloudinit.readthedocs.io/en/latest/topics/modules.html- y/ K5 f9 d% \1 h$ ~- Y$ z
查看每个模块的Module frequency属性。例如,bootcmd在每次引导时运行,而runcmd只在第一次引导时运行。频次也可以在cloud.cfg配置文件模块列表中覆盖——cloud_init_modules, cloud_config_modules和cloud_final_modules。, T. o2 r X. p/ ~+ b
故我们有bootcmd和runcmd两种方法实现该需求。
7 m; X% K( Z5 b9 {5 Q& `! e+ [+ \6 {, f$ R
runcmd9 H$ O n. O+ P: p1 E7 `* l
通过修改/etc/cloud/cloud.cfg文件,覆盖模块频次
. w0 F0 \ `5 S! l; l* o! Xvim /etc/cloud/cloud.cfg
- a, {; c' ?* y! ^
% H: S" U$ [' U$ F! @1 c0 icloud_config_modules:
) ?5 H& z0 e7 M' j, D. V3 H+ B. V - [runcmd,always]
" [$ Y' ]( n; c6 l6 r% }; b5 a5 z' V
2.5.2 bootcmd
- L$ W. ]. y" ~% \& X' B- n修改/etc/cloud/cloud.cfg.d/growpart.cfg,将runcmd替换成bootcmd,全文如下:
# I/ X* X: \" a/ E) s" g4 m" g7 S9 Q$ d1 k; u$ W# e1 e4 S' p# L0 `
#cloud-config
( k& }- i# H2 `8 Z, J& m, ~5 Bgrowpart:# ~$ ~7 Q% s3 ]$ Q# K+ D( R& V8 V
mode: auto
( ^. _( `5 D& M4 G devices: [/dev/vda2]' L6 b& _9 R) F8 d" @( |) r
ignore_growroot_disabled: false
; }' k$ e0 }# l8 @! G! Y6 Bbootcmd:
* t' }# _; Y/ J - [pvresize,/dev/vda2]
! r* l# w8 @% z" l" q - [lvextend,-l,+100%FREE,/dev/mapper/vklas-root]% N- J) m6 L' l% H
- [xfs_growfs,/]
( `5 Y2 `! A% Y" B# A/ j6 [+ b F+ A/ J! Q: B3 O
在云平台中调整后,还需再次重启才能生效# ]4 t6 @# T% E1 _' {! U- ]
4 E9 ]! U$ x" V2 a/ m1 m& t5 _
3 D6 _# Q) w/ B8 b- o: N& G3 d" f
! g% v$ q1 |0 [ n1 R1 y( {$ ?
|
|