KVM技术

2024-07-18

KVM技术(精选6篇)

KVM技术 篇1

摘要:利用KVM技术将电力调度信息网的数据传输到远程终端, 以实现下一级调度机构共享调度信息的目的, 这在下一级调度未建设专门的调度数据网之初, 通过该种技术既减少建设调度数据网络的投资, 同时实现监视所维护设备的运行情况。

关键词:KVM,电力调度,远程监控

包含电力调度生产管理信息的电力数据通信网在电力调度生产管理方面日渐发挥着举足轻重的作用。电力调度数据网属于电力二次安全防护体系中的一级防护网, 包括地区调度机构维护管理范围内容的电厂、变电站内所有设备的遥信、遥信、遥控、遥调等重要数据和信息, 这些数据信息决定电网运行的安全可靠运行。

内蒙古超高压供电局维护着蒙西电网15个500k V变电站和47条500k V线路, 截止2010年12月, 蒙西电网已经形成“三横四纵”的主网网架结构, 因此全面维护和管理好蒙西500k V蒙西电网的输变电设备确保电网安全可靠运行时超高压供电局重要的生产工作。

由于历史原因和工作性质, 超高压供电局至今没有自己独立的电力调度数据网, 随着蒙西电网的不断建设和发展, 建设超高压局电网监控系统势在必行, 但考虑初期系统建设投入资金大, 建设周期较长等困难, 在过渡时期, 通过利用先进的KVM技术, 将中调调度数据网传输至超高压终端, 实现电网设备的实时监控。

1 KVM技术介绍

k VM技术又称为电脑共享器, 它利用KVM多主机切换技术, 通过一组或几组键盘、鼠标、显示器在多台主机或服务器之间进行切换, 达到降低工程成本, 节约机房面积, 提高工作效率、方便几种管理的目的。

利用KVM技术可以实现以下功能:

1) 对于单个机房的管理, 可以用一套KVM设备来控制多个主机系统, 这样能显著提高机房的管理水平和降低成本费用。

2) 将操作用户和主机系统隔离开, 能保证主机系统的安全, 并通过有长距离传输能力的交换机和远程适配单元连接到远程用户, 这样可以大大提高主机系统的安全性。

3) 如果服务器数量较多, 通过使用数字交换机将机房数量不限的服务器连接起来, 在用户控制台采用windows时, 加上远程适配单位和相应的控制软件可以实现本地和远程多用户同步控制, 这样能达到对服务器实现本地和远程双重控制的目的。

4) 在大型系统的解决方案中, 可以使用具有模拟交换机矩阵功能的大型模块系统, 此时允许终端用户从一点同时访问数百台甚至数千台多平台服务器。从而实现从中心点通过KVM系统控制各地的服务器。

5) k VM技术也可以普及到家庭用户, 通过一个KVM s w itch, 可以将多台电脑, 带相应通讯接口的电视盒其他设备通过一套键盘、显示器、鼠标来控制, 提高了使用的方便性。

2 设计原理

首先把所有主机放置到中调机房进行统一管理和维护, 然后通过使用DEV系列数字延长控制系统来实现把主机的键盘、鼠标、显示器、接口延伸到操作台调度席位上, 最后通过2台显示器实现所有主机的远程查看、管理。考虑到调度服务器键鼠输出无USB口及所使用UNIX操作系统, 通过切换器SL108来实现PS2转USB键鼠信号调度元, 来实现操作各台主机。同时考虑到实际环境的需要, SL切换器系列产品的发送端均采用了标准1U, 可上机柜的设计, 更加方便与今后的安装、维护和管理的需要。由于部分主机需要远程打印等维护操作, 通过设计在整个系统中可使用分屏器结合集中运营管理平台搭建远程虚拟媒体功能实现打印等功能, 整个系统均考虑到将来扩容需求。

如图1实施方案图所示, 将中调信息网络的调度数据利用信号延长控制技术经中调交换机通过VLAN传输到超高压调度交换机, 利用中断DSVCenter管理平台通过WEB地址访问, 在多台中调主机上进行切换操作和打印, 这样使所有调度数据主机都能放置在机房内进行统一管理维护, 而调度台上将只有键盘、鼠标和显示器, 同时保证了调度主机系统的安全。

3 DSVCenter管理平台

DSVCe nte r管理平台为数据中心所有联网的物理和虚拟软硬件提供了一个安全、集中的管理解决方案。通过DSVCenter管理平台, 管理员可以在全球任何地点访问、诊断和修改任何网络资产, 且无需考虑操作系统或连接设备网络的运行状况或状态。通过DSVCenter管理平台, 可使数据中心和远程办公室的管理、访问和扩展变得更加容易, 并可提高它们的安全性。DSVCenter管理平台通过单个基于浏览器的安全界面管理整个数据中心环境, 包括:刀片式服务器和机柜、VMware虚拟架构, 包括虚拟中心、ESX服务器和虚拟机、嵌入式服务处理器、机架安装式服务器、高级控制台服务器、交换机、智能配电设备 (IP-DU) 、服务处理器管理设备。DSVCe nte r管理平台还可为每个用户提供无限制的自定义查看功能、图形报告创建功能和任务自动化工具, 以及无可比拟的网络资产整体查看功能。在调度远程监控中利用KVM的DSVCe nte r管理平台对中调信息网的数据信息进行管理、查询查看各种设备实时状态信息, 特别在电网出现异常情况时, 通过同时查看不同位置的变电站设备运行情况, 调度员能正确分析电网异常对设备运行带来的影响, 通过及时采取相关的应急措施, 能有效防止设备跳闸或其它故障的发生, 减小事故停电范围。

4 结论

本次调度远程监控功能的实现, 就是充分利用KVM技术特点, 即将机房内部操作台取消, 把KVM操作平台扩大到整个局域网系统内, 实现调度员在调度室访问中调信息网数据。采用KVM技术大大节省了超高压投资费用, 同时也保证了调度数据的安全性, 操作步骤简单。系统运行后, 设备实时监控方便, 数据可靠准确, 极大优化了超高压生产调度管理程序, 目前系统运行效果良好。

KVM技术 篇2

在十九世纪六十年代, IBM就在System 370系统中使用虚拟化技术使多个操作系统共享硬件资源。虚拟化技术发展的初期主要致力于CPU与内存的虚拟化, 注重于CPU及内存性能的提高。随着硬件技术的进步, 虚拟化技术在部件、系统及应用级都取得全面发展, Intel和AMD先后推出的一系列支持虚拟化技术的CPU, 在很大程度上提高了虚拟机环境下CPU和内存的性能。然而在外围设备虚拟化方面, I/O设备的性能却损失很大。I/O设备的利用率瓶颈成为了提高虚拟机使用性能的瓶颈。因此, 提高在虚拟机下的I/O设备性能成为一个至关重要的问题。

为此, Xen和VMWare分别提出了split I/O模型[1]和direct I/O模型[2]。split I/O模型将传统的I/O驱动框架分成两部分:一部分发起I/O访问请求, 部署在无I/O访问权限的客户域中;另一部分负责实际的I/O操作, 部署在具有I/O访问权限的特权域中。二者采取特定的基于共享内存的通信机制以提高客户域访问I/O设备的性能及安全性。direct I/O模型将设备驱动部署在VMM (Virtual machine monitor) 中, 客户操作系统 (GOS) 通过VMM直接访问I/O设备, 可以获得更好的服务质量。split I/O模型及direct I/O模型的推出在很大程度上提高了I/O设备性能和共享能力。

为了进一步提高设备的I/O性能, 近年来VMWare等公司又相继提出Passthrough I/O模型[3]。Passthrough I/O模型将设备独占式地分配给指定的客户域, 使该域具有最高的I/O访问性能, 这样做的优点是:由于不需要模拟设备进行请求转换, 所以访问速度高;GOS能根据最新硬件, 加载对应驱动, 可充分发挥新硬件的功能。Passthrough I/O在最大程度上提高了I/O性能, 但这却是以牺牲设备共享能力为代价的。针对这一问题, 本文以虚拟化技术为基础, 结合Linux设备热插拔技术及Intel VT-d[4]技术, 提出并实现了一种基于KVM的物理资源动态分配与管理技术, 在不降低Passthrough I/O设备访问性能的前提下, 仍然能够满足设备的共享能力。

1Linux操作系统的热插拔处理

由Intel、Microsoft及 Toshiba共同开发而成的高级配置与电源管理接口ACPI (Advance Configuration and Power Interface Specification) 能使操作系统依照一定的方式管理用电情况, 处理系统硬件产生的热插拔事件, 让操作系统从用户的角度上直接支配即插即用设备, 不同于以往的基于 BIOS 的管理方式。

ACPI对系统平台、外插板卡硬件都有特定的要求:系统集成热插拔控制集成电路和PCI插槽的逆电流控制器, 这样在系统启动过程中可以自动检测PCI插槽上是否有设备, 当探测到PCI插槽上无设备时, 能够自动将该插槽断电。目前南桥芯片中都集成了ACPI协议。

以插入设备为例, 用户将一块PCI热插拔设备插入到主板的插槽后, 从南桥芯片中的热插拔控制器感应到有设备插入, 到插入的设备可以正常使用操作系统所经历的一系列过程如下:

(1) 设备插入后, 南桥热插拔控制器生成GPE事件 (通用事件) 通知ACPI驱动层。

(2) ACPI核心控制芯片组根据GPE事件产生一个系统控制中断, 通知操作系统处理相应的ACPI事件。

(3) 硬件会清除这个GPE事件的响应位, 并且运行对应GPE位在ACPI名字空间中的控制方法。

(4) 控制方法将根据热插拔控制器的相应控制位来决定当前事件是否为一个设备插入事件, 以及哪个插槽有设备插入。

(5) 控制方法将向ACPI驱动层发出通知, 表示当前PCI总线上的某一个插槽有设备插入。

(6) ACPI驱动层运行相应方法获得第 (5) 步所知的设备的当前状态。

(7) ACPI驱动层通知PCI层对新插入的设备进行枚举。

(8) PCI层读入相关设备 (PCI功能模块) 的配置信息:对该PCI卡上所有设备根据设备制造厂商获得相关的驱动程序;使能PCI卡上所有的功能模块;ACPI驱动层根据PCI设备的电源管理规范, 使能PCI设备上的电源管理状态寄存器, 使PCI设备上电, 激活设备。

(9) 系统正常运行/访问设备。

2KVM的设备热插拔

KVM是2005年出现的开源全虚拟化技术, 它的代码量相对较小, 使用简单, 并且现在已经被Linux核心组织放入到Linux内核里面, 作为一个内核模块而存在, 这样它也可以使用Linux调度器和内存管理功能。在Linux自身的资源管理和CPU硬件虚拟化技术的支持下, 它可以高效地支持多个GOS。

2.1设备热插拔初始化

KVM经由改写的Qemu[5]程序来模拟部分硬件资源和I/O设备的。GOS启动的同时, 创建其相应的Qemu进程, 初始化Qemu管理器。Qemu管理器是用户态的Qemu进程的一个子线程, 用于在GOS启动后动态地对GOS系统硬件进行管理。PCI设备热插拔的初始化是在Qemu管理器中进行的。

KVM的PCI设备热插拔初始化过程如下:

(1) 查找设备所要挂接的总线。

(2) 将PCI设备的设备信息添加到所要挂接总线上的模拟设备队列中。

(3) 使用Qemu标准总线挂接方法挂接设备, 包括为真实设备分配在虚拟机中将要使用的功能号;分配将要在虚拟机中使用的中断索引号及中断号等。

(4) 通过HOS的sysfs获得设备的真实配置信息, 保存在GOS对应的设备配置空间中。

(5) 向Qemu注册GOS所关心的I/O内存及I/O端口, 设置中断路径。

(6) 设置由KVM来进行设备的IOMMU及捕获设备产生的中断。

(7) 激活设备, 相当于给设备所插入的“插槽”上电。

(8) KVM向GOS对应的虚拟中断控制器中写入一个“产生一个设备插入事件”的中断。

(9) 转入到章节1中的操作系统对热插拔的处理过程中。

将设备从GOS中删除, 首先将设备从所挂接的总线上删除, 其次将设备所插入的“插槽”断电, 最后KVM向GOS中写入一个“产生一个设备拔出事件”的中断。

2.2中断写入

由于Qemu模拟的PCI总线不具备PCI热插拔控制器, 所以在添加 (或删除) 一个设备成功后, KVM需要向GOS的虚拟中断控制器中写入一个中断, 通知ACPI核心芯片组插入 (或拔出) 了一个设备及设备插入了哪个PCI插槽 (设备从哪个插槽中拔出) , 以代替热插拔控制器对PCI插槽的扫描。

最近, 英特尔提出了新的总线及接口标准—PCI-Express。作为下一代的总线标准, PCI-Express具有很多PCI总线所不具备的功能, 如它定义了标准的热插拔控制器和热插拔规范等。随着虚拟化技术的进步, 未来可能出现模拟的PCI-Express总线。使用这种总线, 在设备热插拔过程中GOS可以自我感知设备的插入与拔出, 而不再需要KVM向GOS注入中断。

3物理资源动态分配与管理框架的设计

针对Passthrough I/O不具备设备共享能力的缺陷, 本文设计并实现了物理资源动态分配与管理框架。该框架主要应用了物理资源动态分配与管理技术, 基于共享内存及信号机制实现物理资源管理模块与虚拟机管理进程Qemu之间的通信, 利用hypercall机制实现GOS与HOS之间的通信, 实现设备在多个GOS之间的分时共享, 在不降低Passthrough I/O设备访问性能的前提下, 仍然能够满足设备的共享能力。物理资源动态分配与管理技术的设计思想是允许每个GOS向管理器申请所需要的设备, 在管理器的协调下, 每个GOS可以分时独立的使用物理PCI设备, 来进行高效的I/O访问。

在图1中, 物理设备管理模块 (本框架下主要指PCI设备) 的作用是收集每个GOS对设备的请求信息, 然后根据这些信息, 设备管理员在多个GOS之间进行有限设备的分配。资源请求模块是运行在GOS中的PCI设备请求程序, 用户通过资源请求模块向管理器申请所需要的设备。每个GOS都有一个用户态的Qemu进程与其相对应。

用户在GOS中运行资源请求模块选择所要申请的设备类型, 根据预先设计好的hypercall机制, 将这一请求信息传送到内核模块KVM中, KVM对请求信息做简单的封装处理后将其传递到物理设备管理模块中保存并显示出来;设备管理员分析多个GOS的请求信息, 然后使用物理设备管理模块选择将设备分配给合适的GOS。在管理员进行设备分配时, 可能设备正在被某个GOS所使用, 那么物理设备管理模块需要先将这个设备从相应的GOS中删除, 然后再添加到另一个GOS中。

如图1所示, 某一时刻管理模块要将GOS1所拥有的设备分配给GOS2, 管理模块所要做的操作如下:

物理设备管理模块通知GOS1删除设备 物理设备管理模块将保存的设备信息写入共享内存中, 根据GOS1的进程号向GOS1对应的Qemu进程发送信号, 通知Qemu进程将设备删除;Qemu进程根据从共享内存中取出的数据进行相应的操作删除设备;设备成功删除后, Qemu进程将删除的设备信息通知KVM, KVM向GOS1对应的虚拟中断控制器中写入一个“产生设备拔出事件”的中断, 进而GOS1处理这个热插拔事件;上述操作完成后, Qemu进程发送信号通知物理设备管理模块设备成功释放, 物理设备管理模块修改自己保存的对应设备信息。

物理设备管理模块通知GOS2添加设备 物理设备管理模块将设备的总线号、设备号等信息写入到共享内存并向GOS2对应的Qemu进程发送信号, 通知Qemu进程添加设备;Qemu进程根据从共享内存中取出的数据进行相应的操作添加设备 (见章节2) ;设备成功添加后, KVM向GOS2对应的虚拟中断控制器写入一个“产生设备插入事件”的中断, 通知GOS2进行相应处理;上述操作完成后, Qemu进程将设备所插入的槽号及所挂接的设备总线等信息写入共享内存;物理设备管理模块根据从共享内存中取出的信息更新自己保存的设备信息。

4实现与测试

考虑到物理资源动态分配与管理技术所需要的设备热插拔技术及其更广泛的应用, 本文选择在支持VT-d的机器上实现物理资源动态分配与管理框架, KVM的版本选择KVM-85这个比较稳定的版本。物理资源动态分配与管理框架中的物理设备管理模块实现为一个设备管理器, 资源请求模块实现为一个GOS中的用户态程序。

在管理器中, 实现设备请求结构体, 保存GOS对设备的请求信息, 如发起请求的GOS进程号、请求发生时的系统时间及申请设备的类型等。GOS的进程号从GOS对应的进程控制块中获得;系统时间通过系统函数do_gettimeofday () 来获得。

在管理器中, 实现设备分配结构体, 保存PCI设备的信息, 如设备的配置空间信息、设备所属的GOS、设备插入GOS的哪个插槽等。设备的配置空间信息包括设备总线号、设备号及功能号等;设备所属的GOS的进程号在设备分配成功时从GOS的进程控制块中获得;设备所在的插槽在设备分配成功后从共享内存中获得。

物理资源动态分配与管理框架主要考虑设备请求过程及设备分配过程两方面的实现。

4.1设备请求过程

设备请求过程的实质就是GOS与HOS通信的过程。GOS与HOS通信的方式有两种, 另一种是使用hypercall的方式, 一种是发出I/O请求的方式。hypercall是GOS主动发起的到VMM的陷入, 在KVM中它是通过虚拟化指令vmcall模拟实现的;I/O请求则是当GOS要访问设备时, 会触发处理器异常, 从而进入到HOS。这里选择用hypercall的方式实现GOS到HOS信息的传递。

如图2所示, 用户向管理器申请设备, GOS调用hypercall函数将申请设备的类型信息传递给KVM;KVM调用标准的vmcall接收函数处理这个hypercall后, 调用预先定义好的函数将申请设备的类型信息及申请设备的GOS的进程号传递给管理器。管理器将接收到的数据保存在设备请求结构体中, 并记录当前系统时间。最后, 管理器将GOS对设备的请求信息通知设备管理员。

4.2设备分配过程

在将设备分配给目标GOS时, 管理器首先要判断设备是否已经分配给其他的GOS。判断设备分配结构体所保存的GOS的进程号:如果其值为0, 说明设备没有进行分配, 可以直接分配;如果其值为正值, 则说明设备已经分配给其他的GOS, 需要先将设备从所属GOS中删除, 然后再添加到目标GOS中。由于设备的删除过程与设备的添加过程类似, 所以下面以设备的添加过程为例来说明设备的分配过程。

如图3所示, 管理器将设备的信息写入到共享内存中, 然后调用kill函数发送信号SIGRTMAX通知目标GOS对应的Qemu进程。Qemu进程调用对应的信号处理函数将共享内存中的设备信息取出并写入到缓冲区中, 然后调用Qemu标准的命令处理函数进行设备添加操作。添加设备完成后, Qemu进程将系统分配给设备的插槽号和总线号写入共享内存, 发信号通知管理器根据这些值更新设备分配结构体。管理器判断GOS分配给设备的插槽号, 如果是非正值, 说明设备的分配失败;如果是正值, 那么管理器更新设备分配结构体。

4.3测试结果

本文在下面这样一个场景中对物理资源动态分配与管理框架进行测试:GOS1对外提供HTTP服务, 将网卡分配给它以实现高速的网络访问。在一段时间内, GOS1所在的主机负载过高, 需要将GOS1迁移到局域网中的其他主机上运行以平衡负载。此时在GOS2上启动相应的HTTP服务, 将网卡从GOS1中删除, 然后分配给GOS2, 由GOS2继续对外提供服务。在进行设备热插拔过程中, GOS是无法对外提供服务的, 这里使用ping命令测量在热插拔过程中的ICMP报文的丢失率。

硬件环境 一台支持VT-d功能基于X86体系结构的PC机, CPU:3.33GHz, 内存:2G, CPU和主存之间有64K的高速缓存;一台基于X86体系结构的PC机, 两台计算机之间由100Mb/s的以太网LAN相连接。

软件环境 支持VT-d的PC机:HOS:Kylin Linux+KVM-85, GOS1:Kylin Linux, GOS2:Fedora 9 Linux;基于X86的PC机:Kylin Linux。

本文设定ping命令每10毫秒发送一个ICMP报文, 10秒钟后停止发送, 在这10秒内将网卡从GOS1分配到GOS2中。经过二十次的反复测试计算平均值, ICMP报文的丢失率为39%, 也就是说物理资源分配过程耗时大约为4秒, 这段时间包括网卡热插拔分配的时间及GOS对网卡进行配置的时间。相较于长时间及高性能的网络服务要求, 应用物理资源动态分配与管理框架所造成的性能损失还是很低的。

5结论

本文首先介绍Linux的热插拔处理过程, 然后分析KVM的热插拔实现, 最后基于Passthrough I/O模型设计了物理资源动态分配管理框架并在支持VT-d的机器上将其实现出来。物理资源动态分配管理框架支持多个虚拟机动态分时的使用PCI设备, 测试表明它提高了Passthrough I/O模型的共享能力。但是本框架也存在一定的不足:设备从GOS中删除时, 没有保存当前GOS对设备的使用状态, 当设备再一次分配给该GOS时, 是一个全新的状态, 这对用户的使用来说是非常不便的, 这点不足也是我们以后改进的方向。

参考文献

[1] Barham P, Dargovc B, Frase K, et al. Xen and the art of virtualization[C]//proceedings of 19th ACM Symposium on Operating Systems Principles, October, 2003.

[2] Intel Corporation. Intel virtualization technology for direct I/O[EB/OL].Intel technology Journal 10 (03) . September, 2008.

[3]Liu Jx, Huang W, Abali B, et al.High performance vmm-bypass i/oin virtual machines[C]//proceedings of the USENIX Annual Techni-cal Conference, May, 2006.

[4]Adams K, Agesen O.A comparison of software and hardware tech-niques for x86 virtualization[C]//proceedings of the 12thinternationalconference on architectural support for programming languages and op-erating system, ACM, 2006.

KVM技术 篇3

1 屏幕Clone和KVM技术分析

1.1 屏幕Clone技术

屏幕Clone技术是指将1台主机的屏幕, 同时显示在2台、4台、8台甚至更多的显示器上且每个显示器显示的内容均相同, 也称为屏幕复制或屏幕镜像技术。最简单的例子就是将一台笔记本电脑接到投影仪上, 会在笔记本电脑的显示器和投影仪中显示相同的内容。

目前, 绝大部分显卡均支持屏幕Clone技术。例如, NVIDIA公司在Quadro NVS 290、Quadro NVS 300、Quadro NVS 310、Quadro NVS 420等型号显卡中加入了Twin View的双显示器输出技术中就包括屏幕Clone模式。

屏幕Clone技术目前是一种成熟并广泛应用的技术, 只要是支持双显示输出的显卡经过简单的配置即可实现屏幕的Clone。

目前在自动化系统 (使用BARCO PVS6700显卡) 、电子进程单系统 (使用NVIDIANVS 290显卡) 中均通过屏幕Clone技术, 为用户提供了用户终端的同步分屏显示, 既满足了管制用户的需求又节约了硬件成本。

1.2 KVM技术

KVM是键盘 (Keyboard) 、显示器 (Video) 、鼠标 (Mouse) 的缩写。KVM技术的核心思想是通过适当的键盘、鼠标和显示器的配置, 实现系统和网络的集中管理, 提高系统管理员的工作效率, 降低网络工程和服务器系统的总体成本。

利用KVM多主机切换系统, 即用一套或数套KVM在多个不同操作系统的多台主机之间切换, 就可以实现使用一套外设去访问和操作一台以上主机的功能。

2 基于显示Clone和KVM技术的空管设备运维辅助系统

通过上述的分析可知, 屏幕Clone和KVM技术目前均已是成熟的技术且得到了广泛的应用, 不会为设备带来额外的故障点和运行风险。本文根据实际运行的需要, 构建了一套可有效缓解运行风险的空管设备运维辅助系统。该系统可弥补空管自动化、航管信息、数字空管、电子进程单等系统监控的不足, 在运行维护、设备排故、应急处置等方面发挥重要的作用。

2.1 系统基本架构

基于屏幕Clone和KVM技术的空管设备运维系统主要分为两大模块, 为此配置了两台运维终端, 一台主要是引接设备机房内服务器;另外一台引接管制大厅的各席位终端。基本的硬件条件为:1) 被监控主机具有支持双屏幕输出的显卡;2) 支持被监控主机分辨率的KVM延长设备;3) 支持被监控主机分辨率的KVM交换机;系统的基本架构 (以设备的地理位置为分类准则) 。

2.2 系统的软件配置

该系统利用成熟的设备, 不需要进行软件编程, 减少了开发成本。唯一的软件设置部分就是将显卡配置为双屏幕输出的Clone模式。下面给出了NVIDIA NVS290和BARCO PVS6700两种显卡在Solaris下的配置方法。

2.2.1 NVIDIA NVS 290配置方法

在成功安装完显卡驱动程序后, 在终端中进入/usr/bin目录, 打开nvidia-settings设置程序, 弹出图1所示界面, 在界面中点击configure后选择twinview, 确认后选择save to X configuration file。

然后打开/etc/X11下Xorg.conf, 按需要修改分辨率后, 保存并重起X server即可。下面给出了修改后的Xorg.conf文件的一部分, 其中黑色加粗部分为修改内容。

2.2.2 BARCO PVS6700配置方法

成功安装好BARCO PVS6700显卡驱动后, 在/usr/BARCO_X/lib/X11/data下找到pcie6700D_2048x2048.dat并打开, 具体内容如下, 其中黑色字体的位置为增加的信息。

对于BARCO显卡还需要修改/etc/rc3.d/下的openwin, 打开后openwin文件后, 在文件末找到一行:${SERVER—/usr/BARCO_X/bin/X}—cf pvs6600D_2048x2048–ac

其中, pvs6600D_2048x2048为调用的驱动文件, 将pvs6600D_2048x2048修改为pcie6700D_2048x2048即可。

2.3 系统的工作模式

系统包含两种工作模式:一是自动模式:系统自动轮询, 切换显示各个终端屏幕信息;二是手动模式:系统可手动选择需要监控或维护的终端屏幕。在日常维护时, 可实现远程开关机操作;在管制申告设备故障时, 可直接切换到该屏幕下, 实时了解设备的工作状态, 提高故障排查和应急处置的效率。

3 结束语

本文通过对屏幕Clone和KVM技术的分析, 阐述了如何利用屏幕Clone和KVM技术构建一套空管设备运维辅助系统, 并以NVIDIA NVS 290和BARCO PVS6700两种显卡为例, 给出了具体的配置方法。本系统的实施可有效弥补空管自动化、航管信息、数字空管、电子进程单等系统监控的不足, 在运行维护、设备排故、应急处置等方面发挥重要的作用。

参考文献

[1]陈佳君, 李兴来, 宋豪.利用KVM集中远程管控系统实现设备安全性[J].硅谷, 2011.

开源虚拟化:KVM 篇4

为什么那么多的大公司对KVM感兴趣?其中最明显并且最重要的因素就是KVM是Linux内核的一部分。这个轻量级的虚拟化管理程序模块能直接与硬件交互, 不需要修改虚拟化操作系统, 因此性能更好, 并且补丁包能够和Linux内核兼容, 轻松控制虚拟化进程, 同时减轻管理负担。

此外, KVM的发展中也有面临的难题:技术不成熟。KVM的出现不过三四年时间, 在可用资源、平台支持、管理工具、实施经验方面当然不能与出现八年之久的Xen相比。虽然目前KVM还缺少某些关键特性, 例如存储的动态迁移, 但是在后续的版本中都会开发出来。

性能方面, KVM在逐渐显示其威力。不久前的SPECvirt虚拟化对照基准测试中, 红帽企业Linux 6.1、其内嵌的KVM hypervisor以及惠普ProLiant DL980 G7服务器三者结合, 创造了新的成绩———最佳的虚拟化性能和最多的计算区块数量, 并且六台虚拟机能同时运行一个应用程序。

KVM的未来

虽然只是新生技术, 但是由于其性能和实施的简易性, 加上Linux企业市场中份额最大的红帽不遗余力的推广开发, KVM将会持续成长壮大。

KVM技术 篇5

近年来随着市场经济的飞速发展, 视频监控系统在银行、路桥监控、水利、航运交管、大型企业、治安、消防、小区安防、可视对讲、智能小区信息发布等领域中发挥着越来越重要的作用。KVM与OSD的结合, 利用KVM主机切换系统在多个不同操作系统的多台主机之间切换, 以实现系统和网络的安全性, 可管理性, 提高管理人员的工作效率、节约机房面积, 降低网络服务器系统的总体成本面, 同时向用户提供友好的人机界面。

1. 概述

(1) 功能概述

可以在本地监视器或者远端监视器上, 实现菜单叠加, 以实现可视化操作, 以窗口的形式表现, 更加人性化;功能上, 可以支持多个切换器叠加以及控制更多主机或者服务器, 有很好的扩展性, 同时可以设定自动化扫描以监控服务器运行状态, 另外可以设置操作密码, 加强安全管理:

●OSD字符叠加功能, 可在图片上直接叠加字符;

●兼容NTSC制式和PAL制式;

●内部集成制表符, 支持叠加表格信息;

●字符显示、清屏、闪烁等操作仅由七个指令就可完成, 同时提供所有操作函数;

●实现多主机的切换, 多功能, 人性化的监控功能。

同时, 该方案中设计了很多接口, 比如键盘输入、鼠标输入、视频输入、视频信号输出等等, 这些应用极大的发挥了FPGA的灵活性, 以及其在接口领域强大的性能。结合广州周立功单片机发展有限公司的TFT方案控制, 为您量身打造低成本、高性能、高安全性的KVM-OSD方案。

(2) 系统框图

K V M-O S D方案的系统框图如所示, 主要包含视频输入、OSD叠加输出、人机输入手段等部分功能。

2. 各功能模块介绍

本文介绍的KVM-OSD从技术上可以分为3个部分来介绍:一是TFT/VGA显示控制;二是OSD字符叠加;三是多选一切换矩阵的控制。

(1) TFT/VGA显示控制

广州周立功单片机发展有限公司推出的基于Actel FPGA的TFT控制器, 大部分具有TFT/VGA双显的功能, 本方案中使用A3P060驱动器, 驱动器外部使用SDM作为显示缓存, 可以很好的驱动大分辨率的显示终端。

(2) OSD字符叠加

OSD模块的组成如图4所示。OSD模块主要由FPGA、SRAM、FLASH和行场同步分离器件组成。其中, 主控器件采用Actel公司第三代Flash架构、容量为6万门的FPGA。采用FPGA作为主控器件具有良好的灵活性, 可根据用户需求来定制通信接口、视频叠加的通道数以及字体大小。同时, Acte FPGA具有的固件免疫特性使得系统可以工作在户外、工业控制场合以及较恶劣的环境中。

在电视系统中, 为了能够正确地重现图像, 要求收端与发端同步扫描。只要扫描频率相同、起始相位相同, 收端就可以重现发端图像, 因此需要在图像信号中加入行场同步信号保证收端和发端能够同步。要在视频上叠加字符就必需要获得与发端同频同相的同步信号, 因此需要行场同步分离器件将发送端的同步信号分离出来, 摄像头输出的视频信号经过行、场同步分离器件分离出行同步信号和场同步信号。FPGA根据行同步信号和场同步信号确定屏幕坐标, 根据M C U发送数据在屏幕上指定的坐标处叠加字符信息或执行清屏、闪烁等动作。

F l a s h和S R A M同样也是OSD中重要的组成部份。F l a s h用于存储字库, 字库中存储字符点阵的多少决定了所能叠加字符的数量。采用SPI接口的Flash操作时序简单, 同时又能节省FPGA的I/O资源。当需要更换字库时可将字库直接下载到Flash中或直接替换存储有字库信息的Flash器件即可, 这样可以满足不同应用和成本上的需求, 扩展性好。

SRAM作为显示缓存, 存储着需要在视频上叠加的字符信息。当FPGA内部行、场计数器计数到指定的行和列时输出SRAM中的数据流就可以在屏幕上显示相应的字符信息。SM同样也可根据不同的应用需求选择不同的容量用以满足不同应用和成本上的需求。

(3) KVM切换器

本文KVM切换器的主要目的是让统一组KVM操作台可以连接到许多台设备。这可以让使用者从操作台访问及控制许多台计算机或服务器。

由于企业服务器具有关键任务的角色, 因此通常会放在称为数据中心或服务器机房的安全环境里。服务器机房可能是小型的柜子或房间, 也可能是很大的空间, 其中含有几百台或甚至几千台服务器。这些通常称为数据中心。数据中心的设计是要保护里面的服务器, 并且提供非常可靠的电源与发电机;有高度的实体保全, 还要有高阶的冷热通风与空调 (HVAC) 系统。

KVM切换器的主要目的是要让一组KVM操作台可以连接到许多个设备, 让使用者能够选择性地从自己的KVM操作台控制一个或另一个设备。

本文的KVM-OSD方案, 侧重于将OSD和TFT/VGA显示控制结合在一起。实现功能丰富、性能优越、控制简单的监控系统。由于采用了广州周立功单片机发展有限公司业已成熟的TFT控制方案, 本文的KVM-OSD可以随意的在全彩图片上叠加字符信息, 具有很广泛的市场应用。

3. 市场应用

KVM-OSD的方案, 可以应用于互联网数据中心、信息控制中心、电信寻呼系统、证券/期货交易系统、银行数据中心、工业控制环境、教学环境、测试中心、视频监控、电厂监控、机房管理、其它多主机环境等的监控场合。

4. 小结

KVM技术 篇6

目前, 云计算平台主要采用服务器虚拟化技术为用户提供弹性的IT基础设施服务。KVM (Kernel-based Virtual Machine) 作为一个主流的开源虚拟化平台, 其内部基于Pre-copy算法提供了虚拟机实时迁移的功能, 可以实现在不干扰虚拟机正常业务的情况下将正在运行的虚拟机从一台物理主机移动到另一台物理主机上, 达到数据中心资源灵活配置及管理的目的。虽然KVM提供的实时迁移算法能在虚拟机业务负载较轻时运行良好, 但是当虚拟机业务负载较重时会出现重复传输高脏页率内存页面的问题, 影响了实时迁移性能。对此, 本文在KVM的实时迁移算法中引入一个高脏页率页面的识别机制, 通过综合考虑内存页面访问记录的时近性和频度, 识别出高脏页率的页面, 进而避免对这些页面的重复传输。

二、KVM虚拟机及实时迁移算法

2.1 KVM虚拟机

KVM (基于内核的虚拟机) 是一款目前主流的开源虚拟机平台。从整体架构上看, 它是一种非常轻量级的虚拟化解决方案, 借助现有的虚拟化技术和操作系统内核实现了一个高性能的虚拟机管理器。KVM平台架构主要包括两个部分, 一个是运行在内核空间的KVM模块, 一个是运行在用户空间的QEMU应用程序:KVM模块实现为一个Linux内核模块, 采用硬件辅助虚拟化技术完成底层硬件的虚拟化功能。QEMU应用程序利用现有的平台模拟器软件QEMU实现了一个针对KVM的版本KVM-QEMU, 运行在Linux操作系统的用户空间, 提供KVM虚拟化平台的对外接口及部分I/O虚拟化功能。从整体上看, KVM平台引入了一个非常薄的虚拟化层。

2.2 实时迁移算法

KVM采用的虚拟机实时迁移算法是Pre-copy, 其迁移对象主要包括设备状态数据及内存, 运行流程如下:

1. 开始实时迁移, 首先将虚拟机的所有内存页面传输过去;

2. 进入一个迭代拷贝阶段, 每个拷贝轮都传输在上一轮中产生的内存脏页;

3.若剩余脏页小于一定值或迭代次数达到一定次数, 则进入步骤4, 否则继续步骤2;

4. 进入一个停机拷贝阶段, 在源宿主机上暂停虚拟机运行, 然后将虚拟机的设备状态数据连同剩余脏页一齐传输到目标宿主机上;

5. 在目标宿主机上恢复虚拟机运行, 实时迁移结束。

三、KVM下的实时迁移算法优化方案

KVM中进行虚拟机实时迁移时, 当内存脏页率较高时, Pre-copy算法的迭代拷贝阶段会出现重复传输高脏页率页面的情况。对此, 本文在Pre-copy中引入了一个高脏页率内存页面的识别机制。

3.1 高脏页率页面识别机制

本文提出的高脏页率页面识别机制, 首先利用KVM提供的内存脏页跟踪功能对内存页面在一段时间内的写操作情况按时间次序进行记录, 形成页面的访问时间序列, 然后根据该访问时间序列, 综合考虑页面访问的时近性和频度, 识别出实时迁移过程中脏页率较高的页面。

具体识别过程:

对于某个内存页面p, 令其统计出的访问时间序列长度为n, 并对其中最近的[n /2] 次记录中的写操作次数求和, 设为S。设定一个脏页率阈值M, 若S ≥ M, 则判定p为高脏页率页面。

3.2 KVM中优化的实时迁移算法

在引入高脏页率页面识别机制后, KVM中优化后的实时迁移算法运行如下:

1. 实时迁移开始, 首先在一定时间内进行内存脏页跟踪, 形成页面的访问记录序列;

2. 传输所有内存页面;

3. 进入迭代拷贝阶段, 当需要传输某个页面时, 首先对其进行脏页识别, 若识别为高脏页率页面则本轮不传输, 否则传输;

4. 按Pre-copy的标准流程继续执行, 直至迁移结束。

四、结语

本文针对KVM中实时迁移算法存在的高脏页率内存页面的重传问题, 通过综合考虑页面历史访问记录的时近性和频度, 引入一个高脏页率页面的有效识别机制对标准的实时迁移算法进行优化, 提高其实际运行性能。

参考文献

[1]KVM[EB/OL].http://www.linux-kvm.org.

[2]袁野, 赵海燕, 曹健, 等.虚拟机内存迁移技术研究[J].小型微型计算机系统, 2014, 35 (2) :412-418.

上一篇:发挥中国的担当论文下一篇:高职英语教学的方法