CN108632360A - 一种虚拟云终端和虚拟云终端服务器 - Google Patents
一种虚拟云终端和虚拟云终端服务器 Download PDFInfo
- Publication number
- CN108632360A CN108632360A CN201810326087.XA CN201810326087A CN108632360A CN 108632360 A CN108632360 A CN 108632360A CN 201810326087 A CN201810326087 A CN 201810326087A CN 108632360 A CN108632360 A CN 108632360A
- Authority
- CN
- China
- Prior art keywords
- virtual
- cloud
- cloud terminal
- virtual cloud
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种虚拟云终端和虚拟云终端服务器,所述虚拟云终端包括内核模块和应用代理模块,其中:所述内核模块采用统一的可扩展固件接口UEFI启动模式引导操作系统启动,支持全局唯一标识磁盘分区表GPT磁盘驱动,并集成通用输入/输出设备虚拟化程序以支持自身与自身所属物理主机间的数据传输;所述操作系统为麦金塔Mac操作系统;所述应用代理模块包括用于接收并执行虚拟云终端服务器的管理指令的管理代理。本申请通过在虚拟云终端的内核模块支持UEFI启动模式和GPT磁盘引导分区,并集成通用输入/输出设备虚拟化程序,提供了虚拟的Mac云桌面系统运行环境,从而实现了方便、快捷、高性价比的Mac云桌面系统。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种虚拟云终端和虚拟云终端服务器。
背景技术
随着互联网技术的发展,云计算和云存储正越来越受到信息技术(InformationTechnology,IT)业界的关注,其应用也逐渐推广,获得了广泛的好评。它们通过分布式存储和虚拟化等技术,将服务器、存储、网络等物理资源虚拟成易扩展、可按需分配的弹性虚拟资源池。
现有技术中,麦金塔(Mac)操作系统(Operation System,OS)被认为是世界上最先进的操作系统。然而,它与苹果公司的移动操作系统(IOS)一并被苹果公司强制安装在固定的私有硬件上。该机型设备基于PowerPC架构的中央处理器(Central Processing Unit,CPU)和伯克利软件套件(Berkeley Software Distribution,BSD)系统开发而成,属于类UNIX操作系统。苹果公司完美的优化了软硬件架构,并设计出很多适用于开发者和图形工作者的程序工具,很多使用者被UNIX哲学和设备的美学所吸引,同时,又折服于该设备的稳定和性能。但该机器的销售价格一直很高,使很多开发者望而却步,企业大规模采购时成本高昂。
发明内容
为了解决上述技术问题,本发明提供了一种虚拟云终端和虚拟云终端服务器,能够实现不依赖固定硬件的Mac云桌面系统。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种虚拟云终端,包括内核模块和应用代理模块,其中:
所述内核模块采用统一的可扩展固件接口UEFI启动模式引导操作系统启动,支持全局唯一标识磁盘分区表GPT磁盘驱动,并集成通用输入/输出设备虚拟化程序以支持自身与自身所属物理主机间的数据传输;所述操作系统为麦金塔Mac操作系统;
所述应用代理模块包括用于接收并执行虚拟云终端服务器的管理指令的管理代理。
进一步地,所述通用输入/输出设备虚拟化程序为虚拟输入输出VIRTIO。
进一步地,所述应用代理模块还包括监控代理,其中:
所述监控代理,用于根据虚拟云终端服务器设置的监控规则,收集所述虚拟云终端的监控数据,并发送给虚拟云终端服务器。
本发明实施例还提供了一种虚拟云终端服务器,包括云管理单元、云计算单元、云网络单元和云存储单元,其中:
云管理单元,用于创建并管理虚拟云终端,所述云管理单元所在物理主机内核集成通用输入/输出设备虚拟化程序,以支持云管理单元与所述虚拟云终端不经过网络直接通信;
云计算单元,用于为所述虚拟云终端提供物理计算资源;
云网络单元,用于为所述虚拟云终端提供虚拟网卡,并实现虚拟网络;
云存储单元,用于为所述虚拟云终端提供分布式对象存储功能。
进一步地,所述虚拟云终端的操作系统为麦金塔Mac操作系统;
所述云管理单元所在物理主机内核支持统一的可扩展固件接口UEFI启动模式和全局唯一标识磁盘分区表GPT磁盘引导分区。
进一步地,所述虚拟云终端服务器还包括云智能终端单元,其中:
云智能终端单元,用于通过远程协议接收远程终端设备的控制信号,并通过图形处理器GPU将所述控制信号转化为所述虚拟云终端的图像,并将所述图像传输至远程终端设备。
进一步地,所述云管理单元对所述虚拟云终端的管理包括以下任意一项或其任意组合:
删除所述虚拟云终端、暂停所述虚拟云终端、硬重启所述虚拟云终端、对所述虚拟云终端进行热迁移、对所述虚拟云终端进行冷迁移、添加网卡接口、删除网卡接口、挂载磁盘设备或卸载磁盘设备。
进一步地,所述云管理单元还用于:
发送管理指令至所述虚拟云终端,所述管理指令包括以下任意一项或其任意组合:
设置密码、修改主机名、软重启所述虚拟云终端、配置管理代理、配置监控代理。
进一步地,各个所述云管理单元之间形成分布式环境,并提供集群心跳监测机制;
所述集群心跳监测机制用于,当检测到发生故障的所述云管理单元时,将运行在发生故障的所述云管理单元上的虚拟云终端迁移到其它没有发生故障的所述云管理单元上。
进一步地,所述虚拟云终端服务器还包括云监控单元,其中:
所述云监控单元,用于接收并处理所述虚拟云终端发送的监控数据。
进一步地,所述虚拟云终端服务器还包括云镜像单元,其中:
所述云镜像单元,用于为所述虚拟云终端提供镜像注册和镜像管理功能。
进一步地,在以上任一所述的虚拟云终端服务器中,由所述云网络单元实现的所述虚拟网络,通过软件定义网络SDN控制器,提供流量控制、带宽监控和端口镜像功能。
本发明的技术方案,具有如下有益效果:
本发明提供的虚拟云终端和虚拟云终端服务器,通过在虚拟云终端的内核模块支持UEFI启动模式和GPT磁盘引导分区,并集成通用输入/输出设备虚拟化程序,提供了虚拟的Mac云桌面系统运行环境,从而实现了方便、快捷、高性价比的Mac云桌面系统。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明第一实施例的一种虚拟云终端服务器的结构示意图;
图2为本发明第二实施例的一种虚拟云终端服务器的结构示意图;
图3为本发明第三实施例的一种虚拟云终端服务器的结构示意图;
图4为本发明第四实施例的一种虚拟云终端服务器的结构示意图;
图5为本发明实施例的一种虚拟云终端的结构示意图;
图6为本发明实施例的一种虚拟云终端的内核结构示意图;
图7为本发明实施例的一种虚拟云终端的消息迁移流程示意图;
图8为本发明实施例的一种Mac云平台架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
参考图1,根据本发明实施例的一种虚拟云终端服务器,包括云管理单元101、云计算单元102、云网络单元103和云存储单元104,其中:
云管理单元101,用于创建并管理虚拟云终端,所述云管理单元所在物理主机内核集成通用输入/输出设备虚拟化程序,以支持云管理单元与所述虚拟云终端不经过网络直接通信;
云计算单元102,用于为所述虚拟云终端提供物理计算资源;
云网络单元103,用于为所述虚拟云终端提供虚拟网卡,并实现虚拟网络;
云存储单元104,用于为所述虚拟云终端提供分布式对象存储功能。
在本发明一实施例中,云计算单元102提供的物理计算资源包括CPU和内存。
进一步地,所述虚拟云终端的操作系统为麦金塔Mac操作系统;
所述云管理单元所在物理主机内核支持统一的可扩展固件接口(UnifiedExtensible Firmware Interface,UEFI)启动模式和全局唯一标识磁盘分区表(GUIDPartition Table,GPT)磁盘引导分区。
需要说明的是,可扩展固件接口(Extensible Firmware Interface,EFI)是Intel为PC固件的体系结构、接口和服务提出的建议标准,其主要目的是为了提供一组在OS加载之前(启动前)在所有平台上一致的、正确指定的启动服务。UEFI是一种详细描述类型接口的硬件标准。这种接口用于操作系统自动从预启动的环境,加载到一种操作系统上。
但是,到目前为止,绝大多数PC电脑仍然使用的还是IBM发明的BIOS机制,只有苹果公司的Mac OS X操作系统提前使用了UEFI标准引导方式,Qemu模拟器(一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL(GNU General Public License)许可证分发源码的模拟处理器)可以模拟不同的虚拟硬件,因此,这里需要针对Qemu模拟器进行修改,使其支持UEFI硬件标准。
IBM PC兼容机的BIOS有34年的历史了。它主要的问题是一直无法彻底割断和16位实模式下的BIOS启动流程和中断服务的联系。这属于”微型计算机”定义的国际标准。
基本输入输出系统(Basic Input Output System,BIOS),是一组固化到计算机内主板上一个ROM芯片上的程序,这些代码包括:
(1)加电自检程序,用于开机时对硬件的检测;
(2)系统初始化代码,硬件设备初始化、创建BIOS中断向量;
(3)基本的外围I/O处理的子程序代码;
(4)CMOS设置程序。
UEFI定义了操作系统和平台固件之间的接口,它是UEFI Forum发布的一种标准。它只是一种标准,没有提供实现。其实现由其他公司或开源组织提供,例如英特尔公司提供的开源UEFI实现TianoCore和Phoenix公司的SecureCore Tiano。它之所以能迅速取代Legacy,源于硬件平台的发展以及UEFI的巨大优势。UEFI可编程性好,可扩展性好,性能高,安全性高。随着64位CPU取代32位CPU,UEFI也完成了对Legacy的取代过程。
UEFI实现一般可分为两部分:
(1)平台初始化(遵循Platform Initialization标准,同样由UEFI Forum发布);
(2)固件-操作系统接口。
UEFI发端于20世纪90年代中期的安腾系统。相对于当时流行的32位IA32系统,安腾是一种全新的64位系统。
因为BIOS在64位系统上的限制,1998年英特尔公司发起了Intel BootInitiative项目,后来更名为EFI(Extensible Firmware Interface)。2003年英特尔公司的安腾CPU计划遭到AMD公司的x86_64CPU顽强阻击,x86_64CPU时代到来,市场更愿意接受渐进式的变化,英特尔公司也开始发布兼容32位系统的x86_64CPU。安腾虽然没有像预期那样独占市场,EFI却显示出了它的价值。
2005年,英特尔公司联合微软、AMD、联想等11家公司成立了Unif ied EFI Forum,负责制定统一的EFI标准。第一个UEFI标准——UEFI 2.0在2006年1月发布。目前最新的UEFI标准是2013年发布的UEFI 2.4。
即UEFI属于国际标准,它由CPU制造厂商定义接口,由主板制造厂商完成调用,固化到主板的ROM芯片上,最后将硬件管理权过渡给操作系统内核,这一过程复杂紧凑;LINUX开源社区,早已经将支持这种UEFI标准的启动代码写到内核里了。
Mac OS X操作系统以UEFI方式引导,规范了一种可执行文件格式,并要求所有UEFI固件能够执行此格式的代码。UEFI启动管理器是一种固件策略引擎,可通过修改固件架构中定义的全局非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)变量来进行配置,顺序依次加载UEFI驱动和UEFI应用程序(包括UEFI操作系统启动装载程序)。当前主流的Linux发行版自带的KVM/Qemu都不支持UEFI启动管理系统。这样,我们首先需要给KVM/Qemu添加UEFI启动管理系统的模拟代码。事实上KVM作为开源项目已经在源代码中支持UEFI磁盘启动方式,间接的支持了苹果系统的启动。
正是因为UEFI固件直接引导GPT格式的磁盘类型,Mac OS X操作系统磁盘都是GPT分区。GPT是一个实体磁盘的分区表的结构布局的标准,隶属于EFI规范的一部分,被用于替代BIOS系统中的一个扇区来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。GPT已经被更新到LINUX内核中了。在GPT硬盘中,第一个扇区仍然用作主引导记录(Main BootRecord,MBR)作为兼容,之后就是头部,分区表的位置信息储存在GPT头中。自带的KVM/Qemu需要支持GPT格式的磁盘驱动,才能有效的读写管理虚拟机的云硬盘信息。主流的Linux发行版自带的KVM/Qemu不仅需要支持UEFI启动管理,还需要给KVM/Qemu添加GPT磁盘管理系统的读写代码,只有这样模拟器可以顺利读写GPT磁盘引导分区,加载苹果系统内核,挂载根分区,正确运行文件系统。
进一步地,所述通用输入/输出设备虚拟化程序为虚拟输入输出VIRTIO。
需要说明的是,VIRTIO是成熟的技术方案,VIRTIO由Rusty Russell开发,它被实现在半虚拟化架构中,特点是虚拟操作系统知道它被虚拟化,并且需要修改才能工作。VIRTIO API依赖一个简单的缓冲抽象来封装虚拟操作系统需要的命令和数据。它分为前端驱动程序和后端驱动程序两部分,前端驱动程序实现在虚拟操作系统中(Mac OS),后端驱动程序实现在KVM里。它在概念上将前端驱动程序附加到后端驱动程序。驱动程序可以使用0个或多个队列,具体数量取决于需求。例如,VIRTIO网络驱动程序使用两个虚拟队列(一个用于接收,一个用于发送),而VIRTIO块驱动程序仅使用一个虚拟队列。虚拟队列实际上被实现为跨越虚拟操作系统和KVM的衔接点。但这可以通过任意方式实现,前提是虚拟操作系统和KVM以相同的方式实现它。
VirtIO的后端驱动程序部分位于KVM、Qemu等模块中,前端驱动程序部分实现到客户操作系统里,两者之间通过一个消息环传递信息,因此在内核集成VirtIO程序包括如下三个步骤:
1、首先实现高效消息环
首先苹果接口,核心OS层的驱动也提供了硬件和系统框架之间的接口。然而,由于安全的考虑,只有有限的系统框架类能访问内核和驱动;其次理解viritIO原理后,在使用苹果API实现高效消息环,比如MSGwirte()或者MSGread(),当然要集成消息环的高效处理算法。
2、实现后端消息处理
实现后端消息处理的实质是云主机发过来的消息需要QEMU处理,该进程已经足够完善支持数据落盘和读入、网络数据发送和接收。
事实上,第1步和第2步已经实现在云管理模块的操作系统内核中,需要研究MAC系统对外开放的内核接口,然后将逻辑实现到苹果系统里。
3、实现前端虚拟设备
实现前端虚拟字符设备,这个设备属于代理的客户端的内核设备,代理需要处理云主机的各项业务逻辑,然后将数据发给该字符设备,它实现了数据从用户空间到内核空间,最后由内核处理到实体机器上。
重要的是实现第3步:
VirtIO前端驱动从架构上来讲可以分为两部分,一个是其作为PCI设备本身的驱动,此驱动需要提供一些基本的操作PCI设备本身的函数比如PCI设备的探测、删除、配置空间的设置和寄存器空间的读写等。而另一个就是其VirtIO设备本身实现的功能驱动例如网络驱动、块设备驱动、console驱动等。
VirtIO使用virtqueue来实现其I/O机制,每个virtqueue就是一个承载大量数据的queue。vring是virtqueue的具体实现方式,针对vring会有相应的描述符表格进行描述。
集成VIRTIO的核心目的,是为了提供对虚拟设备的支持;虚拟设备(比如虚拟磁盘、虚拟网卡)是由Qemu程序实现,集成VIRTIO驱动是让这些设备可以被VIRTIO驱动管理;程序流可以认为是这样的:应用程序写文件--->Mac OS API负责写--->disk.writer--->disk.driver--->VIRTIO.get;这样磁盘数据被VIRTIO前端程序读到,交给VIRTIO框架处理。
据调研,VirtIO使用Feature Bits来进行功能扩展,使用vring buffer传输数据。使用VirtIO的设备在配置上于其他PCI设备相同,只不过它只应用于虚拟化环境。virtioPCI设备使用通用的PCI的中断和DMA机制,对于设备驱动开发者来说不会带来困难。virtioPCI设备包含一组Feature Bits,在设备安装过程中,可以告知guest OS。设备和驱动之间相互协调,驱动可以根据设备提供的特性以及驱动自身能够支持的特性来最终确定在guestOS里面能够使用的设备特性。这样可以顾及到设备的前后兼容性。
因此,对与guest OS来说,只需要添加一个PCI设备驱动,然后Hypervisor添加设备的vring支持即可以添加一个VirtIO设备。
进一步地,参照图2,虚拟云终端服务器还包括云智能终端单元105,其中:
云智能终端单元105,用于通过远程协议接收远程终端设备的控制信号,并通过图形处理器(Graphics Processing Unit,GPU)将所述控制信号转化为所述虚拟云终端的图像,并将所述图像传输至远程终端设备进行显示。
需要说明的是,Mac OS X操作系统属于类UNIX操作系统,但是它的图形用户界面(Graphical User Interface,GUI)环境巧妙地隐藏了底层的UNIX目录结构,也禁止管理员(root)登录。为了将苹果系统出色的桌面能力展现处理,需要特定的图形协议(例如,远程桌面协议(Remote Desktop Protocol,RDP))完成远程终端设备与虚拟云终端的交互控制;该云智能终端单元105负责处理所有虚拟云终端的图像数据,负载巨大。
Mac OS X操作系统其实是图形桌面系统的鼻祖,它比Windows操作系统使用的图形要更早。基于IOKit(一个面向对象的驱动模型框架)框架实现的苹果桌面,在优美程度上不次于Windows窗口操作系统,同时原生的苹果系统也支持远程管理,自带协议为RDP协议,RDP协议是Windows操作系统上成熟的远程协议,而Mac OS X操作系统也是支持这种协议的,因此,这里只需要在开发的远程终端设备上,很好的支持这种协议即可。
远程终端设备类似于一种小型电脑,需要插电使用,可以连接显示器、键盘、音箱、而且自带WiFi模块、电磁波发送接收器;远程终端设备自带无线网卡,可以同步任何其他Mac设备;远程终端设备自带音响,可以传递、播放各种格式的音频。
云智能终端单元105属于操作系统级软件,要运行在x86架构服务器上。这个软件也配置了智能电磁波管理器,所述智能电磁波管理器与相配套的硬件结合,以使得云智能终端单元105和远程终端设备可以相互数据传输;虚拟云终端中的管理代理可以锁定终端、启用终端、关闭终端、甚至初始化终端等。
云智能终端单元105是本发明的虚拟云终端服务器的一个核心组件,建议使用独立的服务器(类似配置了GPU的图像服务器)部署云智能终端单元105。可以通过使用通用唯一识别码(Universally Unique Identifier,UUID)或者序列号唯一的标识远程终端设备和虚拟云终端的联系,甚至可以接收来自虚拟云终端所在的云管理单元硬件的启动、关闭信号,反作用与虚拟云终端的状态,可以启动、关闭、休眠、唤醒虚拟云终端。
在云智能终端单元105上,要配置多颗GPU芯片(即显卡),以实现苹果操作系统桌面的本地化,即,将所有Mac虚拟云终端的桌面数据通过万兆网络传输到云智能终端单元105上,再经过GPU芯片的计算,转化成图像,立足为图像服务器;在所有远程终端设备上,部署RDP的客户端,在客户端连接的显示器上显示经过GPU计算的图像。
假设用户a创建了一台自己的Mac虚拟云终端(例如,叫Mac-a),同时用户a申请或购买了一台远程终端设备,例如,序列(Serial Number,SN)号是02030608BX,那么需要将这种实体的设备与自己的Mac虚拟云终端联系起来;开启远程终端设备02030608BX,就相当于开启Mac虚拟云终端Mac-a。因此,远程终端设备必须要与云智能终端单元105保持长连接,这种长连接可以用电磁波实现,而非WiFi网络。
进一步地,云管理单元101对虚拟云终端的管理包括以下任意一项或其任意组合:
删除所述虚拟云终端、暂停所述虚拟云终端、硬重启所述虚拟云终端、对所述虚拟云终端进行热迁移、对所述虚拟云终端进行冷迁移、添加网卡接口、删除网卡接口、挂载磁盘设备或卸载磁盘设备。
需要说明的是,所述热迁移,又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上,恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。所述冷迁移是对已关闭电源的虚拟机进行迁移,通过冷迁移,可以选择将关联的磁盘从一个数据存储移动到另一个数据存储。在开始冷迁移过程前,必须关闭要迁移的虚拟机的电源。
进一步地,云管理单元101还用于:
发送管理指令至所述虚拟云终端,所述管理指令包括以下至少之一:
设置密码、修改主机名、软重启所述虚拟云终端、配置管理代理、配置监控代理。
需要说明的是,本发明所述的软重启是指通过正确指令从虚拟云终端的操作系统来执行重启指令。本发明所述的硬重启是指直接杀死虚拟云终端所占用的进程后再启动所述虚拟云终端。硬重启会对虚拟云终端本身的伤害较大,所以除了虚拟云终端死机和显示器黑屏之外最好不要使用硬重启。
进一步地,各个云管理单元101之间形成分布式环境,并提供集群心跳监测机制;
所述集群心跳监测机制用于,当检测到发生故障的云管理单元101时,将运行在发生故障的云管理单元101上的虚拟云终端迁移到其它没有发生故障的云管理单元101上。
需要说明的是,云管理单元101主要完成对虚拟云终端的创建、删除、暂停、重启、热迁移、冷迁移;网卡接口的添加、删除,磁盘设备的挂载、卸载等。本发明所述的热迁移是指,虚拟云终端在开机的状态下,对开机后的存储、运行的内存和CPU上下文进行切换的过程,一般当一个云管理单元101出现故障时,需要将运行在它上面的虚拟云终端,迁移到其它云管理单元101。这个功能在Qemu系统里已经成熟。
每个云计算单元102上运行云管理单元101。云管理单元101是对libvirt的又一层封装,可以透过Qemu的API控制接口和磁盘的数据传输(这是Qemu的功能,它可以实现虚拟网络设备和磁盘设备);同时云管理单元101之间提供心跳检测机制,各个云管理单元101之间形成分布式环境,可以配置为高可用方式,当节点心跳不通或掉线后,对运行其上的虚拟云终端进行在线迁移;这对使用者来说是透明的。
心跳检测是高可用实现的基础,高可用方式的含义是,任何一个服务停(down)掉的可能性多种多样,任何一种可能都会带来风险,而服务器离线通常带来的代价是很大的,尤其是Web站点,所以当一台服务器提供即使服务器down掉不至于服务终止的服务,即为高可用方式。所谓心跳检测主要是云管理单元101之间的存活测试;实现在操作系统层;主要使用UDP组播的形式传递当前节点的心跳信息,并告知给对方,这样对方就知道其他节点是否在线。
libvirt是虚拟云终端的直接管理者,云管理单元101对libvirtd的又一层封装主要完成计算资源的抽象层,完成和云镜像单元、云存储单元、云网络单元、云监控单元等核心单元之间的数据交互,云管理单元101主要灵感来自原生的Nova项目,换句话说就需要修改nova代码支持Mac OS系统;这里我们尽量采用更高效的Java语言编写。主要负责虚拟机的生命周期,也就是虚拟机的创建、使用、删除整个过程;至于真正的如何实现,主要方式是底层提供的接口,也会处理一些自己的逻辑。
磁盘管理由云存储单元104完成,它负责生成、删除操作;网卡管理由云网络单元103完成,它负责生成、销毁操作;因此,云存储单元104和云网络单元103需要提供接口,云管理单元101需要调用这些接口。
进一步地,参照图3,虚拟云终端服务器还包括云监控单元106,其中:
云监控单元106,用于接收并处理所述虚拟云终端发送的监控数据。
进一步地,云监控单元106主要负责读取libvirt的套接字(socket)文件,读取来自各个虚拟云终端的监控数据,进行格式化处理并写入到数据库里。这个单元负责存储、展示、或者提供管理用户策略性的功能;它可以记录整个平台上所有开启监控的虚拟云终端的主机信息,监控项、时间表、计算结果、排列组合等。不仅如此,云监控单元106提供了一整套框架(灵感可以参考常用的监控系统,例如,zabbix监控系统、Cacti监控系统、Nagios监控系统等),对收集的数据(例如,虚拟云终端主机名称、CPU负载、磁盘使用情况、IO读写情况等等)进行处理(所述处理包括排序、搜索、标记、跟踪、对比等数据库的基本操作)。同时,云监控单元106也可以内部集成邮箱系统、短信系统和电话通知系统,以提供邮件接口、网关接口和电话接口等,当云主机或者某个节点发生故障后,可以自行发送邮件给管理员,以进行告警;并以RESTful(一种软件架构风格)形式提供给前端展示,管理员可以通过前端配置阈值和告警方式,甚至支持告警动作。
需要说明的是,本发明所述的格式化处理是指将收集到的监控数据,进行结构化处理,存储到类似Excel的表格里。这里具体需要做数据库设计,比如虚机库、磁盘库、网络库、操作记录库等,不同的库中包括很多表,表由行和列组成。
进一步地,所述虚拟云终端服务器还包括云镜像单元107,其中:
云镜像单元107,用于为所述虚拟云终端提供镜像注册和镜像管理功能。
需要说明的是,云镜像单元107是云存储单元104的上层。云镜像单元107可以和云存储单元104相互通信,注册的镜像数据直接保存到云存储单元104里,并由云镜像单元107管理,单元管理主要连接数据库,处理注册的镜像;镜像会被注册、删除、重命名等,有异常的镜像行为,将通知到管理平台上。
镜像注册和镜像管理,通常通过在云存储单元104中保存的镜像的一个标志位实现,上传镜像时提供一个标志位,用于记录此镜像的共享或者私有属性;如果为私有属性,就会为该镜像另加一个用户属性,用于表明该镜像属于某个用户。
进一步地,由所述云网络单元103实现的虚拟网络,通过软件定义网络(SoftwareDefined Network,SDN)控制器,提供流量控制、带宽监控和端口镜像功能。
需要说明的是,云网络单元103是封装在Open VSwitch(OVS)(OVS是一种虚拟交换机实现软件,自带流量控制和带宽监控、端口镜像的功能)之上的网络管理层,并利用网桥(Bridge)、分流(TAP)、XLAN(用在虚拟网络的一种VLAN技术)等技术。它可以通过OVS API实现流量控制,生成虚拟交换机、创建虚拟网卡接口;通过SDN网络控制器,提供流量控制、带宽监控、和端口镜像的功能。云网络单元103可以将所有虚拟网络的数据收集起来,通过一个统一的接口发送出去。不仅如此,云网络单元103紧密结合物理机内核,可以方便的创建虚拟设备、虚拟专用网络(Virtual Private Network,VPN)、Internet协议安全性(Internet Protocol Security,IPsec)、虚似扩展局域网(Virtual Extensible LAN,VXLAN)等网络形式;还能够收集网络数据,一并保存到数据库里,供管理员做报表使用等。
进一步地,所述云存储单元104通过Ceph(一种分布式文件系统)分布式存储体系,为所述虚拟云终端提供分布式对象存储功能。
需要说明的是,云存储单元104主要提供分布式对象存储系统,是封装在Ceph之上的又一控制层。它以对象存储为基础,提供块设备和虚拟块设备,可以给虚拟云终端提供系统盘和数据盘;支持挂载和卸载,所有存储到磁盘上的数据都会被分割成数个对象,真正存储到Ceph上。云存储单元104还能提供锁机制,以实现共享盘方式,生成的虚拟块设备可以提供给多个虚拟云终端挂载,使用时由云存储单元104负责真正读写的虚拟云终端,其实现读写功能由底层Ceph分布式存储系统完成;同时提供块设备、逻辑卷设备、提供动态扩容机制、提供IOPS(Input/Output Operations Per Second)限制管理能力及对象存储的能力,实现云硬盘的多种方案。
对于虚拟云终端服务器底层的存储来说,上面运行的虚拟云终端都属于Ceph的客户端,它把客户端数据保存为存储池内的对象。通过使用CRUSH(Controlled ReplicationUnder Scalable Hashing)算法,Ceph可以计算出哪个归置组(Placement Group,PG)应该持有指定的对象(Object),然后进一步计算出哪个OSD(Object-based Storage Device)守护进程持有该归置组。CRUSH算法使得Ceph存储集群能够动态地伸缩、再均衡和修复。因此,一个Mac OS的镜像被分成很多小份数据,分散存储到多个云存储单元104上。
参照图5,本发明实施例还提供了一种虚拟云终端,包括内核模块501和应用代理模块502,其中:
内核模块501采用UEFI启动模式引导操作系统启动,支持GPT磁盘驱动,并集成通用输入/输出设备虚拟化程序以支持自身与自身所属物理主机间的数据传输;所述操作系统为麦金塔Mac操作系统;
应用代理模块502包括用于接收并执行虚拟云终端服务器的管理指令的管理代理。
需要说明的是,所述应用代理模块502的管理代理(以及后文所述的监控代理)支持加电自动启动。
修改内核模块支持UEFI和GPT格式时,首先得知道物理磁盘的构成、磁道、柱面、字节、容量、标志位等;然后再科普操作系统汇编启动代码,这里修改累加寄存器,指针寄存器、代码段、堆栈段、指令跳转。还需要理解UEFI的格式,将汇编代码JMP跳转到系统内核处交权到系统手里。
进一步地,如图6所示,所述通用输入/输出设备虚拟化程序为虚拟输入输出VIRTIO。
需要说明的是,VIRTIO是成熟的技术方案,VIRTIO由Rusty Russell开发,它被实现在半虚拟化架构中,特点是虚拟操作系统知道它被虚拟化,并且需要修改才能工作。VIRTIO API依赖一个简单的缓冲抽象来封装虚拟操作系统需要的命令和数据。它分为前端驱动程序和后端驱动程序两部分,前端驱动程序实现在虚拟操作系统(Mac OS)中,后端驱动程序实现在KVM里。它在概念上将前端驱动程序附加到后端驱动程序。驱动程序可以使用0个或多个队列,具体数量取决于需求。例如,VIRTIO网络驱动程序使用两个虚拟队列(一个用于接收,一个用于发送),而VIRTIO块驱动程序仅使用一个虚拟队列。虚拟队列实际上被实现为跨越虚拟操作系统和KVM的衔接点。但这可以通过任意方式实现,前提是虚拟操作系统和KVM以相同的方式实现它。
集成VIRTIO的核心目的,是为了提供对虚拟设备的支持;虚拟设备(比如虚拟磁盘、虚拟网卡)是由Qemu程序实现,集成VIRTIO驱动是让这些设备可以被VIRTIO驱动管理;程序流可以认为是这样的:应用程序写文件--->Mac OS API负责写--->disk.writer--->disk.driver--->VIRTIO.get;这样磁盘数据被VIRTIO前端程序读到,交给VIRTIO框架处理。
进一步地,所述应用代理模块503还包括监控代理,其中:
所述监控代理,用于根据虚拟云终端服务器设置的监控规则,收集所述虚拟云终端的监控数据,并发送给虚拟云终端服务器。
进一步地,所述监控数据包括CPU利用率、内存使用情况、当前系统进程、系统用户数、磁盘使用量、网卡带宽、异常进程等。
在本发明一实施例中,所述虚拟云终端的Mac操作系统的镜像的制作方法如下:
(1)到苹果官网上下载相关的苹果镜像;
Mac OS X操作系统核心是:Darwin(达尔文),Darwin的核心是由Mach(一种操作系统内核)和伯克利软件套件(Berkeley Software Distribution,BSD)共同组成的,它是开源的。下载到镜像后,需要在KVM物理环境上安装部署,为了让KVM/Qemu能够与Mac操作系统内核更加高效的进行通讯,必须在Mac操作系统内集成VIRTIO框架,提供虚拟磁盘、虚拟网卡驱动的支持代码;系统会借助VIRTIO完成高效的数据传输,磁盘读写或网络IO都必须借助这个前端与后端缓存机制,以便后面实现并集成一些高级功能进来,比如虚拟云主机的控制管理、监控审计等。
(2)设置管理代理
管理代理作为执行者,通过效仿Linux虚机的QGA(Qemu Guest Agent)方式,部署为苹果的系统服务,其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,依赖于VIRTIO串口(serial),而QEMU则提供了串口设备的模拟及数据交换的通道,虚拟机内部的一个串口设备和宿主机上一个unix socket文件。libvirtd可以向虚拟机中发送重置密码、关闭、重启、配置、修改主机名等指令。如图7所示,管理代理读取串口设备,对指令进行监控、解析、执行和反馈,是管理命令的实际执行者。
需要说明的是,本申请所述的管理代理不是现存的QGA程序,但采用了QGA的理念;它应该被实现为接收或者监听来自libvirtd发送过来的指令,并调用MacOS.API实现指令功能,这些指令包括重置密码、关闭、重启、修改主机名、进行迁移、修改配置文件等。管理代理读取串口设备,对指令进行监听、解析、执行和反馈的伪代码如下:
os.Listen(path.device,buffer_array);
os.SetRootPassword(buffer_password,flag);
os.SetHostName(buffer_hostname,flag);
os.SetStatus(buffer_hostuuid,status flag);
os.SetFile(buffer_uuid,fd_id,buffer_array);
os.SendSignle(hostuuid,pid,signle,flag)。
当前libvirtd通过修改配置文件libvirtd.conf已实现监听unix.socker;但libvirtd能够发送的子指令比较少,我们需要丰富这段指令,主要实现方法可以通过signal信号机制。比如用11信号表示重启,12信号表示重置密码等。用伪代码的表示是:
os.Listen(path.device,buffer_array);
os.signal(optsgn,virt-uuid,idsign)。
(3)设置监控代理
Mac OS X虚拟云终端应该将实时的健康状态返送给宿主机,对于云平台的管理十分重要,比如动态调整、监控维护。依靠上述设备文件和socket文件的存在,虚拟云终端内置数据报告系统服务,并且由管理代理实现监控的参数配置。监控代理可以获取系统负载、内存使用、磁盘用量、异常进程、在线用户、网络流量和磁盘IO等监控数据。如图7所示,监控代理会在特定属性启用之后生效,收集数据传输给宿主机,由云监控单元106负责处理,比如展示、告警、报表、动作、自动迁移等。
如图7所示,管理代理和监控代理的数据流走向正好相反,监控代理是管理代理的反向程序,它是对虚拟云终端运行状态的采集器,将收集到的数据反馈给libvirt。收集内容包括CPU利用率、内存使用情况、当前系统进程、系统用户数、磁盘使用量、网卡带宽、异常进程等,监控代理一样会调用MacOS.API来实现。监控代理向libvirt提供虚机状态的伪代码如下:
os.GetSystemPid(buffer_progress,pid,pname,flag);
os.GetSystemUser(buffer_user,flag);
os.GetFileBuf(buffer_fileconf,num,flag);
os.GetEthStatus(dev_uuid,buffer_eth flag);
os.GetDiskStatus(dev_uuid,struct dev-buffer,flag);
os.RecvSignle(hostuuid,pid,signle,flag)。
需要说明的是,本发明所述的特定属性是个有效标志位(相当于一个开关),表示是否在生成虚拟云终端的时候,启用监控代理。它专门为用作服务器的虚拟云终端提供。例如,某个用户希望自己的Mac虚拟云终端24小时开机,不间断提供http服务,这就需要开启监控代理。如果不需要,则可以关闭监控代理(注意管理代理必须启动,不可停止)。
(4)生成镜像
Mac OS X操作系统部署在KVM成功以后,需要将镜像导出来,提供压缩、封装;然后提供到云平台上;云平台环境中,系统镜像将以多对象形式存储到ceph集群中,可以规定它的副本数,对数据镜像备份和保护,提高了安全可靠性;同时避免被盗仿。
如图8所示,本发明的桌面云架构由一套完整云平台控制,其中,云管理单元运行在管理节点上,云计算单元运行在计算节点上(图8中的计算节点和管理节点部署在同一物理节点上),云监控单元(及数据库)运行在监控节点上,云镜像单元、云存储单元运行在存储节点上,云网络单元运行在网络节点上(图8中的存储节点和网络节点部署在同一物理节点上),它们为云桌面提供最基本、最高效的保证;各个节点间通过消息队列异步通信;整平台提供数据库存储、网页(web)缓存、分布式节点高可用的特征,其中:
管理节点提供了整个平台的管理控制,以及虚拟云终端的创建、销毁、配置、管理等;
计算节点提供了虚拟云终端的计算能力,主要是CPU和内存,保证虚拟云终端顺畅高效运行;
监控节点提供了整个平台的监视机制,使意外故障的Mac操作系统自动智能完成迁移和再生;
存储节点给每个虚拟云终端存储至少一份(例如,3份)备数据,以此确保用户数据不会丢失;
网络节点为各个虚拟云终端提供网络出口、流量配置和行为管理。
本发明的虚拟云终端和虚拟云终端服务器,利用虚拟化技术结合云计算环境下分布式存储技术,并配合SDN网络,提供一种分布式动态智能Mac OS桌面云环境的方法。使用流行的KVM技术模拟OS X系统所运行的硬件资源,且支持动态调整;并使用SDN的软件定义网络能力,构建丰富的虚拟网络,提供流量监控;Ceph提供高性能分布式存储,提供高效、实用、安全的高可用机制、和数据安全;结合流行的云终端和GPU透传功能,提供高性价比的Mac环境;
a)高性能:将Mac OS操作系统运行在分布式存储系统中,结合服务器高性能计算能力,提供流畅的运行环境;
b)低成本:Mac OS操作系统运行在云计算平台上,为企业提供方便、快捷、高性价比的苹果开发平台;
c)高可用:提供了一种内置虚拟云终端监视机制,使意外故障的Mac操作系统自动智能完成迁移和再生;
d)易管理:桌面云架构,将为企业提供高效、易管理的IT平台,降低公司在IT上的消耗费用;
e)安全可靠:使用云平台Mac操作系统能有效提高安全性,保障各个租户空间隔离、病毒隔离;
f)用户使用方便:透过云终端产品,用户可以方便的开机、关机、使用任何多个版本云主机。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种虚拟云终端,其特征在于,包括内核模块和应用代理模块,其中:
所述内核模块采用统一的可扩展固件接口UEFI启动模式引导操作系统启动,支持全局唯一标识磁盘分区表GPT磁盘驱动,并集成通用输入/输出设备虚拟化程序以支持自身与自身所属物理主机间的数据传输;所述操作系统为麦金塔Mac操作系统;
所述应用代理模块包括用于接收并执行虚拟云终端服务器的管理指令的管理代理。
2.根据权利要求1所述的虚拟云终端,其特征在于,所述通用输入/输出设备虚拟化程序为虚拟输入输出VIRTIO。
3.根据权利要求1或2任一所述的虚拟云终端,其特征在于,所述应用代理模块还包括监控代理,其中:
所述监控代理,用于根据虚拟云终端服务器设置的监控规则,收集所述虚拟云终端的监控数据,并发送给虚拟云终端服务器。
4.一种虚拟云终端服务器,其特征在于,包括云管理单元、云计算单元、云网络单元和云存储单元,其中:
云管理单元,用于创建并管理虚拟云终端,所述云管理单元所在物理主机内核集成通用输入/输出设备虚拟化程序,以支持云管理单元与所述虚拟云终端不经过网络直接通信;
云计算单元,用于为所述虚拟云终端提供物理计算资源;
云网络单元,用于为所述虚拟云终端提供虚拟网卡,并实现虚拟网络;
云存储单元,用于为所述虚拟云终端提供分布式对象存储功能。
5.根据权利要求4所述的虚拟云终端服务器,其特征在于,所述虚拟云终端的操作系统为麦金塔Mac操作系统;
所述云管理单元所在物理主机内核支持统一的可扩展固件接口UEFI启动模式和全局唯一标识磁盘分区表GPT磁盘引导分区。
6.根据权利要求4所述的虚拟云终端服务器,其特征在于,还包括云智能终端单元,其中:
云智能终端单元,用于通过远程协议接收远程终端设备的控制信号,并通过图形处理器GPU将所述控制信号转化为所述虚拟云终端的图像,并将所述图像传输至远程终端设备。
7.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,所述云管理单元对所述虚拟云终端的管理,包括以下任意一项或其任意组合:
删除所述虚拟云终端、暂停所述虚拟云终端、硬重启所述虚拟云终端、对所述虚拟云终端进行热迁移、对所述虚拟云终端进行冷迁移、添加网卡接口、删除网卡接口、挂载磁盘设备或卸载磁盘设备。
8.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,所述云管理单元还用于:
发送管理指令至所述虚拟云终端,所述管理指令包括以下任意一项或其任意组合:
设置密码、修改主机名、软重启所述虚拟云终端、配置管理代理、配置监控代理。
9.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,
各个所述云管理单元之间形成分布式环境,并提供集群心跳监测机制;
所述集群心跳监测机制用于,当检测到发生故障的所述云管理单元时,将运行在发生故障的所述云管理单元上的虚拟云终端迁移到其它没有发生故障的所述云管理单元上。
10.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,还包括云监控单元,其中:
所述云监控单元,用于接收并处理所述虚拟云终端发送的监控数据。
11.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,还包括云镜像单元,其中:
所述云镜像单元,用于为所述虚拟云终端提供镜像注册和镜像管理功能。
12.根据权利要求4至6任一所述的虚拟云终端服务器,其特征在于,由所述云网络单元实现的所述虚拟网络,通过软件定义网络SDN控制器,提供流量控制、带宽监控和端口镜像功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810326087.XA CN108632360A (zh) | 2018-04-12 | 2018-04-12 | 一种虚拟云终端和虚拟云终端服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810326087.XA CN108632360A (zh) | 2018-04-12 | 2018-04-12 | 一种虚拟云终端和虚拟云终端服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108632360A true CN108632360A (zh) | 2018-10-09 |
Family
ID=63705186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810326087.XA Pending CN108632360A (zh) | 2018-04-12 | 2018-04-12 | 一种虚拟云终端和虚拟云终端服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108632360A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688139A (zh) * | 2018-12-27 | 2019-04-26 | 成都国信安信息产业基地有限公司 | 云平台安全检测系统 |
CN109729146A (zh) * | 2018-11-28 | 2019-05-07 | 国云科技股份有限公司 | 一种固定云教室桌面网络的方法 |
CN109814946A (zh) * | 2018-12-29 | 2019-05-28 | 创新科存储技术(深圳)有限公司 | 一种在XenServer中实现分布式存储的方法和装置 |
CN112542886A (zh) * | 2020-12-01 | 2021-03-23 | 广东电网有限责任公司广州供电局 | 电网一体化控制系统 |
CN112838966A (zh) * | 2021-04-22 | 2021-05-25 | 北京拓课网络科技有限公司 | 一种udp链路监控方法、系统及电子设备 |
CN113132969A (zh) * | 2021-03-03 | 2021-07-16 | 翱捷科技股份有限公司 | 一种多卡手机实现多个虚拟独立电话系统的方法及装置 |
CN113419814A (zh) * | 2021-05-27 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种云平台中虚拟机创建方法、装置、设备及存储介质 |
CN113452830A (zh) * | 2021-06-15 | 2021-09-28 | 华云数据控股集团有限公司 | 安卓云手机的批量控制方法、计算机可读介质及电子设备 |
CN113961147A (zh) * | 2021-10-26 | 2022-01-21 | 江苏安超云软件有限公司 | 在云平台上从已删除的块中回收空间的方法及应用 |
CN114257472A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种网络拓扑监控方法、装置、设备及可读存储介质 |
CN114416249A (zh) * | 2022-01-07 | 2022-04-29 | 北京百度网讯科技有限公司 | 程序处理方法、装置、设备及存储介质 |
CN115442208A (zh) * | 2021-05-18 | 2022-12-06 | 北京小米移动软件有限公司 | 一种管理云终端的方法、装置及可读存储介质 |
CN117075925A (zh) * | 2023-08-16 | 2023-11-17 | 中科驭数(北京)科技有限公司 | libvirt管控面卸载方法、装置、设备及介质 |
CN117170877A (zh) * | 2023-10-26 | 2023-12-05 | 西安羚控电子科技有限公司 | 无人机虚拟化任务管理装置与方法 |
CN117573294A (zh) * | 2024-01-16 | 2024-02-20 | 麒麟软件有限公司 | 基于virtio的虚拟机CPU stall检测方法 |
CN117591246A (zh) * | 2024-01-18 | 2024-02-23 | 杭州优云科技股份有限公司 | 一种kvm虚拟机web终端的实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981889A (zh) * | 2012-11-02 | 2013-03-20 | 曙光云计算技术有限公司 | 虚拟机创建方法和装置 |
CN103268241A (zh) * | 2013-05-28 | 2013-08-28 | 山东超越数控电子有限公司 | 一种在bios中实现对硬盘分区隐藏或显示的方法 |
CN106227491A (zh) * | 2016-08-04 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种远程桌面视频播放方法、服务器、客户端及系统 |
CN106325872A (zh) * | 2016-08-26 | 2017-01-11 | 武汉噢易云计算股份有限公司 | 支持Macintosh电脑的多操作系统管理方法及装置 |
-
2018
- 2018-04-12 CN CN201810326087.XA patent/CN108632360A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981889A (zh) * | 2012-11-02 | 2013-03-20 | 曙光云计算技术有限公司 | 虚拟机创建方法和装置 |
CN103268241A (zh) * | 2013-05-28 | 2013-08-28 | 山东超越数控电子有限公司 | 一种在bios中实现对硬盘分区隐藏或显示的方法 |
CN106227491A (zh) * | 2016-08-04 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种远程桌面视频播放方法、服务器、客户端及系统 |
CN106325872A (zh) * | 2016-08-26 | 2017-01-11 | 武汉噢易云计算股份有限公司 | 支持Macintosh电脑的多操作系统管理方法及装置 |
Non-Patent Citations (3)
Title |
---|
朱双喜: "《LINUX系统管理》", 31 March 2011 * |
爱WIN10: "uefi安装mac os系统图文教程", 《系统之家》 * |
邢静宇: "《KVM虚拟化技术基础与实践》", 31 December 2015 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729146A (zh) * | 2018-11-28 | 2019-05-07 | 国云科技股份有限公司 | 一种固定云教室桌面网络的方法 |
CN109729146B (zh) * | 2018-11-28 | 2021-10-22 | 国云科技股份有限公司 | 一种固定云教室桌面网络的方法 |
CN109688139B (zh) * | 2018-12-27 | 2021-08-31 | 成都国信安信息产业基地有限公司 | 云平台安全检测系统 |
CN109688139A (zh) * | 2018-12-27 | 2019-04-26 | 成都国信安信息产业基地有限公司 | 云平台安全检测系统 |
CN109814946B (zh) * | 2018-12-29 | 2022-03-25 | 深圳创新科技术有限公司 | 一种在XenServer中实现分布式存储的方法和装置 |
CN109814946A (zh) * | 2018-12-29 | 2019-05-28 | 创新科存储技术(深圳)有限公司 | 一种在XenServer中实现分布式存储的方法和装置 |
CN112542886A (zh) * | 2020-12-01 | 2021-03-23 | 广东电网有限责任公司广州供电局 | 电网一体化控制系统 |
CN113132969A (zh) * | 2021-03-03 | 2021-07-16 | 翱捷科技股份有限公司 | 一种多卡手机实现多个虚拟独立电话系统的方法及装置 |
CN113132969B (zh) * | 2021-03-03 | 2024-04-12 | 翱捷科技股份有限公司 | 一种多卡手机实现多个虚拟独立电话系统的方法及装置 |
CN112838966A (zh) * | 2021-04-22 | 2021-05-25 | 北京拓课网络科技有限公司 | 一种udp链路监控方法、系统及电子设备 |
CN115442208A (zh) * | 2021-05-18 | 2022-12-06 | 北京小米移动软件有限公司 | 一种管理云终端的方法、装置及可读存储介质 |
CN115442208B (zh) * | 2021-05-18 | 2024-02-23 | 北京小米移动软件有限公司 | 一种管理云终端的方法、装置及可读存储介质 |
CN113419814A (zh) * | 2021-05-27 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种云平台中虚拟机创建方法、装置、设备及存储介质 |
CN113419814B (zh) * | 2021-05-27 | 2022-03-08 | 济南浪潮数据技术有限公司 | 一种云平台中虚拟机创建方法、装置、设备及存储介质 |
CN113452830A (zh) * | 2021-06-15 | 2021-09-28 | 华云数据控股集团有限公司 | 安卓云手机的批量控制方法、计算机可读介质及电子设备 |
CN113961147A (zh) * | 2021-10-26 | 2022-01-21 | 江苏安超云软件有限公司 | 在云平台上从已删除的块中回收空间的方法及应用 |
CN114257472A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种网络拓扑监控方法、装置、设备及可读存储介质 |
CN114416249B (zh) * | 2022-01-07 | 2023-11-03 | 北京百度网讯科技有限公司 | 程序处理方法、装置、设备及存储介质 |
CN114416249A (zh) * | 2022-01-07 | 2022-04-29 | 北京百度网讯科技有限公司 | 程序处理方法、装置、设备及存储介质 |
CN117075925A (zh) * | 2023-08-16 | 2023-11-17 | 中科驭数(北京)科技有限公司 | libvirt管控面卸载方法、装置、设备及介质 |
CN117170877A (zh) * | 2023-10-26 | 2023-12-05 | 西安羚控电子科技有限公司 | 无人机虚拟化任务管理装置与方法 |
CN117170877B (zh) * | 2023-10-26 | 2024-02-23 | 西安羚控电子科技有限公司 | 无人机虚拟化任务管理装置与方法 |
CN117573294A (zh) * | 2024-01-16 | 2024-02-20 | 麒麟软件有限公司 | 基于virtio的虚拟机CPU stall检测方法 |
CN117573294B (zh) * | 2024-01-16 | 2024-04-09 | 麒麟软件有限公司 | 基于virtio的虚拟机CPU stall检测方法 |
CN117591246A (zh) * | 2024-01-18 | 2024-02-23 | 杭州优云科技股份有限公司 | 一种kvm虚拟机web终端的实现方法和装置 |
CN117591246B (zh) * | 2024-01-18 | 2024-05-03 | 杭州优云科技股份有限公司 | 一种kvm虚拟机web终端的实现方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632360A (zh) | 一种虚拟云终端和虚拟云终端服务器 | |
US10997092B2 (en) | Enabling out-of-band hardware management via an in-band communications channel | |
US9946565B2 (en) | Management of cloud-computing facility through a virtual infrastructure management server | |
US7694298B2 (en) | Method and apparatus for providing virtual server blades | |
US10212045B2 (en) | Method and system for testing and analyzing management servers | |
US20100306763A1 (en) | Virtual Serial Concentrator for Virtual Machine Out-of-Band Management | |
US8700867B2 (en) | Integrated storage controller and appliance method and system | |
US20090055157A1 (en) | Server Having Remotely Manageable Emulated Functions | |
TW201232409A (en) | Ensemble having one or more computing systems and a controller thereof | |
TW201232416A (en) | Unified resource manager providing a single point of control | |
US11070419B2 (en) | Methods and systems to troubleshoot and localize storage failures for a multitenant application run in a distributed computing system | |
US10936354B2 (en) | Rebuilding a virtual infrastructure based on user data | |
US10225142B2 (en) | Method and system for communication between a management-server and remote host systems | |
US10031768B2 (en) | Host-gateway-facilitated aggregation of host-computer clusters | |
Troy et al. | VMware Cookbook: A Real-World Guide to Effective VMware Use | |
US10782992B2 (en) | Hypervisor conversion | |
US20200125260A1 (en) | Artificial intelligence and machine learning systems and methods for a storage system | |
US11184244B2 (en) | Method and system that determines application topology using network metrics | |
US20170371872A1 (en) | Method and subsystem that efficiently store metric data | |
US9354911B2 (en) | Method and system for logging into a virtual environment executing on a host | |
US10789139B2 (en) | Method of rebuilding real world storage environment | |
Tosatto | Citrix Xenserver 6. 0 Administration Essential Guide | |
Ahmed | Mastering Proxmox | |
CN106155948B (zh) | 用于存储系统的方法、聚合配置引擎、聚合配置工具以及文件系统 | |
Green et al. | The Fundamentals of Hyperconverged Infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181009 |
|
RJ01 | Rejection of invention patent application after publication |