对于跨云迁移后cloud-init超时,禁用cloud-init
0x01 关闭前确认
务必保证网卡不是绑定旧 MAC 地址、旧接口名或固定 IP,否则关闭 cloud-init 后可能启动很快,但网络起不来。
ip addr
ip route
systemctl is-enabled NetworkManager systemd-networkd 2>/dev/null
grep -R "dhcp" /etc/netplan /etc/NetworkManager/system-connections 2>/dev/null
确认十几分钟超时是否真是cloud-init造成的,可在卡顿后的系统中查看:
systemd-analyze blame | head -30
journalctl -b \
-u cloud-init-local.service \
-u cloud-init.service \
-u cloud-config.service \
-u cloud-final.service \
--no-pager
0x02 彻底关闭cloud-init
如果目标云不依赖 cloud-init,可以直接彻底禁用。使用“禁用文件 + disable + mask”:
mkdir -p /etc/cloud
touch /etc/cloud/cloud-init.disabled
systemctl disable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service
systemctl mask cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service
systemctl daemon-reload
ls -l /etc/cloud/cloud-init.disabled
systemctl is-enabled cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service
sync && reboot