4.1. 管理虚拟机¶
每个虚拟机 (VM) 都是一个独立系统,每个都具有一组独立虚拟硬件。其主要功能包括:
虚拟机类似于常规计算机,其工作方式也类似于常规计算机。它具有自己的虚拟硬件。软件应用程序可以在虚拟机中运行,而无需进行任何修改或调整。
虚拟机配置可以轻松更改,例如,通过添加新的虚拟磁盘或内存。
尽管虚拟机共享物理硬件资源,但它们彼此(文件系统、进程,sysctl 变量)完全隔离,也与计算节点完全隔离。
虚拟机可以运行任何受支持的来宾操作系统。
下表列出了当前虚拟机配置限制:
资源 |
限制 |
---|---|
RAM |
1 TB |
CPU |
48 个逻辑 CPU |
存储器 |
15 个卷,每个 512 TB |
网络 |
15 个 NIC |
在多核心(多线程)处理器中,逻辑 CPU 是核心(线程)。
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 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 的启动卷的模板,或
启动卷
注解
要获取启动卷,请按照 管理卷 中所述创建卷、将该卷附加至 VM、在该卷中安装操作系统,然后删除 VM。
注解
默认情况下,使用主机 CPU 型号创建虚拟机。具有不同 CPU 的计算节点可能会导致发生实时迁移问题。为了避免出现上述问题,可以按照 Setting Virtual Machines CPU Model 中所述为所有新的 VM 手动设置 CPU 型号。
要创建 VM,请执行以下操作:
在 Virtual machines screen 上,单击创建虚拟机。将打开一个窗口,需要在其中指定 VM 参数。
为新 VM 指定一个名称。
如果有启动卷或想要创建一个启动卷,则在部署来源中选择卷。否则,选择映像。
根据您的选择,单击卷或映像部分中的铅笔图标,然后执行以下操作之一:
在映像窗口中,选择 ISO 映像或模板,然后单击完成。
在卷窗口中,请执行以下操作之一:
如果已准备好安装有来宾操作系统的卷,则单击附加、查找并选择该卷,然后单击完成。
(可选)在卷窗口中,单击添加或附加,以创建或附加任何所需的其他卷。要将某个卷选择为可启动卷,请通过单击该卷旁边的向上箭头按钮将它置于列表中的第一项。
在选择一个映像或卷后,将显示位置下拉列表。位置由管理员创建,来对共享独特功能(例如特殊许可)的节点或 VM 进行分组。选择与 VM 特征相对应的位置。有关详细信息,请参阅 Managing Placements。
在 Flavor 窗口中,选择一个 Flavor,然后单击完成。
在“网络”窗口中,单击添加、选择一个虚拟网络接口,然后单击添加。它将显示在网络接口列表中。
可以编辑新添加的网络接口的其他参数,例如 IP 和 MAC 地址以及欺骗保护。为此,请单击接口的省略号图标、接着单击编辑,然后在编辑网络接口窗口中设置参数。
您以后将无法编辑这些参数。相反,您将能够删除旧的网络接口并将其替换为新的网络接口。
单击完成。
(可选)如果要从模板或启动卷(不是 ISO 映像)部署 VM,可以指定以下内容:
要注入至 VM 中的 SSH 密钥。为此,请在选择 SSH 密钥窗口中选择一个 SSH 密钥,然后单击完成。
注解
为了能够通过 SSH 连接到 VM,请确保 VM 模板或启动卷中已安装 cloud-init 和 OpenSSH(请参阅 Preparing Templates)。
用于在启动后自定义 VM 的用户数据。可以采用以下两种格式之一指定用户数据:cloud-config 或 shell 脚本。为此,请在自定义脚本字段中编写脚本,或在本地服务器上浏览并找到要从中加载脚本的文件。
注解
为了使来宾操作系统可自定义,请确保 VM 模板或启动卷中已安装 cloud-init(请参阅 Preparing Templates)。
要在 Windows VM 中注入脚本,请参阅 Cloudbase-Init 文档。例如,可以使用以下脚本为帐户设置新密码:
#ps1 net user <username> <new_password>
返回创建虚拟机窗口,单击部署以创建并启动 VM。
如果要从 ISO 映像(不是启动卷模板或已预安装来宾操作系统的卷)部署 VM,请选择 VM、单击中控台,然后使用内置 VNC 中控台安装来宾操作系统。
(可选)如果要使用已注入的 SSH 密钥从准备就绪的模板部署 VM,可以使用用户名和 VM IP 地址通过 SSH 连接至它:
对于 Linux 模板,输入云映像操作系统的默认用户名(例如,对于 CentOS 云映像,默认登录名是
centos
)。对于 Windows 模板,输入在 Cloudbase-Init 安装期间指定的用户名。
例如:
# ssh myuser@10.10.10.10
4.1.3. 虚拟机操作概述¶
在创建虚拟机后,可以使用针对该虚拟机当前状态可用的操作对其进行管理。要查看可用操作的完整列表,请单击 VM 旁边或其面板顶部的省略号按钮。操作包括:
运行 - 启动 VM。
中控台 - 通过内置 VNC 中控台连接至正在运行的 VM。在中控台浏览器窗口中,可以将组合键发送至 VM、对中控台窗口拍摄屏幕快照,以及下载中控台日志。
重新启动 - 软重启正在运行的 VM。
关机 - 正常关闭正在运行的 VM。
硬重启 - 切断并恢复电源,然后启动 VM。
关闭电源 - 强制切断 VM 的电源。
搁置 - 将停止的 VM 从其托管的节点上解除绑定,并释放其保留的资源(例如 CPU 和 RAM)。搁置的 VM 仍可启动,并保留其配置,包括 IP 地址。
通过单击关机或关闭电源并在确认窗口中选中搁置虚拟机复选框,即可搁置处于其他状态下的虚拟机。
取消搁置 - 在具有足够资源来托管它的节点上生成已搁置的 VM。
暂停 - 将当前 VM 状态保存至文件。
例如,如果需要重新启动主机但又不想退出 VM 中当前正在运行的应用程序,或者需要重新启动其来宾操作系统,这可能会很有用。
恢复 - 将 VM 从挂起状态中恢复。
下载中控台日志 - 下载中控台日志。确保在 VM 内启用了日志记录,否则日志将为空(有关详细信息,请参阅 在虚拟机内启用日志记录)。
检查中控台日志对发生故障的虚拟机进行故障排除可能会很有用。
重置状态 - 将处于故障或过渡状态的 VM 重置为其上一个稳定状态:活动、关机或已搁置。
删除 - 从计算簇中删除 VM。
4.1.4. 在虚拟机内启用日志记录¶
仅当在 VM 内启用了 TTY1 和 TTYS0 日志记录级别时,VM 的中控台日志才会包含日志消息。例如,可以在 Linux VM 中按以下方式启用它们:
将行
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
还可以启用驱动程序状态日志记录,以查看已加载驱动程序的列表。这对发生故障的驱动程序或长时间启动过程进行故障排除可能会很有用。可以按照以下步骤进行操作:
使用管理员权限启动系统配置。
在系统配置窗口中,打开启动选项卡、选中操作系统启动信息复选框,然后选中使所有启动设置永久化复选框。
确认更改并重新启动系统。
4.1.5. 重新配置和监控虚拟机¶
要监控虚拟机的 CPU、存储和网络使用情况,请选择 VM,然后打开监控选项卡。
图表的默认时间间隔是 12 小时。要放大特定时间间隔,请用鼠标选择相应内部。要重置缩放,请双击任何图表。
以下性能图表可用:
- CPU/RAM
VM 的 CPU 和 RAM 使用情况。
- 网络
传入和传出网络流量。
- 存储读取/写入
VM 读取和写入的数据量。
- 读取/写入延迟
读取和写入延迟。将鼠标光标悬停在图表上的某个点上,还可以查看该时刻的平均延迟和最大延迟以及 95 和 99 百分位数值。
要重新配置 VM,请选择它,然后在概述选项卡上单击需要更改的参数旁边的铅笔图标。无法执行以下操作:
更改、拆离或删除启动卷
管理非启动卷(附加和拆离除外)
修改以前添加的网络接口
在搁置的 VM 中附加和拆离网络接口
4.1.6. 管理来宾工具¶
本部分将介绍如何安装和卸载来宾工具。对于为正在运行的 VM 的磁盘创建一致快照需要此功能(请参阅 管理卷快照)。
4.1.6.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.6.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
在删除来宾工具后,请重新启动虚拟机。