虚拟化技术考试重点总结

news2024/11/24 1:57:11

虚拟化技术考试重点总结

什么是虚拟化?其作用是什么

​ 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。可以在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

​ 作用:在一台计算机上面运行多个操作系统、方便搭建教学环境和测试环境、和硬件环境无关、节省管理成本&硬件投资、省电

什么是系统级虚拟化

​ 在操作系统层面增添虚拟服务器功能,没有独立的Hypervisor层。

​ 相反主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立,一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统。

​ 虽操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。

什么是宿主机?什么是客户机?

​ 宿主机就是主机,这个概念是相对于子机而言的,比如你安装有虚拟机的话,那么相对于虚拟机而言,你正在使用的计算机就是宿主机,虚拟机是安装在主机上的,必须在主机上才能运行,主机就是一个“宿主”

​ 客户机可以是网络中的设备也可以是使用服务器提供的服务的用户。在不严格的意义上,“客户机”通常指网络中的计算机,它也指运行客户机/服务器应用程序中客户机端的用户,即那些驻留在远程机器上的软件,需要与服务器通信,取回信息,进行适当的处理,然后在远程机器上显示出来的计算机。

Hypervisor是什么

​ 一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,可以访问服务器上包括磁盘和内存在内的所有物理设备

​ Hypervisor不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护,当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘

什么是桌面虚拟化?

​ 桌面虚拟化依托于服务器虚拟化,主要功能是将分散的桌面环境集中保存并管理起来,包括桌面环境的集中下发,集中更新,集中管理。使得桌面管理变得简单,不用每台终端单独进行维护,每台终端进行更新,终端数据可以集中存储在中心机房里,安全性相对传统桌面应用要高很多

​ 桌面虚拟化可以使得一个人拥有多个桌面环境,也可以把一个桌面环境供多人使用,节省了license

虚拟化技术的概念、特征及目的

​ 概念:虚拟化是把物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,将各种各样的资源通过逻辑抽象、隔离、再分配、管理的一个过程

​ 特征:

​ 1)虚拟化的对象是资源(包括CPU、内存、存储、网络等)

​ 2)虚拟化的得到的资源有着统一的逻辑表示,而且这种逻辑表示能够提供给用户与被虚拟化的物理资源大部分相同或者完全相同的功能

​ 3)经过一系列的虚拟化过程,使得资源不受物理资源限制约束,由此可以带给人们与传统IT相比更多的优势,包括资源整合、提高利用率、动态IT等

​ 目的:精简IT基础设施和优化资源管理方式、达到整合资源、节约潜在成本、减少企业IT资源开销、提高计算机设备的利用率、解决不同的物理服务器之间存在的兼容性问题

虚拟化和云计算的关系

​ 从技术关系上看:虚拟化是云计算的核心组成部分之一,是云计算和云储存服务得以实现的关键技术之一

​ 从软硬件分离的角度上看:云计算在某种意义上剥离了软件与硬件之间的联系,虚拟化就是有效分离软件和硬件的方法

​ 从网络服务角度上看:云计算是一种“一切皆服务”的模式,通常该模式在网络或云上提供服务。虚拟化层的虚拟机提供云计算服务,虚拟化成的网络提供储存服务。

从虚拟平台的角度(全/半虚拟化)和从虚拟化的实现结构(三种类型)对虚拟化的分类,各类型特点及比较

虚拟平台的角度(全/半虚拟化)

​ 完全虚拟化

​ 指虚拟操作系统与底层硬件完全隔离,由中间的Hypervisor层转化为虚拟客户操作系统对底层硬件的调用代码

​ 完全虚拟化提供底层物理系统的全部抽象化,且创建一个新的虚拟系统,客户机操作系统可以在里面运行,不需要对客户机操作系统或者应用程序进行修改

​ 主要缺点是,性能方面不如裸机,因为Hypervisor需要占用一些资源,给处理器带来开销

​ 半虚拟化

​ 指在虚拟客户操作系统中加入特定的虚拟化指令,通过这些指令可以直接通过Hypervisor层调用硬件资源

​ 半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改并提供相近的性能

​ 半虚拟化的性能要比完全虚拟化更优越

虚拟化的实现结构(三种类型):

​ 主要分为Hypervisor虚拟化、宿主模型虚拟化、混合模型虚拟化

​ Hypervisor虚拟化

​ Hypervisor型虚拟化是指直接在底层硬件上安装VMM作为Hypervisor接管,Hypervisor将负责管理所有的资源和虚拟环境支持。这种结构问题是,硬件设备多种多样,VMM不能把所有的设备驱动都一一实现,所以此模型支持有限的设备。

​ 宿主模型虚拟化

​ 宿主模型,就是在硬件资源上安装一个OS负责管理硬件设备,VMM作为一个应用在OS上运行,从而负责虚拟环境的支持。这种方法优点是不用操行底层的设备驱动,缺点是vmm对硬件的调用依赖于宿主机,因此效率和功能都受宿主机的限制和影响。

​ 混合模型虚拟化

​ 混合模型就是以上两种模型的混合,首先VMMM直接管理硬件,但是会让出一定的设备的控制权,交给运行在特权上的虚拟机来管理,这个模型的缺点是需要特权OS提供服务时就会出现模式的切换,从而造成大的开销和性能降低。

软件虚拟化和硬件虚拟化技术的优缺点和适用范围(虚拟化支持的层次)

​ 硬件虚拟化

​ 硬件虚拟化就是硬件物理平台本身提供了对特殊指令的截获和重定向的支持,简单地说,就是其不依赖于操作系统,即不在应用层面及逆行部署

​ 在基于硬件实现软件虚拟化的技术中,在硬件是实现虚拟化的基础,硬件(主要是CPU)会为虚拟化软件提供支持,从而实现硬件资源的虚拟化

​ 优势:性能较好、可以提供对64位操作系统的支持

​ 软件虚拟化

​ 指通过软件的方法,让客户机的特权指令陷入异常,从而触发宿主机进行虚拟化处理

​ 主要使用的技术是优先级压缩和二进制代码翻译

​ 优势:成本比较低廉、部署方便、管理维护简单

​ 缺陷:在部署时候会收到比较多的限制,如增加额外的开销、客户操作系统收到虚拟机环境的限制

CPU虚拟化要解决的问题(x86处理器结构漏洞)及软硬件解决方案

​ 要解决的问题在x86体系结构中实现虚拟化,需要客户机系统一下加入虚拟化层,来实现物理资源的共享。因此,这个虚拟化层应该运行在 Ring0 级别,而客户机操作系统只能运行在 Ring0 的以上的级别。但是,客户机操作系统中的特权指令,如果不运行在 Ring0 级别,将会有不同的 语义,产生不同的效果,或者根本不起作用,这是处理器结构在虚拟化设计上存在的缺陷,这 些缺陷会直接导致虚拟化漏洞。为了弥补这种漏洞,在硬件还未提供足够的支持之前,在半虚拟化中,客户机操作系统和虚拟花平合必须兼容,否则虚拟机无法有效操作宿主机。

​ 解决方法基于软件:

​ 基于软件的虚拟化技术就已经先给出了两种可行的解决方案:全虚拟化和半虚拟化。全虚拟化可以采用二进制代码动态翻译技术来解决客户机的特权指令问题,这种方法的优点在于代码的转换工作是动态完成的,无须修改客户机操作系统,因而可以支持多种操作系统。而半虚拟化通过修改客户机操作系统来解决虚拟机执行特权指令的问题。被虚拟化平台托管的客户机操作系统需要修改其操作系统,将所有敏感指令替换为对底层虚拟化平台的超级调用。

​ 解决方法基于硬件:

​ 目前,Intel和AMD公司分别推出了硬件辅助虚拟化技术Intel VT和AMD SVM来更高效,更容易的实现虚拟化.

Intel VT-x的技术特点,VMX的操作模式及操作流程

​ 技术特点

​ IntelVT-x可以让一个CPU工作起来像多个CPU在并行运行,从而使得在一台物理服务器内可以同时运行多个操作系统。能够降低(甚至消除)多个虚拟机操作系统之间的资源争夺和限制,从硬件上极大地改善虚拟机的安全性和性能,有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。IntelVT-x技术可以消除VMM(VirtualMachineMonitor虚拟机监视器)参与虚拟机“中断”请求的处理与特定指令的执行,这样VMM操作和控制虚拟机时,将更加快速、可靠和安全。

​ 此外,IntelVT-x具备的虚拟机迁移特性还可为IT投资提供有力保护,并进一步提高故障切换、负载均衡、灾难恢复和维护的灵活性。

​ VMX操作模式

img

​ 流程:

​ VMM 执行 VMXON 指令进入到VMX 操作模式,此时 CPU 处于 VMX 根操作模式VMM 软件开始运行

​ VMM 执行VMLAUNCH或VMRESUME 指令产生 VM-Entry,客户机软件开始运行此时 CPU 从根模式转换成非根模式

​ 当客户机执行特权指令或者客户机运行发生了中断或异常时,VM-Exit 被触发而陷入VMM,CPU 自动从非根模式切换到根模式,VMM根据 VM-Exit 的原因做相应处理,然后继续运行客户机。

​ 如果VMM决定退出,则执行VMXOFF关闭VMX 操作模式

vCPU的组成和基本操作

​ 组成:一是VMCS 结构(Virtual Machine Control Structure,虚拟机控制结构),其中存储的是由硬件使用和更新的内容,这主要是虚拟寄存器;二是 VMCS 没有保存而由VMM 使用和更新的内容,主要是 VCMS以外的部分

img

​ 基本操作:

​ vCPU 的创建:创建 VCPU 实际上是创建vCPU 描述符,由于vCPU 描述符是一个结构体,因此创建vCPU 描述符就是分配相应大小的内存。vCPU 描述符在创建之后,需要进一步初始化才能使用

​ vCPU 的运行:vCPU 创建并初始化好之后,就会被调度程序调度运行,调度程序会根据一定的策略算法来选择 VCPU 运行

​ vCPU 的退出:和进程一样,vCPU 作为调度单位不可能永远运行,总会因为各种原因退出,例如执行了特权指令、发生了物理中断等,这种退出在 VT-x中表现为发生VM-Exit。对 vCPU退出的处理是 VMM进行CPU 虚拟化的核心,例如模拟各种特权指令

​ vCPU的再运行: 指VMM 在处理完VCPU 的退出后,会负责将vCPU 投入再运行

内存虚拟化的地址映射问题

​ 内存虚拟化的主要任务是处理一下两方面的问题

​ 实现地址空间的虚拟化,维护宿主机物理地址和客户机物理地址之间的映射关系

​ 在引入客户机物理地址空间后可以通过两次地址转换来支持地址空间的虚拟化,即客户机虚拟地址 一客户机物理地址一宿主机物理地址的转换。在实现过程中,GVA到 GPA的转换通常是由客户机操作系统通过 VMCS中客户机状态域 CR3 指向的页表来指定而GPA到 HPA的转换是 VMM 决定的,VMM 通常会用部数据结构来记录客户机物理地址到宿主机物理地址之间的动态映射关系。

​ 截取宿主机对客户机物理地址的访问,并根据所记录的映射关系将其转换为宿主机物理地址

​ 最简单的解决办法就是让客户机对宿主机物理地址空间的每一次访问都触发异常,由VMM查询地址转换表模仿其访问,但是这种方法性能很差

Intel EPT的基本概念及地址转换实现过程

​ 基本概念

​ EPT是intel为内存虚拟化而设计的一种硬件机制,主要是是为了实现Guest对于物理内存的访问控制为了简化内存虚拟化的实现,以及提升内存虚拟化的性能,Intel推出了EPT(Enhanced Page Table)技术,即在原有的页表基础上新增了EPT页表实现另一次映射。这样,GVA-GPA-HPA两次地址转换都由CPU硬件自动完成。

​ 地址转化过程

​ 通过EPT的GVA和HPA大概翻译的过程:

​ 处于非根模式的CPU加载guest进程的gCR3;

​ gCR3是GPA,cpu需要通过查询EPT页表来实现GPA->HPA;

​ 如果没有,CPU触发EPT Violation, 由Hypervisor截获处理;

​ 假设客户机有m级页表,宿主机EPT有n级,在TLB均miss的最坏情况下,会产生MxN次内存访问,完成一次客户机的地址翻译;

Intel VT-d的技术特点以及DMA重映射过程

​ 技术特点

​ Intel VT-d是IOMMU技术在intel上的实现,是Intel虚拟化技术的一部分,主要针对的是I/O子系统,实现主要是通过在硬件上引入重定向单元,该硬件重定向单元用于对I/O子系统的DMA操作和中断传递进行重定向,从而辅助VMM实现I/O子系统的虚拟化。

​ DMA重映射过程

​ 1.分配需要映射的物理内存

​ 2.根据RCACE缓存机制分配IOVA

​ 3.根据TTBR及IOVA,建立页表项,建立IOVA与PA之间的映射

​ 4.默认在SMMU硬件内部TLB中会缓存IOVA到PA的映射,设备访问对应IOVA时首先从TLB缓存中取,若失败,根据IOVA一级一级查找页表 (内存) ,若没有找到,产生缺页中断

TUN/TAP设备的工作原理

​ Tun/Tap驱动程序工作原理 在计算机网络中,TUN与TAP是操作系统内核中的虚拟网络设备,不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。

KVM的系统框架结构、QEMU和KVM的关系

​ QEMU和KVM的关系

​ 从QEMU角度来看,虚拟机运行期间,QEMU通过KVM模块提供的系统调用接口进行内核设置,由KVM模块负责将虚拟机置于处理器的特殊模式运行

​ KVM的系统框架结构

​ kvm 驱动现在已经是Linux内核的一个模块了,它的作用主要是负责虚拟机的创建,虚拟内存的分配 虚拟CPU寄存器的读写和虚拟cpu的运行

​ 另一个组件是 Qemu,QEMU是一个通用的开源机器模拟器和虚拟器,其主要的功能是用于模拟虚拟机的用户空间组件,提供io 设备模型,访问外设的途径

KVM的初始化过程

​ 初始化CPU硬件。KVM会首先检测当前系统的CPU,确保CPU支持虚拟化,当KVM模块被加载时,KVM模块会先初始化内部数据结构 。KVM的内核部分是作为可动态加载内核模块运行在宿主机中的,其中一个模块是和平台无关的实现虚拟化核心基础架构的 KVM模块,另一个是与硬件平台相关的KVM_Intel模块或者是看kvm_ amd模块

​ 打开CPU控制寄存器CR4中的虚拟化模式开关,并通过执行特定指令将宿主机操作系统之于虚拟化模式中的根模式

​ KVM模块创建特殊设备文件/dev/kvm,并等待来自用户空间的命令 (例如,是否创建虚拟客户机,创建什么样的虚拟客户机等 )

创建虚拟机镜像文件以及启动虚拟机的常用QEMU命令

​ qemu基础知识、编译、安装以及虚拟机创建_刘十彡的博客-CSDN博客_qemu-nbd安装

纯软件/半虚拟化/直接分配三种I/O虚拟化方案的对比

I/O 全虚拟化

​ 这种方式比较好理解,简单来说,就是通过纯软件的形式来模拟虚拟机的 I/O 请求。以 qemu-kvm 来举例,内核中的 kvm 模块负责截获 I/O 请求,然后通过事件通知告知给用户空间的设备模型 qemu,qemu 负责完成本次 I/O 请求的模拟。

​ 优点:不需要对操作系统做修改,也不需要改驱动程序,因此这种方式对于多种虚拟化技术的「可移植性」和「兼容性」比较好。

​ 缺点:纯软件形式模拟,自然性能不高,另外,虚拟机发出的 I/O 请求需要虚拟机和 VMM 之间的多次交互,产生大量的上下文切换,造成巨大的开销。

I/O 半虚拟化

​ 针对 I/O 全虚拟化纯软件模拟性能不高这一点,I/O 半虚拟化前进了一步。它提供了一种机制,使得 Guest 端与 Host 端可以建立连接,直接通信,摒弃了截获模拟这种方式,从而获得较高的性能。

​ 值得关注的有两点:

​ 1)采用 I/O 环机制,使得 Guest 端和 Host 端可以共享内存,减少了虚拟机与 VMM 之间的交互

​ 2)采用事件和回调的机制来实现 Guest 与 Host VMM 之间的通信。这样,在进行中断处理时,就可以直接采用事件和回调机制,无需进行上下文切换,减少了开销

​ 优点:性能较 I/O 全虚拟化有了较大的提升

​ 缺点:要修改操作系统内核以及驱动程序,因此会存在移植性和适用性方面的问题,导致其使用受限

I/O直通或通传技术

​ 上面两种虚拟化方式,还是从软件层面上来实现,性能自然不会太高,最好的提高性能的方式还是从硬件上来解决。如果让虚拟机独占一个物理设备,像宿主机一样使用物理设备,那无疑性能是最好的。

​ I/O 直通技术就是提出来完成这样一件事的,它通过硬件的辅助可以让虚拟机直接访问物理设备,而不需要通过 VMM 或被 VMM 所截获,I/O 直通技术需要硬件支持才能完成,这方面首选是 Intel 的 VT-d 技术,它通过对芯片级的改造来达到这样的要求,这种方式固然对性能有着质的提升,不需要修改操作系统,移植性也好。

​ 尽管 I/O 直通技术消除了虚拟机 I/O 中 VMM 干预引起的额外开销,但在 I/O 操作中 I/O 设备会产生大量的中断,出于安全等因素考虑,虚拟机无法直接处理中断,因此中断请求需要由 VMM 安全、隔离地路由至合适的虚拟机。

​ 所以,其实实际使用中,都是软硬件虚拟化方式结合使用的。

virtio实现I/O半虚拟化的原理

​ Virtio模拟I/O设备 其中前端驱动(frondend,如virtio-blk、 virtio-net等)是在客户机中存在的驱动程序模块,而后端处理程序是在QEMU中实 现的。在这前后端驱动之间,还定义了两层来支持客户机与QEMU之间的通信

​ “ virtio ”这一层是虚拟队列接口,它在概念上将前端驱动程序附加到后端处理程序,一个前端驱动程序可以使用0个或多个队列,具体数量取决于需求。虚拟队列实际上被实现为跨越客户机操作系统和hypervisor的衔接点, 但它可以通过任意方式实现,前提是客户机操 作系统和virtio后端程序都遵循一定的标准,以相互匹配的方式实现它。而 virtio-ring实现了环形缓冲区(ring buffer),用于保存前端驱动和后端处理程序执 行的信息,并且它可以一次性保存前端驱动的 多次I/O请求,并且交由后端去批量处理,最后 实际调用宿主机中设备驱动实现物理上的I/O操 作,这样做就可以根据约定实现批量处理而不 是客户机中每次I/O请求都需要处理一次,从而 提高客户机与hypervisor信息交换的效率

气球技术的作用和原理

​ 作用:通常来说,要改变客户机占用的宿主机内存,要先关闭客户机,修改启动时的配置,然后重启客 户机才实现,而ballooning技术可以在客户机运行时动态地调整它所占用的宿主机内存资源,而不是关闭客户机,它是客户机的balloon driver通过virtio虚拟 队列接口和宿主机协同工作来完成的,balloonDriver的作用在于它既可以膨胀自己使用内存大小也可以缩减内存使用量。

​ 原理:气球中的内存是可以供宿主机使用的,不能被客户机访问或使用

​ 当宿主机内存使用紧张,空余内存不多时,可以请求客户机回收利用已分配给客户机的部分内存, 客户机就会释放其空闲的内存,使得内存气球充气膨胀,从而让宿主机回收气球中 的内存可用于其他进程(或其他客户机)

​ 反之,当客户机中内存不足时,也可以让客户机的内存气球压缩,释放出内存气球中的部分内存,让客户机使用更多的内存

V2V在线迁移的特点、作用及KVM中的运行步骤

​ 作用: V2V 在线迁移大大的减少了虚拟机的迁移的停机时间。

​ 特点:V2V迁移是在虚拟机之间移动操作系统和数据,考虑宿 主机级别的差异和处理不同的虚拟硬件。虚拟机从一个物理 机上的VMM迁移到另一个物理机的VMM,这两个VMM的类 型可以相同,也可以不同。如VMware迁移到KVM,KVM迁 移到KVM。可以通过多种方式将虚拟机从一个VM Host系统移动到另一个VM Host系统。

​ 运行步骤

​ (1)系统验证目标服务器的存储器和网络设置是否正确,并预保留目标服务器虚拟机的资源

​ (2)当虚拟机还在源服务器上运转时,第一个循环内将全部内存镜像复制到目标服务器上。在这个过程中,KVM 依然会监视内存的任何变化。

​ (3)以后的循环中,检查上一个循环中内存是否发生了变化。 假如发生了 变化,那么VMM 会将发生变化的内存页即dirty pages重新复制到目标服务 器中,并覆盖掉先前的内存页。在这个阶段,VMM依然会继续监视内存的变 化情况。

​ (4)VMM持续内存复制循环,陆续需要复制的脏页逐渐减少,直到达到一 定条件时(如源、目标服务器内存差异达到一定标准),内存复制操作结束, 同时停止源服务器。

​ (5)在源目标服务器都停机的情况下,将最后一个循环的脏页和原服务 器设备的工作状态传输复制到目标服务器

​ (6)最后,将存储从源服务器上解锁,并锁定到目标服务器上。启动目标 服务器,恢复与存储网络资源的连接,接替原服务器继续运行。

KVM虚拟化的安全技术架构

​ QEMU与Libvirt间的通信安全

​ QEMU模块的安全性

​ QEMU与KVM模块间的通信安全

​ KVM模块安全

​ 虚拟机完整性检查

​ 虚拟机数据保护

​ 虚拟机网络安全

QEMU monitor的基本使用

​ QEMU监控器(monitor)是QEMU与实现用户交互的一 种控制台,一般用于为QEMU模拟器提供较为复杂的功能, 包括为客户机添加和移动一些媒体镜像,暂停和继续客户 机的运行,快照的建立和删除,从磁盘文件中保存和恢复 客户机状态,客户机动态迁移,查询客户机当前各种状态 参数等。

​ QEMU Monitor 常用命令

​ 辅助类命令:如info和help

​ help可以查询显示某个命令的简要帮助信息

​ info命令主要用来显示虚拟机的运行信息。

​ info 命令显示当前系统状态的各种信息,其命令格式如下:info subcommand

​ 设备类命令:

​ change命令改变一个设备的配置

​ 如“change vnc localhost:2”改变VNC的配置

​ “change vnc password”更改VNC连接的密码

​ “change ide1-cd0 /path/a.iso”改变客户机中光驱加载的光盘。

​ usb_add和usb_del命令添加和移除一个USB设备

​ 如“usb_add host:002.004”表示添加宿主机的 002号USB总线中的004设备到客户机中

​ “usb_del 0.2”表示删除客户机中某个USB设备

​ device_add和device_del命令动态添加或移除设备

​ 如 “ device _ addpic- assign,host=02:00.0,id=mydev”将宿主机中的BDF编号为0.2:00.0的PCI设备分配给客户机

​ 而 “device_del mydev”移除刚才添加的设备

​ mouse_move命令移动鼠标光标到指定坐标

​ 例如“mouse_move 500 500”将鼠标光标移动到坐标 为(500,500)的位置

​ mouse_button命令模拟点击鼠标的左中右键

​ 1为左键, 2为中间键,4为右键

​ sendkey keys命令向客户机发送keys按键(或组合键),就如同非虚拟环境中那样的按键效果。如果同时发送的是多个按键的组合,则按键之间用“-”来连接。

​ 如“sendkey ctrl-alt-f2”命令向客户机发 送“ctrl-alt-f2”键,将会切换客户机的显示输出到tty2终端;

​ 而“snedkey ctrl-alt-delete”命令则会发送 “ctrl-alt-delete”键,在文本模式中该组合键会重启系统。

​ 客户机类命令

​ savevm、loadvm和delvm命令创建、加载和删除客户机的快照

​ 如“savevm mytag”表示根据当前客户机状态创建标志为“mytag”的快照

​ “loadvm mytag”表示加载客户机标志为“mytag”快照时的状态

​ 而“del mytag”表示删除“mytag”标志的客户机快照。

​ migrate和migrate_cancel命令动态迁移和取消动态迁移

​ 如 “migrate tcp:des_ip:6666”表示动态迁移当前客户机到IP地址为“des_ip” 的宿主机的TCP6666端口上去

​ 而“migrate_cancel”则表示取消当前进 行中的动态迁移过程。

​ commit命令提交修改部分的变化到磁盘镜像中(在使用了“- snapshot”启动参数),或提交变化部分到使用后端镜像文件。

​ system_powerdown、system_reset和system_wakeup命令

​ 其中 system_powerdown命令向客户机发送关闭电源的事件通知,一般会让 客户机执行关机操作;

​ system_reset命令让客户机系统重置,相当于直 接拔掉电源,然后插上电源,按开机键开机;

和migrate_cancel命令动态迁移和取消动态迁移

​ 如 “migrate tcp:des_ip:6666”表示动态迁移当前客户机到IP地址为“des_ip” 的宿主机的TCP6666端口上去

​ 而“migrate_cancel”则表示取消当前进 行中的动态迁移过程。

​ commit命令提交修改部分的变化到磁盘镜像中(在使用了“- snapshot”启动参数),或提交变化部分到使用后端镜像文件。

​ system_powerdown、system_reset和system_wakeup命令

​ 其中 system_powerdown命令向客户机发送关闭电源的事件通知,一般会让 客户机执行关机操作;

​ system_reset命令让客户机系统重置,相当于直 接拔掉电源,然后插上电源,按开机键开机;

​ system_wakeup将客户机 从暂停中唤醒

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/158242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang中http编程

http介绍 编写web语言: 1.java 2.php,现在都在尝试用go语言编写 3.python,豆瓣 4.go语言 》 beego,gin两个主流的web框架 https协议:我们使用浏览器访问的时候发送的就是http请求 http是应用层的协议,底…

论文投稿指南——中文核心期刊推荐(地质学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

广告业务系统 之 辅助决策 —— “ AB 实验平台”

文章目录广告业务系统 之 辅助决策 —— “ AB 实验平台”AB 实验平台流量侧 & 渲染侧AB 实验模块架构设计智能流控广告业务系统 之 辅助决策 —— “ AB 实验平台” AB 实验平台 在广告业务中,数据通常作为业务前进的内在驱动力之一。 AB 实验平台就是以实验…

java获取时间并进行计算

前言 SimpleDateFormat使用介绍 提示:以下是本篇文章正文内容,下面案例可供参考 一、SimpleDateFormat是什么? 如果你对java源码比较了解。你会发现java对文字,数字的格式化,是有一个公共的父类的Format。 NumberFo…

.Net Core6.0程序发布到IIS支持apk文件下载

ASP.Net Core6.0 WebApi程序发布到IIS支持apk/wgt文件下载 IIS中配置MIME 添加.apk/.wgtapplication/vnd.android.package-archive或application/octet-stream.Net Core6.0 WebApi 程序要在startup.cs中设置 //使用默认文件 app.UseDefaultFiles(); //开启静态文件 app.UseS…

金山区企业工程技术研究中心给予15万元资金奖励

金山区企业工程技术研究中心一、主管部门金山区科学技术委员会二、政策依据《金山区关于进一步鼓励科技创新加快上海科技创新中心重要承载区建设的若干配套政策》(金府发〔2020〕3号)《金山区关于进一步鼓励科技创新加快上海科技创新中心重要承载区建设的…

赛题发布|“星河杯”隐私计算大赛-赛题发布沙龙成功举办

2023年1月10日下午,由中国信通院与隐私计算联盟主办,中移动信息技术有限公司、联通数字科技有限公司、天翼电子商务有限公司共同协办,FATE开源社区提供技术支持,DataFountain作为官方竞赛平台的“星河杯”隐私计算大赛顺利举办赛题…

Acwing---1212.地宫取宝

地宫取宝1.题目2.基本思想3.代码实现1.题目 X 国王有一个地宫宝库,是 nm 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或…

SAP入门技术分享三:模块化程序

模块化程序1.子程序概要2.子程序定义3.子程序参数(1)传递参数的方法(2)定义参数类型(3)参数与结构体(4)参数与内表4.调用子程序(1)调用程序内部子程序&#x…

Android APP 缓存路径

Context.getCacheDir():这个缓存路径打印出来的是:data / data / (APPID ) / cacheAndroid系统中的清除APP缓存清除的就是这个路径: 随着用户手动清空缓存或者APP的卸载,这个路径的缓存也会被删除。请注意:在这个缓存路径上读写是不需要请求文…

Qt扫盲-信号槽理论总结

信号槽理论总结一、概述二、信号槽三、信号四、槽函数五、小例子六、 信号槽的默认参数七、高级使用八、 在Qt 里使用第三方的信号槽一、概述 信号和槽用于对象之间的通信。信号和槽机制是Qt的一个核心特性,也是与其他框架所提供的特性最大不同的部分。Qt的元对象系…

win10跨网段文件共享

win10跨网段文件共享问题描述问题分析网络可达性防火墙权限问题操作网络拓扑示意图操作步骤问题描述 平常,我们经常用的是同一局域网下的网络共享,这在windows上很容易操作。现在,两台PC主机不在同一子网,该如何共享?…

【C/C++】静态顺序表详解(附完整源码)

本章内容 1.什么是线性表 2.什么是顺序表 3.静态顺序表结构的定义 4.静态顺序表的函数接口实现 5.静态顺序表的问题及思考 1.什么是线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&…

开源飞控初探(四)ArduPilot::Copter固件源码分析

2022.5.7,基于v4.0.5的分析。官网文档没及时更新,本文对当前版本源码的描述可能和官网不一样。1、无人机全栈分层结构图2、Flight Code固件部分上图中的Flight Code层,分为5个部分:车机层。一份代码通过编译配置,可以支…

行转列,动态列枚举分组

【问题】Hi All,Thanks for the wonderful support the community gets from this forum.I am trying to accomplish this in MongoDB. Didn’t think it could get this complicated. thought the problem was interesting to solve.I am trying to get a count of students b…

【库函数】-还在为操作字符串而烦恼,一篇带你解决这样的烦恼,这里详细介绍关于字符串操作的各个库函数,以及模拟实现

🎇作者:小树苗渴望变成参天大树 🎉作者宣言:认真写好每一篇博客 💥作者gitee:link 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! 字符函数和字符串函数💦前言&…

python函数定义中的/和*的作用

python函数定义中的/和*的作用 特殊参数https://docs.python.org/zh-cn/3/tutorial/controlflow.html#special-parameters 函数定义中的单独出现的/和*的作用 / 和 * 是可选的。 /用来指明他前面的函数形参必须使用位置参数。 *用来指明他后面的函数形参必须为关键字参数的…

儿童感染新冠后怎么用药?什么情况需要就医?

儿童感染新冠病毒的症状,病程有哪些特点?退烧药怎么选,怎么吃?孩子有什么症状需要立即就医?...01儿童感染新冠病毒的症状,病程有哪些特点?王泉:儿童是新冠病毒的易感人群。新冠病毒感…

Unity C#热更新框架ILRuntime接入

简介 ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新 官方教程 https://ourpalm.github.io/ILRunt…

揭开 TLS 握手的神秘面纱:它是什么以及它是如何工作的

传输层安全性 (TLS) 旨在为网络通信增加安全性。 就是浏览互联网时HTTP和HTTPS的区别。 使用 TLS 为客户端和服务器增加了额外的工作,但它有其好处,包括: 机密性:TLS 将流量包装在加密隧道中。 这使得窃听者不可能在到达目的地的…