摘要
IDV终端云桌面的启动包含了Linux主机的启动和Windows虚拟机的启动,两个系统的串行启动再加上虚拟化的损耗,让IDV终端的启动速度严重低于物理PC,影响最终的用户体验。
我们结合IDV终端的一些特性和使用场景,对IDV终端的启动模型进行调整,提出了IDV终端极速开机技术。该技术充分利用主机系统空闲的CPU和内存资源,将目标虚拟机预先启动到一定阶段,等待用户登录后再继续启动,大幅提升开机速度,让用户能够获取到类似物理PC开机速度的体验。
关键字
预启动
术语清单
缩略语/术语 |
说明 |
预启动 |
在主机系统上预判用户将会启动的虚拟机,并在后台进行预先处理,并隐藏不让用户察觉的方式。 |
IDV |
Intelligent Desktop Virtualization,一种将计算和数据都放在本地系统的桌面虚拟化技术。 |
IDV(Intelligent Desktop Virtualization)云桌面的使用场景中,IDV终端的启动(从IDV终端上电到用户桌面可用)速度一直是用户比较诟病的一个痛点。因为IDV终端需要先后启动主机Linux系统和虚拟机的用户桌面系统,如Windows,相对物理PC而言,启动时间基本需要翻倍。IDV云桌面厂商为了缩短系统的启动时间一般都会对主机系统和虚拟机系统的启动进行优化,主机系统的启动优化同样适用于物理PC,而虚拟机系统的启动优化主要集中于模拟I/O的优化,其启动性能跟物理PC还是有一定的差距,所以采用优化系统启动的方式得到的效果并不明显。
为了能够较大幅度地提高IDV终端桌面的启动速度,我们结合IDV终端的使用场景,考虑到IDV终端上大部分时间用户启动虚拟机的参数是保持不变的,并且在IDV终端开启,用户未登录之前IDV终端上的CPU和内存资源大部分处于空闲状态,对IDV终端系统的启动架构进行一定的调整,让主机系统在后台尽量为用户桌面系统的启动做到最佳的准备,使得用户能够在尽量短的时间达到虚拟机桌面可用的状态。
考虑到一方面,用户使用IDV云桌面时,关心的是用户的数据和使用体验,并不关心云桌面系统是怎么启动起来的;另外一方面,任何一个计算机的启动都是先后经过初始化系统设备、引导操作系统内核、加载驱动和服务,最后启动用户程序的过程,即云桌面的启动前面部分和用户数据无关。所以,可以将虚拟机的启动划分为两大部分,即前面和用户数据无关的部分和后面可能涉及到用户数据的部分,在系统空闲的时候,在后台先处理和用户数据无关的前半部分,等用户真正登陆启动虚拟机后再继续启动执行可能涉及到用户数据的阶段。
后台虚拟机预启动既要尽量启动充分,又要不动到用户数据,在适当的位置暂停虚拟机的启动,这就需要主机系统能够准确知道虚拟机的启动位置。理论上,主机系统是不会主动去检测虚拟机的行为的,所以需要虚拟机通关过一定的方式主动告知主机系统虚拟机系统的启动位置。
对于虚拟机系统而言,所有的模拟设备都将由主机系统模拟,虚拟机系统对模拟设备的每次访问都可以被主机系统捕获并进行一定的处理,虚拟机系统可以通过模拟设备的通道告知主机系统虚拟机系统启动的位置,而虚拟机系统内需要在虚拟机系统启动路径的特定位置上插入定制的程序,这些插入的程序通过访问模拟硬件的方式达到通知主机系统虚拟机系统启动位置的目的。而主机方面,在获知到虚拟机启动位置的信息后,可以通过模拟硬件的行为,或者控制虚拟机是否暂停运行的方式实现对虚拟最后启动的最大化准备。
后台预先启动的虚拟机并不完全等同于用户真正启动的虚拟机,所以该虚拟机从用户视角要不被感知,也不能影响用户对主机系统的正常使用,如要进行IDV终端的相关配置。该目标可以通过对虚拟机的各种外设和显卡设备进行适当的控制管理而实现。对于纯模拟的设备而言,完全可以通过控制软件的行为让模拟设备运行与后台,不影响到用户对IDV终端的使用。而透传设备需要根据具体的设备区别对待。
对于透传的USB控制器和声卡,通过设备热拔插的形式,等到用户真正登陆要进入虚拟机的时候,再将这些设备临时热插到虚拟机中,所以在用户登陆之前,不会影响到用户对主机USB控制器和声卡的正常使用,也就不会影响到对USB外设的使用。
对于透传的显卡而言,显卡并不支持热拔插,需要在虚拟机启动的最开始就将显卡设备添加到虚拟机中。对于物理透传的显卡而言,若将显卡直接透传给虚拟机,主机系统是无法使用,会导致屏幕只能显示虚拟机的画面,无法显示主机的画面,肯定会影响到用户对主机系统的使用。锐捷提供的显卡复用技术,在主机系统的显卡驱动中模拟一个或多个和物理显卡型号一模一样的显卡,并且可以将模拟的显卡透传给虚拟机。对于虚拟机而言,看到的显卡和物理显卡是完全相同的,不用进行显卡驱动的更新。主机方面,可以通过软件配置的方式,控制每个显示接口输出主机画面或虚拟机画面,当用户还没登陆的时候,显示接口一直输出主机画面,直到用户登陆后再切换到虚拟机画面。
后台虚拟机预启动相当于对即将启动的虚拟机在内存中做了一个缓存,IDV云桌面的一大特点是其配置的灵活性,用户登陆的时候,后台预启动的虚拟机参数难免会出现和用户登陆时真正使用到的参数有所区别,这种情况下,预启动的虚拟机将无效,需要先快速关闭预启动的虚拟机,再重新启动虚拟机。
预启动虚拟机的时候,将会对系统盘做少量的修改,会直接影响到虚拟机的下一次启动,为此,关闭预启动虚拟机的时候,需要对系统镜像进行恢复,即在预启动之前先给系统镜像创建一个快照,若预启动镜像不正确,使用快照恢复的方式对系统进行快速恢复。
极速开机的特点在于它能够在不影响IDV终端功能的情况下,充分利用IDV终端上空闲的CPU和内存资源,让系统在用户登陆启动虚拟机之前,就能够提前将虚拟机启动到一定的阶段,从而最大化地缩短用户进入虚拟机桌面的时间。
极速开机这个技术本质上就是在内存中对即将创建的虚拟机在内存中做一个缓存,所以会存在以下限制:
- IDV云桌面关机期间,管理员没有对镜像进行更新(如果镜像发生了更新,那么更新后的首次极速开机不生效,后续才能再生效)。
- 需要主机系统保持电源接通状态(即IDV终端没有被物理切断电源)。
IDV终端极速开技术能够在一些特定的场景下极大地提高用户进入虚拟机桌面的速度,原本从上电到进入虚拟机桌面需要半分钟到1分钟的时间,开启极速开机后,最优情况下只需要10s左右的时间即可到达虚拟机桌面。
相关推荐:
更多技术博文
-
一文帮助您了解如何进行风险辨识,确保计算机系统安全
本文探讨了在计算机系统安全中的关键一环——如何进行风险辨识。通过系统化方法,识别和评估潜在的安全威胁和漏洞,从而全面了解系统中存在的潜在风险。采取多种方法,如安全漏洞扫描、安全威胁模拟等,有助于发现安全威胁,并为进一步的安全保护提供基础。
-
#知识百科
-
#安全
-
-
风险检测系统:如何保障计算机系统安全?
本文探讨了风险检测系统在计算机安全中的关键作用。通过监测系统行为、分析网络流量等方式,风险检测系统能及时发现潜在安全威胁,提高系统安全性和稳定性。文章强调建立和使用风险检测系统是保护计算机系统安全的重要措施,对各个领域的安全保障具有重要意义。
-
#知识百科
-
#安全
-
-
企业办公场所智能化核心技术之POE网关是什么
本文探讨了POE网关在提升企业办公智能化水平中的关键作用。通过以太网电缆为智能设备提供数据和电力,POE网关简化了设备管理流程,提高了工作效率,降低了总体成本。这项关键技术不仅满足了企业对智能化办公环境的需求,还为企业创造出更智能、高效、节能的办公环境。
-
#知识百科
-
#安全
-
-
一文带你了解POE交换机与POE路由器是什么?
本文探讨了POE交换机和POE路由器在智能化办公环境中的关键作用。它们通过为智能设备提供电力和数据传输,实现了高效通信和智能管理。POE交换机简化了设备连接并提升了工作效率,而POE路由器作为核心枢纽,打造了灵活、可靠和安全的网络环境。
-
#交换机
-
#知识百科
-