You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:25:22