4.3. 管理映像¶
Acronis Cyber Infrastructure 允许您上传可用于创建 VM 卷的 ISO 映像和模板。ISO 映像是典型的操作系统发行版,需要安装在磁盘上。反过来,模板是 QCOW2 格式的就绪卷,其中具有已安装的操作系统和应用程序以及已设置的最小大小。许多操作系统供应商以“云映像”的名义提供其操作系统的模板。有关虚拟机中支持的来宾操作系统的列表,请参阅 支持的来宾操作系统。
4.3.1. 上传和删除映像¶
要添加映像,请执行以下操作:
在 Images screen 上,单击添加映像。
在添加映像窗口中,请执行以下操作:
单击浏览,然后选择模板或 ISO 文件。
指定要在管理面板中显示的映像名称。
从下拉列表中选择正确的操作系统类型。
重要
操作系统类型会影响虚拟机监视程序设置等 VM 参数。基于操作系统类型错误的映像创建的 VM 可能无法正常运行,例如故障。
单击完成以开始上传映像。上传进度将显示在右下角。
注解
如果选择一个指派给某个位置的映像,则创建的虚拟机也将包含在此位置中。有关详细信息,请参阅《管理员指南》。
要下载或删除映像,请单击它旁边的省略号按钮,然后单击所需的操作。
4.3.2. 从映像创建卷¶
可以从 ISO 映像和模板创建卷。请执行以下操作:
在映像面板上,单击创建卷。
在创建卷窗口中,指定卷名称、大小并选择存储策略。
单击创建。
新卷将显示在 Volumes screen 上。
4.3.4. 准备模板¶
在以下情况下,您可能需要创建一个模板:
救援虚拟机
创建可通过 SSH 访问的 VM
创建可根据用户数据定制的 VM
通常,基于 ISO 映像创建模板的操作如下:
但是,要能够自定义 VM 或通过 SSH 连接到 VM,还需要在 VM 部署之前在其模板内安装 cloud-init 和 OpenSSH。准备此类模板取决于来宾操作系统,将在以下各部分中进行介绍。
4.3.4.1. 准备 Linux 模板¶
由于所有 Linux 来宾默认都已预安装 OpenSSH Server,因此只需确保 Linux 模板已安装 cloud-init。
获取安装有 cloud-init 的 Linux 模板的最简单方法是从官方存储库中获取它,或使用 diskimage-builder
工具构建一个模板。有关详细信息,请参阅 Creating Linux templates。
4.3.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。
关闭虚拟机后,将其启动卷转换为模板(请参阅 基于卷创建映像)。