组成部分
Guesttools是由虚拟化平台提供的需安装在虚拟机操作系统中的重要工具软件,主要包含了Guest Agent、virtio drivers、SMEP Agent、qxl driver等模块部分。
Guest Agent提供虚拟化web管理台与虚拟机之间交互的信息、通知消息、动作等,包括:
- 机器名称(虚拟机的主机名);
- 操作系统版本(显示操作系统的版本信息,linux系统显示内核的版本,windows系统显示windows xp/windows 7等版本名称);
- IP地址(目前只支持IPV4);
- 应用程序安装列表(linux系统显示配置文件中配置的,windows系统显示有注册表信息的已安装软件);
- 可用内存(未使用的物理内存数量,这个值会包含缓存,否则内存使用可能会经常达到或接近100……);
- 已登录用户,列出所有的登录用户;
- 活跃用户,目前正在使用虚拟机的用户;(cCenter从SMEP的ticket也能获得此项)
通过Guest Agent还可以实现一些虚拟机内部操作,如:
- 锁屏;
- 代表用户执行登录操作系统;
- 代表用户登出操作系统(注销);
- 关闭虚拟机(软关机);
Virtio drivers里包含了半虚拟化设备的驱动程序,主要有:
- VirtIO-Serial,虚拟串口设备驱动,与cCenter engine通信用;
- VirtIO-Balloon,内存气泡设备驱动;
- VirtIO-Net,网卡设备驱动;
- VirtIO-Block,块设备驱动;
- VirtIO-SCSI ,scsi设备驱动;
Linux 2.6.35及以后版本内核中已内置virtio driver而无需额外安装,windows虚拟机需要额外安装,如果windows虚拟机不安装驱动的话也能够使用,需要使用IDE类型的磁盘和rtl8139或e1000的网卡(区别主要在性能)。
SMEP agent配合SMEP协议实现使用虚拟机时更好的用户体验,虚拟机不安装SMEP agent也能够使用,但是SMEP agent能够提供以下功能:
- 剪贴板,在虚拟机和终端之间复制和拷贝文本和图像;
- 自适应屏幕大小和分辨率,终端系统分辨率改变后,虚拟机能够自动调整以适应屏幕的大小;
- 鼠标优化,使鼠标能够在虚拟机窗口和终端之间随意移出和进入而无需点击按键或使用快捷键,同时提高了移动鼠标操作的体验;
Qxl driver
Qxl为SMEP协议为Qemu提供的一个PCI虚拟显卡设备,这个设备能够用来提升远程图像显示的性能和增加虚拟机图像系统的显示容量。Qxl设备需要在虚拟机中安装Qxl驱动来发挥全部功能,在没有驱动的情况下,Qxl设备能够以VGA的模式来使用。
对GuestOS支持
Guesttools中各组件对各版本操作系统的支持情况如下,其中对windows xp/win7/win2008/win2008 r2/win10提供完整支持。
对linux操作系统各版本的支持情况如下: