Azure Ubuntu 20.04 cloud-init卡在modules-final阶段求助
问题:Ubuntu 20.04 Azure cloud-init modules-final阶段卡住,APT源持续Ign
在Ubuntu 20.04系统上使用Azure cloud-init时,创建VM无报错,但modules-final阶段始终无法完成。手动执行cloud-init modules --mode=final时,大量APT源地址出现Ign提示并持续滚动,疑似安装包重试失败。已添加自定义APT配置解决waagent进程锁定问题,配置及状态信息如下,以下是具体排查方向:
排查方向
1. 网络连通性验证
- 测试VM与APT源的连通性:执行
curl -I http://security.ubuntu.com/ubuntu和curl -I http://archive.ubuntu.com/ubuntu,确认返回200系列状态码 - 检查Azure VM的NSG规则,确保出站流量未限制80/443端口
- 若VM使用代理,需在cloud-config中添加APT代理配置:
apt: proxy: http://your-proxy-ip:port/
2. APT配置与锁文件检查
- 验证自定义APT配置是否生效:查看
/etc/apt/apt.conf.d/90cloud-init-config,确认包含Acquire::Retries "60";和DPkg::Lock::Timeout "60"; - 检查未释放的APT锁:执行
lsof /var/lib/dpkg/lock-frontend或ps aux | grep apt,若有残留进程,手动终止后重试 - 手动执行
apt update && apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev nginx,排查具体包的安装问题
3. 日志分析定位问题
- 查看cloud-init详细日志:
cat /var/log/cloud-init.log | grep -E "(apt|packages|final)",定位modules-final阶段的具体错误 - 查看APT日志:
cat /var/log/apt/term.log和cat /var/log/apt/history.log,获取源访问失败或包安装的详细原因
4. Azure特定环境调整
- 检查waagent状态:执行
sudo systemctl restart walinuxagent,避免进程冲突 - 切换Azure区域内APT源以提升稳定性,修改cloud-config中的源配置:
apt: sources: ubuntu.list: source: "deb http://azure.archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse" ubuntu-updates.list: source: "deb http://azure.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse" ubuntu-security.list: source: "deb http://azure.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse"
相关配置与状态信息
cloud-config配置文件
#cloud-config apt: conf: | Acquire::Retries "60"; DPkg::Lock::Timeout "60"; package_update: true # Install packages required for NetBox packages: - python3 - python3-pip - python3-venv - python3-dev - build-essential - libxml2-dev - libxslt1-dev - libffi-dev - libpq-dev - libssl-dev - zlib1g-dev - nginx
cloud-init状态文件
{ "v1": { "datasource": "DataSourceAzure [seed=/dev/sr0]", "init": { "errors": [], "finished": 1671618221.4859056, "start": 1671618217.8323092 }, "init-local": { "errors": [], "finished": 1671618215.7414432, "start": 1671618214.2585633 }, "modules-config": { "errors": [], "finished": 1671618332.374849, "start": 1671618275.386914 }, "modules-final": { "errors": [], "finished": null, "start": 1671618332.9963179 }, "modules-init": { "errors": [], "finished": null, "start": null }, "stage": "modules-final" } }
手动执行命令输出
azureuser@cloud-init-test:~$ sudo cloud-init modules --mode=final Cloud-init v. 22.4.2-0ubuntu0~20.04.2 running 'modules:final' at Wed, 21 Dec 2022 11:42:19 +0000. Up 665.68 seconds. Ign:1 http://security.ubuntu.com/ubuntu focal-security InRelease Ign:2 http://archive.ubuntu.com/ubuntu focal InRelease ...
内容的提问来源于stack exchange,提问作者AndyB
相关产品推荐
相关产品推荐

