- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Failed to run bootcmd module bootcmd
: w, D6 }' G6 K! N# t, Z
1 \- d$ ]! K l" b$ m% s( b' u/ o" x) v/ \4 e
2023-09-12 08:11:12,132 - util.py[WARNING]: Failed to run bootcmd module bootcmd! k" J2 f/ B. e$ f, S, Y# p4 ]
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# s8 r7 D: W2 ~
! B7 R( t' r7 E, K; d) A R
+ J f7 \$ ] B! ^0 N
6 ~; O. n) N, Y6 ]
/ t4 V' y; O! D8 r# K
" @( l; I( L( \, J L语法格式:cloud-init [参数]
: r! N0 `* \, ^0 Q) I( h
) k. e& d1 Y1 U" @9 r% _, [常用参数: init 初始化cloud-init并执行初始化模块 : m2 ^: o: K& j
初始化/ b# b- f5 U* A9 w
! J& W& Y9 h1 W) I5 lcloud-init并执行初始化模块:; U% \9 ]/ ]; v6 _" @# P
5 g6 O# a [9 k2 p4 F3 w& _ ^& ^[root@cool ~]# cloud-init init
9 w2 A% h# s! U$ p$ U) E/ Z3 v. W# T, ?9 v- u8 L8 Q/ x( Y( F
使用给定的配置键激活模块:
# i0 {0 `( y) M+ k' M/ t! ~
, ^7 [( g9 D3 m1 E4 u4 m9 k1 Y) J[root@cool ~]# cloud-init modules
% a [/ P: Y& U; _1 `, _- z; {; ?, T% `( k1 z3 G
报告云启动状态或等待完成:
7 v ~5 Y/ n0 z4 |* r3 J% p, {) S$ M [+ {" n7 }+ M
[root@cool ~]# cloud-init status& @, Y6 U1 S2 @2 l# L6 X( [* Y( w
# `# N" }8 R$ G# p( v
删除日志和工件,以便重新运行cloud-init:9 X# y; [1 F7 o) {0 q# O
0 w7 L/ t5 n. j# |
[root@cool ~]# cloud-init clean
/ U* S2 E: b4 q0 A+ U8 d0 T$ y0 v& B* n
根据以上信息,得知我们需要自动扩容vda3分区(growpart)、扩容LVM和xfs文件系统(runcmd)。3 x, F) U0 N: @' \& V) T
创建文件/etc/cloud/cloud.cfg.d/growpart.cfg
. d' E! ~: D( q. B' p5 j Xvim /etc/cloud/cloud.cfg.d/growpart.cfg. Y/ D& z( b) o. B
9 m- Q& P, l( I, o: ]#cloud-config
1 E# D5 F& g9 Hgrowpart:
8 g" B$ x2 C! a; f1 K/ Z& H5 E mode: auto( z: C F+ U; V6 f: E; g7 |6 {0 ?
devices: [/dev/vda2]
1 t! u" V8 V$ N. m7 Z ignore_growroot_disabled: false
" I9 _- i3 M. f6 `% |runcmd:
; Q, @* F2 d3 x, P, Z - [pvresize,/dev/vda2]
4 ~& q; p: m' v( K" D% c - [lvextend,-l,+100%FREE,/dev/mapper/vklas-root]
. }* \; r# V; a1 f" _+ J - [xfs_growfs,/]- s$ V! K' a8 l1 R/ v! c- c1 J
5 f* O j2 F2 X" h4 `" \' p' Z注意:文件系统为ext2、ext3、ext4,则采用通过resize2fs 进行调整: B2 s7 b/ Z! j: q# ]
( i8 x5 R D# u$ I9 s
2.5 每次重启均调整
$ n) E+ I b: Z$ G4 N( U5 }- t. T" \$ D9 D, ^( h7 f
该需求涉及到云平台会有调整虚拟机的需求,也就是虚拟机磁盘进行调整后,文件系统也依然需要调整,故衍生出每次调整后自动扩容的了。$ a: `6 h7 }% l
不同的cloud-init模块有不同的执行频次:once-per-instance 、 always。可以在Modules文档中https://cloudinit.readthedocs.io/en/latest/topics/modules.html
% _0 z" }; H: N: L0 f/ T查看每个模块的Module frequency属性。例如,bootcmd在每次引导时运行,而runcmd只在第一次引导时运行。频次也可以在cloud.cfg配置文件模块列表中覆盖——cloud_init_modules, cloud_config_modules和cloud_final_modules。
% N6 `' M, ~: U- p故我们有bootcmd和runcmd两种方法实现该需求。7 T) n: P; B& J( J
' m2 g! V3 z" C/ i" }$ j& p, u
runcmd
6 ?: J: f- s( Q. u0 N6 \通过修改/etc/cloud/cloud.cfg文件,覆盖模块频次9 D' r9 [! ^: y: i4 `: J; L
vim /etc/cloud/cloud.cfg
! Q8 P" Q: ~ Q) l6 x1 H2 |( m' ~- {+ ?% F! U7 G8 s( }% O
cloud_config_modules:8 l8 D; J5 O+ S% b9 j. a: c
- [runcmd,always]
1 s0 H$ K( ?2 Z# `, @( U- D
* `: {& F G( ] k# m2.5.2 bootcmd# Z) V. f! u! F* O. t* P; z
修改/etc/cloud/cloud.cfg.d/growpart.cfg,将runcmd替换成bootcmd,全文如下:
8 Z1 @9 \% q$ G- p$ p
; p: h' U* e% a1 v#cloud-config
* p6 M: M9 S3 c: G- f$ Y# F) Igrowpart:
% G' D4 z. \ S0 q; a8 Y mode: auto5 `. ~, } I0 ~: V+ }% b
devices: [/dev/vda2]& P% U( ~4 h, `- ~
ignore_growroot_disabled: false
+ p5 g5 O, y/ D4 l, T. p sbootcmd:$ X+ r6 _1 f L# U; Y/ m
- [pvresize,/dev/vda2]
( ]( m1 a- k8 U& P8 \. R - [lvextend,-l,+100%FREE,/dev/mapper/vklas-root]
1 R) J- ^$ T0 I1 j, M - [xfs_growfs,/]
0 t/ ^, T1 ?& ~' Y: s
2 r: Q" G$ M( v; d8 m& {9 o, Y在云平台中调整后,还需再次重启才能生效2 ?7 T# S; I) N" d
) q+ A# c' _( C2 T; E9 u
) v7 Q3 M3 W' F( C
6 u4 m! R+ b; b2 W |
|