为 Azure 本地虚拟机部署准备 Ubuntu Azure 市场镜像
发布时间:2026-10-02 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
本文介绍如何准备用于 Azure 本地虚拟机(VM)的 Ubuntu Azure 市场映像。 按照以下步骤作,可确保 VM 具有最新的安全更新、支持和集成功能。
具有使用逻辑卷管理(LVM)(例如 Ubuntu 22.04 或更高版本)设置和许可 Ubuntu VM 的权限的活动 Azure 订阅。
具有使用逻辑卷管理(LVM)(例如 Ubuntu 22.04 或更高版本)设置和许可 Ubuntu VM 的权限的活动 Azure 订阅。
对 Azure 门户 的访问权限。
对 Azure 门户 的访问权限。
为工作负荷设置逻辑网络和存储路径的 Azure 本地群集。 有关详细信息,请参阅 “创建逻辑网络 ”和 “创建存储路径 ”。
为工作负荷设置逻辑网络和存储路径的 Azure 本地群集。 有关详细信息,请参阅 “创建逻辑网络 ”和 “创建存储路径 ”。
请确保查看并 完成先决条件 。
请确保查看并 完成先决条件 。
如果使用客户端连接到 Azure 本地实例,请参阅 通过 Azure CLI 客户端连接到 Azure 本地 。
如果使用客户端连接到 Azure 本地实例,请参阅 通过 Azure CLI 客户端连接到 Azure 本地 。
连接到 Azure 本地实例上的计算机。
连接到 Azure 本地实例上的计算机。
登录并输入以下命令: az login --use-device-code
设置订阅。 az account set --subscription <Subscription ID>
若要设置和准备 Azure VM,请执行以下步骤:
在左窗格中,依次选择 “虚拟机 ”、“ 创建 ”和“ 虚拟机 ”。
在左窗格中,依次选择 “虚拟机 ”、“ 创建 ”和“ 虚拟机 ”。
浏览可用的映像并选择首选的 Ubuntu 版本。
浏览可用的映像并选择首选的 Ubuntu 版本。
在向导中输入所需的详细信息并完成 Azure VM 的设置。 注释 使用 Azure 本地不使用的用户名创建 Azure VM 来避免用户名冲突。 如果在 Azure VM 和 Azure 本地上使用同一用户名(例如“usernameA”),然后重复使用 VHD,则 VM 将保留原始登录信息。 为了获得最佳结果,请使用不同的凭据(如“usernameB”)设置 Azure 本地 VM。
在向导中输入所需的详细信息并完成 Azure VM 的设置。
使用 Azure 本地不使用的用户名创建 Azure VM 来避免用户名冲突。 如果在 Azure VM 和 Azure 本地上使用同一用户名(例如“usernameA”),然后重复使用 VHD,则 VM 将保留原始登录信息。 为了获得最佳结果,请使用不同的凭据(如“usernameB”)设置 Azure 本地 VM。
部署 VM 后,转到 VM 概述 页,选择 “连接 ”选项,然后选择“ 串行控制台 ”。
部署 VM 后,转到 VM 概述 页,选择 “连接 ”选项,然后选择“ 串行控制台 ”。
使用凭据连接到 VM 并运行以下命令: 以根用户身份登录到 VM: sudo su cloud-init 清理默认配置,因为它与 Azure 本地 VM 无关。 sudo cloud-init clean sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/* 清理特定于 VM 的 SSH 主机密钥。 sudo rm -f /etc/ssh/ssh_host*
使用凭据连接到 VM 并运行以下命令:
以根用户身份登录到 VM: sudo su
cloud-init 清理默认配置,因为它与 Azure 本地 VM 无关。 sudo cloud-init clean sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
cloud-init 清理默认配置,因为它与 Azure 本地 VM 无关。
清理特定于 VM 的 SSH 主机密钥。 sudo rm -f /etc/ssh/ssh_host*
清理特定于 VM 的 SSH 主机密钥。
若要更改 VM 映像的数据源,请执行以下步骤:
将目录更改为以下路径,并列出文件以查找数据源文件 90_dpkg.cfg 。运行以下命令: cd /etc/cloud/cloud.cfg.d/ ls 示例输出: azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ ls 05_logging.cfg 10-azure-kvp.cfg 90-azure.cfg 90_dpkg.cfg
将目录更改为以下路径,并列出文件以查找数据源文件 90_dpkg.cfg 。运行以下命令:
打开 90_dpkg.cfg 文件。 运行以下命令: cat 90_dpkg.cfg 示例输出: azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg # to update this file, run dpkg-reconfigure cloud-init datasource_list: [ Azure ]
打开 90_dpkg.cfg 文件。 运行以下命令:
打开 datasource_list 并将其从 Azure 更新到 NoCloud 。 运行以下命令: sudo dpkg-reconfigure cloud-init 示例输出: Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance. Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot. Which data sources should be searched? [ ] NoCloud: Reads info from /var/lib/cloud/seed only [ ] ConfigDrive: Reads data from Openstack Config Drive [ ] OpenNebula: read from OpenNebula context disk [ ] DigitalOcean: reads data from Droplet datasource [*] Azure: read from MS Azure cdrom. Requires walinux-agent <Ok> 通过按空格键切换 (*) ,激活 NoCloud 并删除Azure。 按 Enter 保存文件。 示例输出: Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance. Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot. Which data sources should be searched? [*] NoCloud: Reads info from /var/lib/cloud/seed only [ ] ConfigDrive: Reads data from Openstack Config Drive [ ] OpenNebula: read from OpenNebula context disk [ ] DigitalOcean: reads data from Droplet datasource [ ] Azure: read from MS Azure cdrom. Requires walinux-agent <Ok>
打开 datasource_list 并将其从 Azure 更新到 NoCloud 。 运行以下命令:
通过按空格键切换 (*) ,激活 NoCloud 并删除Azure。
通过按空格键切换 (*) ,激活 NoCloud 并删除Azure。
若要检查文件是否已更新,请运行以下命令: cat 90_dpkg.cfg 示例输出: azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg # to update this file, run dpkg-reconfigure cloud-init datasource_list: [ NoCloud ]
若要检查文件是否已更新,请运行以下命令:
删除 bash 历史记录。 运行以下命令: sudo rm -f ~/.bash_history export HISTSIZE=0 exit
删除 bash 历史记录。 运行以下命令:
停止 Azure VM,因为配置更改现已完成。
停止 Azure VM,因为配置更改现已完成。
将 Azure VM OS 磁盘导出到 Azure 本地群集上的 VHD
若要将 Azure VM OS 磁盘导出到 Azure 本地群集上的 VHD,请执行以下步骤:
在 Azure 门户的 Azure 本地资源中,转到 VM 概述 。 在 “设置” 选项下,选择“ 磁盘 ”,然后选择 “磁盘名称 ”链接。
在 Azure 门户的 Azure 本地资源中,转到 VM 概述 。 在 “设置” 选项下,选择“ 磁盘 ”,然后选择 “磁盘名称 ”链接。
在 “设置” 下,选择“ 磁盘导出 ”,然后选择“ 生成 URL ”以生成磁盘的安全 URL。
在 “设置” 下,选择“ 磁盘导出 ”,然后选择“ 生成 URL ”以生成磁盘的安全 URL。
复制下一步生成的安全 URL 链接。
复制下一步生成的安全 URL 链接。
磁盘导出 URL 是一个限时 SAS URL。 如果 URL 过期、复制不正确或缺少读取( r )权限,则映像创建步骤可能会失败,并出现 401(未授权) 错误。 如果遇到 401 错误,请重新生成磁盘导出 URL,并确保它在过期前使用,粘贴时没有其他引号或换行符。
若要使用 SAS 令牌创建 Azure 本地映像,请运行以下命令:
若要使用创建的 Azure 本地 VM 映像创建 Azure 本地 VM,请按照 Azure Arc 启用的“创建 Azure 本地虚拟机 ”中的步骤作。
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
Last updated on 2026-09-15