5.5. 管理映像¶
Acronis Cyber Infrastructure 允许您上传可用于创建 VM 卷的 ISO 映像和模板。ISO 映像是典型的操作系统发行版,需要安装在磁盘上。反过来,模板是 QCOW2 格式的就绪卷,其中具有已安装的操作系统和应用程序以及已设置的最小大小。许多操作系统供应商以“云映像”的名义提供其操作系统的模板。有关虚拟机中支持的来宾操作系统的列表,请参阅 支持的来宾操作系统。
注解
映像根据默认存储策略进行存储。
安装负载均器或 Kubernetes 服务后,特殊映像会出现在计算群集中,系统将使用这些映像来创建服务 VM。此类图像带有系统标记,无法在管理面板中进行修改或删除。
5.5.1. 上传、编辑和删除映像¶
要添加映像,请执行以下操作:
在 Compute > Virtual machines > Images tab 上,单击添加映像。
在添加映像窗口中,请执行以下操作:
单击浏览,然后选择模板或 ISO 文件。
指定要在管理面板中显示的映像名称。
从下拉列表中选择正确的操作系统类型。
重要
操作系统类型会影响虚拟机监视程序设置等 VM 参数。基于操作系统类型错误的映像创建的 VM 可能无法正常运行,例如故障。
(可选)选中在所有项目之间共享复选框。在该选项已禁用的情况下,映像将仅在默认域的管理项目中可用。
单击添加以上传映像。
管理面板将显示上传进度。
重要
请勿在上传映像时重新加载页面,否则过程将失败。
要编辑映像,请选择它,然后单击需要更改的参数旁边的铅笔图标。
要删除映像,请单击它旁边的省略号按钮,然后单击删除。
5.5.2. 从映像创建卷¶
可以从 ISO 映像和模板创建卷。请执行以下操作:
在映像面板上,单击创建卷。
在创建卷窗口中,指定卷名称、大小并选择存储策略。
单击创建。
新卷将显示在 Compute > Storage > Volumes tab 上。
5.5.3. 加载 ISO 映像至虚拟机¶
注解
本功能仅支持用于 Linux 虚拟机。但可以通过 vinfra
工具将 ISO 映像加载至 Windows VM。使用 Installing guest tools in existing virtual machines 中提供的说明。将示例中的来宾工具映像替换为您的映像。
要将 ISO 映像加载至 Linux VM,请执行以下操作:
加载的磁盘将显示在 Linux VM 中。
5.5.4. 准备模板¶
在以下情况下,您可能需要创建一个模板:
救援虚拟机
创建可通过 SSH 访问的 VM
创建可根据用户数据定制的 VM
通常,基于 ISO 映像创建模板的操作如下:
但是,要能够自定义 VM 或通过 SSH 连接到 VM,还需要在 VM 部署之前在其模板内安装 cloud-init 和 OpenSSH。准备此类模板取决于来宾操作系统,将在以下各部分中进行介绍。
5.5.4.1. 准备 Linux 模板¶
由于所有 Linux 来宾默认都已预安装 OpenSSH Server,因此只需确保 Linux 模板已安装 cloud-init。
获取安装有 cloud-init 的 Linux 模板的最简单方法是从官方存储库中获取它,或使用 diskimage-builder
工具构建一个模板。有关详细信息,请参阅 Creating Linux templates。
5.5.4.2. 准备 Windows 模板¶
Windows 来宾默认没有预安装 Cloudbase-Init 或 OpenSSH Server。需要手动安装和配置它们。请执行以下操作:
基于 Windows 映像创建 VM,如 创建虚拟机 中所述。
登录到 VM 并使用内置的 VNC 中控台安装来宾操作系统。
创建一个将用于 SSH 连接的新管理员帐户,然后使用该帐户登录。
需要手动安装和配置 OpenSSH 服务器,如下所示:
使用管理员权限运行 Windows PowerShell,然后将执行策略设置为不受限制才能运行脚本:
> Set-ExecutionPolicy Unrestricted
下载 OpenSSH Server(例如,从 GitHub 存储库)、将存档提取至
C:\Program Files
目录,然后运行以下命令进行安装:> & 'C:\Program Files\OpenSSH-Win64\install-sshd.ps1'
启动
sshd
服务,然后将其启动类型设置为“自动”:> net start sshd > Set-Service sshd -StartupType Automatic
在 Windows 防火墙中,为 OpenSSH 服务打开 TCP 端口 22:
在 Windows 8.1、Windows Server 2012 及更高版本上,运行
> New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound \ -Action Allow -DisplayName OpenSSH
在 Windows 7、Windows Server 2008 和 Windows Server 2008 R2 上,运行
> netsh advfirewall firewall add rule name=sshd dir=in action=allow \ protocol=TCP localport=22
打开
C:\ProgramData\ssh\sshd_config
文件:> notepad 'C:\ProgramData\ssh\sshd_config'
在文件末尾注释掉以下几行:
#Match Group administrators #AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
保存更改。
在
C:\Users\<current_user>
中创建.ssh
目录,然后在该目录中创建空的authorized_keys
文件:> cd C:\Users\<current_user> > mkdir .ssh > notepad .\.ssh\authorized_keys
从创建的文件中删除
.txt
扩展名:> move .\.ssh\authorized_keys.txt .\.ssh\authorized_keys
修改已创建文件的权限以禁用继承:
> icacls .\.ssh\authorized_keys /inheritance:r
下载 Cloudbase-Init(例如,从官方网站)、启动安装,然后按照屏幕上的说明进行操作:
在配置选项窗口中,在用户名字段中输入当前用户名:
重要
用户帐户密码将在下次 VM 启动时进行重置。将可以在使用密钥身份验证方法时使用此帐户登录,也可以使用自定义脚本设置新密码(请参阅 创建虚拟机)。
安装完成后,请勿运行 Sysprep 并单击完成:
以管理员权限运行 Windows PowerShell,然后打开文件
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
:> notepad 'C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf'
在两行中添加
metadata_services
和plugins
:metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService,\ cloudbaseinit.metadata.services.httpservice.HttpService plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin,\ cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin,\ cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,\ cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,\ cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,\ cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin,\ cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin,\ cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,\ cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,\ cloudbaseinit.plugins.common.userdata.UserDataPlugin,\ cloudbaseinit.plugins.windows.winrmlistener.ConfigWinRMListenerPlugin,\ cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin,\ cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
注解
确保删除上述行中的所有反斜杠。
保存更改。
停止 VM。
关闭虚拟机后,将其启动卷转换为模板(请参阅 基于卷创建映像)。