4.1. 管理虚拟机¶
每个虚拟机 (VM) 都是一个独立系统,每个都具有一组独立虚拟硬件。其主要功能包括:
虚拟机类似于常规计算机,其工作方式也类似于常规计算机。它具有自己的虚拟硬件。软件应用程序可以在虚拟机中运行,而无需进行任何修改或调整。
虚拟机配置可以轻松更改,例如,通过添加新的虚拟磁盘或内存。
尽管虚拟机共享物理硬件资源,但它们彼此(文件系统、进程,sysctl 变量)完全隔离,也与计算节点完全隔离。
虚拟机可以运行任何受支持的来宾操作系统。
下表列出了当前虚拟机配置限制:
资源 |
限制 |
---|---|
RAM |
1 TB |
CPU |
48 个虚拟 CPU |
存储器 |
15 个卷,每个 512 TB |
网络 |
15 个 NIC |
4.1.1. 支持的来宾操作系统¶
以下来宾操作系统已经过测试,在虚拟机中受支持:
操作系统 |
Edition |
体系结构 |
---|---|---|
Windows Server 2019 |
Essentials、Standard、Datacenter |
x64 |
Windows Server 2016 |
Essentials、Standard、Datacenter |
x64 |
Windows Server 2012 R2 |
Essentials、Standard、Datacenter |
x64 |
Windows Server 2012 |
Standard、Datacenter |
x64 |
Windows Server 2008 R2 |
Standard、Datacenter |
x64 |
Windows Server 2008 |
Standard、Datacenter |
x64 |
Windows 10 |
Home、Professional、Enterprise、Enterprise 2016 LTSB |
x64 |
Windows 8.1 |
Home、Professional、Enterprise |
x64 |
Windows 7 |
Home、Professional、Enterprise |
x64 |
操作系统 |
体系结构 |
---|---|
CentOS 8.x |
x64 |
CentOS 7.x |
x64 |
CentOS 6.x |
x64 |
RHEL 8.x |
x64 |
RHEL 7.x |
x64 |
Debian 10.x |
x64 |
Debian 9.x |
x64 |
Ubuntu 20.04.x |
x64 |
Ubuntu 18.04.x |
x64 |
Ubuntu 16.04.x |
x64 |
4.1.2. 创建虚拟机¶
在继续创建 VM 之前,请检查是否具有以下各项:
来宾操作系统资源(请参阅 管理映像):
要在 VM 中安装的来宾操作系统的分发 ISO 映像
格式为 QCOW2 的启动卷的模板
启动卷
注解
要获取启动卷,请按照 Managing compute volumes 中所述创建卷、将该卷附加至 VM、在该卷中安装操作系统,然后删除 VM。
注解
默认情况下,使用主机 CPU 型号创建虚拟机。具有不同 CPU 的计算节点可能会导致发生实时迁移问题。为了避免出现上述问题,可以按照 Setting virtual machine CPU model 中所述为所有新的 VM 手动设置 CPU 型号。
要创建 VM,请执行以下操作:
在 Virtual machines screen 上,单击创建虚拟机。将打开一个窗口,需要在其中指定 VM 参数。
为新 VM 指定一个名称。
选择 VM 启动媒体:
如果您具有 ISO 映像或模板,请执行以下操作:
选择从以下位置部署部分的映像,然后单击映像部分的指定。
在映像窗口中,选择 ISO 映像或模板,然后单击完成。
如果您拥有计算启动卷,请执行以下操作:
在从以下位置部署部分中选择卷,然后在映像部分中单击指定。
在卷窗口,单击附加。
在附加卷窗口中,找到并选择该卷,然后单击附加。
如果附加多个卷,默认情况下,第一个连接的卷将成为启动卷。要将另一个卷选择为可启动卷,请通过单击该卷旁边的向上箭头按钮将它置于列表中的第一项。
选择启动媒体后,该媒体启动所需的卷将自动添加到卷部分。
配置 VM 磁盘:
在卷窗口中,确保默认启动卷的大小足以容纳来宾操作系统。否则,请单击它旁边的省略号图标,然后单击编辑。更改卷大小,然后单击保存。
(可选)通过创建或附加卷将更多磁盘添加到 VM。要执行此操作,请单击卷部分中的铅笔图标,然后在卷窗口中添加或附加。
选择将在 VM 删除过程中删除的卷。要执行此操作,请单击卷部分的铅笔图标,单击所需卷旁边的的省略号图标,然后单击编辑。启用终止时删除,并单击保存。
完成 VM 磁盘配置后,单击完成。
(可选)如果有任何位置,则会显示位置下拉列表。位置由管理员创建,来对共享独特功能(例如特殊许可)的节点或 VM 进行分组。选择与 VM 特征相对应的位置。有关详细信息,请参阅 Managing placements。
在规格部分中选择将分配给 VM 的 RAM 和 CPU 资源量。在规格窗口中,选择一个规格,然后单击完成。
添加网络接口到网络部分的 VM:
在网络接口窗口中,单击添加、选择计算网络,然后单击添加。
连接至选定网络的网络接口将显示在网络接口列表中。
(可选)编辑新添加的网络接口 such as IP and MAC addresses 的其他参数。要执行此操作,请单击省略号图标,单击编辑,然后设置参数。您以后将无法编辑这些参数。相反,您将能够删除旧的网络接口并将其替换为新的网络接口。
完成 VM 网络接口配置后,单击完成。
(可选)如果选择从安装了 cloud-init 或 OpenSSH 的模板或卷启动(请参阅 Preparing Templates),请执行以下操作:
重要
由于云映像没有默认密码,因此只能通过使用 SSH 的密钥身份验证方法访问从其部署的 VM。
向 VM 添加一个 SSH 密钥,以便能够通过 SSH 访问它,而无需密码。在选择 SSH 密钥窗口中选择一个 SSH 密钥,然后单击完成。
添加用户数据以在启动后自定义 VM,例如,更改用户密码。在自定义脚本字段中编写 cloud-config 或 shell 脚本,或在本地服务器上浏览并找到要从中加载脚本的文件。
要在 Windows VM 中注入脚本,请参阅 Cloudbase-Init 文档。例如,可以使用以下脚本为帐户设置新密码:
#ps1 net user <username> <new_password>
配置完所有的 VM 参数后,单击部署以创建并启动 VM。
如果要从 ISO 映像部署 VM,需要使用内置 VNC 中控台在 VM 内安装来宾操作系统(请参阅 连接到虚拟机)。从模板或启动卷创建的虚拟机已经预安装了来宾操作系统。
4.1.3. 连接到虚拟机¶
部署虚拟机后,可以通过 VNC 中控台或 SSH 连接到它:
要通过内置的 VNC 中控台连接至 VM,请单击 VM 右侧窗格上的中控台。中控台将在单独的浏览器窗口中打开。在中控台,可以将组合键发送至 VM、对中控台窗口拍摄屏幕快照,以及下载中控台日志(请参阅 虚拟机故障排除)。
为了能够通过 SSH 连接到 VM,请确保已安装 cloud-init 和 OpenSSH(请参阅 Preparing Templates)。要通过 SSH 连接到 VM,请在 SSH 终端制定用户名和 VM IP 地址:
# ssh <username>@<VM_IP_address>
Linux云映像具有默认登录名,具体取决于操作系统,例如,
centos
或ubuntu
。要连接至 Windows VM,请输入在 Cloudbase-Init 安装期间指定的用户名。如果在没有指定 SSH 密钥的情况下部署了 VM,则还需要输入密码才能登录到 VM。
4.1.4. 管理虚拟机电源状态¶
创建虚拟机后,可以使用可用操作管理其电源状态。要查看 VM 当前状态可用操作的完整列表,请单击 VM 或它旁边的省略号按钮。可以执行以下操作:
要启动 VM,请单击运行。
要正常关闭正在运行的 VM,请单击关机。默认的关机超时时间是 10 分钟,在此之后虚拟机将关闭。可以使用
vinfra service compute server stop --wait-time
命令为每个虚拟机配置此超时(请参阅 vinfra service compute server stop)。要强制切断 VM 的电源,请单击关闭电源。
要软启动正在运行的 VM,请单击重新启动。
要在来宾操作系统正常关闭的情况下重新启动 VM,请单击硬重新启动。
要将当前 VM 状态保存至文件,请单击暂停。例如,如果需要重新启动主机但又不想退出 VM 中当前正在运行的应用程序,或者需要重新启动其来宾操作系统,这可能会很有用。
要将 VM 从挂起状态中恢复,请单击恢复。
4.1.5. 重新配置和监视虚拟机¶
要监控虚拟机的 CPU、存储和网络使用情况,请选择 VM,然后打开监控选项卡。
图表的默认时间间隔是 12 小时。要放大特定时间间隔,请用鼠标选择相应内部。要重置缩放,请双击任何图表。
以下性能图表可用:
- CPU/RAM
VM 的 CPU 和 RAM 使用情况。
- 网络
传入和传出网络流量。
- 存储读取/写入
VM 读取和写入的数据量。
- 读取/写入延迟
读取和写入延迟。将鼠标光标悬停在图表上的某个点上,还可以查看该时刻的平均延迟和最大延迟以及 95 和 99 百分位数值。
注解
平均值每五分钟计算一次。
要重新配置 VM,请选择它,然后在概述选项卡上单击需要更改的参数旁边的铅笔图标。无法执行以下操作:
更改、拆离或删除启动卷
管理非启动卷(附加和拆离除外)
修改以前添加的网络接口
在搁置的 VM 中附加和拆离网络接口
4.1.6. 搁置虚拟机¶
将停止的 VM 从其托管的节点上解除绑定,并释放其保留的资源(例如 CPU 和 RAM)。搁置的 VM 仍可启动,并保留其配置,包括 IP 地址。要执行此操作,请单击 VM 右侧窗格上的搁置。
通过单击关机或关闭电源并在确认窗口中选中搁置虚拟机复选框,即可搁置处于其他状态下的虚拟机。
要在具有足够资源来托管它的节点上生成已搁置的 VM,请单击 VM 右侧窗格上的取消搁置。
4.1.7. 救援虚拟机¶
注解
本功能仅支持通过 GUI 用于 Linux 虚拟机。它也可以通过命令行用于 Windows VM。
如果 VM 遇到启动问题,可以将其发送到救援模式以访问其启动卷。当一个处于“活动”状态的 VM 被发送到救援模式时,它首先被软关机。一旦 VM 处于救援模式,就可以通过 SSH 或中控台连接到它。其先前的启动磁盘现在作为辅助磁盘附加。您可以安装磁盘并对其进行修复。
在将 VM 发送到救援模式之前,请考虑以下事项:
救援模式只能使用 qcow2 映像(模板)启动 VM。有关制作模板的说明,请参阅 准备模板。
只有当 VM 的当前状态为“活动”或“关机”时,才能将其发送到救援模式。
在救援模式下,VM 只有三个可用操作:中控台、退出救援模式和删除。
如果救援映像安装了 cloud-init,则可以使用用于其创建的相同 SSH 密钥访问从其启动的VM。
要将 VM 置于救援模式,请执行以下步骤:
在 Virtual machines screen 上,单击列表中所需的 VM。
在 VM 面板上,单击工具栏上的省略号按钮。然后单击进入救援模式。
在进入救援模式窗口中,选择用于救援 VM 的映像。默认情况下,将选择用于创建 VM 的初始映像。单击进入。
计算机的状态更改为“救援”。要使 VM 从救援模式恢复为正常运行,请执行以下步骤:
在 Virtual machines screen 上,单击列表中所需的 VM。
在 VM 面板上,单击退出救援模式。
在退出救援模式窗口中,单击退出。VM 将自动重新启动。
VM 状态更改为“活动”,并从原始根磁盘启动。
注解
如果退出救援模式时 VM 状态更改为“错误”,则可以使用重置状态操作重置其状态。然后 VM 应再次返回到“救援”状态。
4.1.8. 管理来宾工具¶
本部分将介绍如何安装和卸载来宾工具。对于为正在运行的 VM 的磁盘创建一致快照需要此功能(请参阅 管理卷快照)。
4.1.8.1. 安装来宾工具¶
要在虚拟机中安装来宾工具,请执行以下操作:
在 Windows VM 中:
下载系统管理员提供的 Windows 来宾工具 ISO 映像。
在 VM 中加载该映像。
在 Windows 8、Windows Server 2012 或更高版本中,可以本地加载 ISO 映像。要执行此操作,请右键单击来宾工具 ISO 映像,然后选择加载。
在 Windows 7 和 Windows Server 2008 中,需要第三方应用程序才能加载 ISO 映像。
在资源管理器中,转到已加载的光盘驱动器,然后通过运行
setup.exe
来安装来宾工具。在安装完成后,重新启动 VM。
在 Linux VM 中:
下载系统管理员提供的 Linux 来宾工具 ISO 映像。
使用来宾工具映像为光盘驱动器创建一个加载点,然后运行安装程序:
# mkdir /mnt/cdrom # mount <path_to_guest_tools_iso> /mnt/cdrom # bash /mnt/cdrom/install
注解
来宾工具依赖与该工具一起安装的 QEMU 来宾代理程序。代理程序服务必须正在运行,才能使该工具正常工作。
4.1.8.2. 卸载来宾工具¶
如果发现来宾工具与虚拟机中的某些软件不兼容,可以按以下方式卸载它们:
在 Windows VM 中:
从设备管理器删除 QEMU 设备驱动程序。
重要
请勿删除 VirtIO/SCSI 硬盘驱动程序和 NetKVM 网络驱动程序。没有前者,虚拟机不会启动;没有后者,VM 会失去网络连接。
从已安装的应用程序列表卸载 QEMU 来宾代理程序和来宾工具。
停止并删除来宾工具监视器:
> sc stop VzGuestToolsMonitor > sc delete VzGuestToolsMonitor
从事件日志注销来宾工具监视器:
> reg delete HKLM\SYSTEM\CurrentControlSet\services\eventlog\Application\\ VzGuestToolsMonitor
删除 RebootNotifier 的自动运行注册表项:
> reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v \ VzRebootNotifier
删除
C:\Program Files\Qemu-ga\
目录。如果
VzGuestToolsMonitor.exe
已锁定,请关闭全部事件查看器窗口。如果它仍保持锁定,请重新启动eventlog
服务:> sc stop eventlog > sc start eventlog
在删除来宾工具后,请重新启动虚拟机。
在 Linux VM 中:
删除程序包:
在基于 RPM 的系统(CentOS 及其他系统)上:
# yum remove dkms-vzvirtio_balloon prl_nettool qemu-guest-agent-vz vz-guest-udev
在基于 DEB 的系统(Debian 和 Ubuntu)上:
# apt-get remove vzvirtio-balloon-dkms prl-nettool qemu-guest-agent-vz vz-guest-udev
如果您的系统上未安装以上列出的任何程序包,该命令将失败。在这种情况下,请从命令中排除这些程序包,然后再次运行。
删除文件:
# rm -f /usr/bin/prl_backup /usr/share/qemu-ga/VERSION /usr/bin/install-tools \ /etc/udev/rules.d/90-guest_iso.rules /usr/local/bin/fstrim-static /etc/cron.weekly/fstrim
重新加载
udev
规则:# udevadm control --reload
在删除来宾工具后,请重新启动虚拟机。
4.1.9. 虚拟机故障排除¶
如果 VM 无法部署,则可以在其右侧窗格中查看错误消息。一个可能的根本原因是计算节点缺少可用的 RAM 或 CPU 资源来托管 VM。
如果 VM 陷入故障或过渡状态,则可以将该 VM 重置为其上一个稳定状态:活动、关机或已搁置。要执行此操作,请单击 VM 右侧窗格上的重置日期。
如果 VM 一直处于“关闭电源”任务状态(在 VM 右侧窗格中显示为“活动(关闭电源)”状态),则可以通过运行 vinfra service compute server cancel stop
命令来取消此任务(请参阅 vinfra service compute server cancel-stop)。该命令将取消来宾操作系统关闭,并使 VM 返回到活动状态。
要对 VM 进行故障排除,还可以通过单击 VM 右侧窗格上的下载中控台日志来检查 VM 中控台日志。确保在 VM 内启用了日志记录,否则日志将为空。要启用日志记录,请执行以下操作:
在 Linux VM 中,启用 TTY1 和 TTYS0 日志记录级别:
将行
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0"
添加至文件/etc/default/grub
。根据启动加载程序,运行
# grub-mkconfig -o /boot/grub/grub.cfg
或
# grub2-mkconfig -o /boot/grub2/grub.cfg
重新启动 VM。
在 Windows VM 中,可以为此目的启用紧急管理服务 (EMS) 中控台重定向。
使用管理员权限启动 Windows PowerShell。
在 PowerShell 中控台中,为 EMS 中控台重定向设置 COM 端口和波特率。由于 Windows VM 仅具有传输率为 9600 bps 的 COM1 端口,因此请运行:
bcdedit /emssettings EMSPORT:1
为当前启动项目启用 EMS:
bcdedit /ems on
还可以启用驱动程序状态日志记录,以查看已加载驱动程序的列表。这对发生故障的驱动程序或长时间启动过程进行故障排除可能会很有用。请执行以下操作:
使用管理员权限启动系统配置。
在系统配置窗口中,打开启动选项卡、选中操作系统启动信息复选框,然后选中使所有启动设置永久化复选框。
确认更改并重新启动系统。