一种实现虚拟机管理数据通信的方法及设备与流程

文档序号:31726960发布日期:2022-10-05 00:50阅读:33来源:国知局
1.本技术涉及通信技术,特别涉及一种实现虚拟机管理数据通信的方法及设备。
背景技术
::2.随着远程办公需求增加越来越多,越来越多的企业开始使用vdi(virtualdesktopinfrastructure,虚拟桌面架构)技术构建远程办公基础设施。3.图1所示为常用的云桌面网络拓扑示意图;云桌面客户端需要跟vdi管理平台联通,云桌面客户端与vdi管理平台之间通过http报文进行通信传输vdi的控制命令,例如,用户认证、虚拟机信息等等。4.云桌面客户端通过nat(networkaddresstranslation。网络地址转换)或者网关(图中未示出)连接kvm虚拟化主机,传输管理数据主要是vdi协议的数据,包括桌面图形、语音、键盘和鼠标等协议数据。为有效隔离的管理网络的管理数据与业务网络的业务数据,保证vdi管理平台的管理数据安全,云桌面虚拟机需要有2块虚拟网卡分别用于管理数据通信以及业务数据通信。如图1所示,云桌面虚拟机的代理agent通过以ip地址192.168.124.3通过一块虚拟网卡连接到管理网络,另一块虚拟网卡通过ip地址192.168.100.10连接到业务网络的业务交换机,云桌面虚拟机需要响应的部署两台虚拟交换机(virtualswitch,vswitch)实现双虚拟网卡通信,导致虚拟机的管理网络数据与业务网络数据的隔离部署实现复杂。技术实现要素:5.本技术的目的在于提供一种实现虚拟机管理数据通信的方法及设备,实现简易部署的管理网络数据隔离。6.为实现上述目的,本技术提供一种实现虚拟机管理数据通信的方法,该方法包括:为每个虚拟机设置代理agent;为每个虚拟机创建一个虚拟硬件pci设备;为每个虚拟机安装虚拟硬件pci设备驱动程序;每个agent运行虚拟硬件pci设备驱动程序,通过所在虚拟机的对应虚拟硬件pci设备与虚拟桌面架构管理平台通信管理数据。7.为实现上述目的,本技术还提供了一种实现虚拟机管理数据通信的设备,其中,该设备包括处理器以及存储器;存储器用于存储处理器可执行指令;其中,处理器通过运行存储器中的处理器可执行指令用以执行以下操作:为每个虚拟机设置代理agent;为每个虚拟机创建一个虚拟硬件pci设备;为每个虚拟机安装虚拟硬件pci设备驱动程序;每个agent运行虚拟硬件pci设备驱动程序,通过所在虚拟机的对应虚拟硬件pci设备与虚拟桌面架构管理平台通信管理数据。8.本技术的有益效果在于,每个虚拟机的代理agent通过虚拟硬件pci设备连接vdi管理平台,不再需要专用管理数据ip地址与vdi管理平台通信管理数据,简化了虚拟机的管理网络数据与业务网络数据的隔离。附图说明9.图1所示为常用的云桌面网络拓扑示意图;10.图2为本技术实施例提供的实现虚拟机管理数据通信的方法的流程图;11.图3所示为本技术实施例提供的云桌面虚拟机的虚拟硬件pci设备建立连接的示意图;12.图4为本技术实施例提供的云桌面网络拓扑示意图;13.图5为本技术实施例提供的实现虚拟机管理数据通信的设备的示意图。具体实施方式14.将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本技术的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。15.使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。16.图2为本技术实施例提供的实现虚拟机管理数据通信的方法的流程图,该实施例包括:17.步骤201,为每个虚拟机设置代理agent;18.步骤202,为每个虚拟机创建一个虚拟硬件pci设备;19.步骤203,为每个虚拟机安装虚拟硬件pci设备驱动程序;20.步骤204,每个agent运行虚拟硬件pci设备驱动程序,通过所在虚拟机的对应虚拟硬件pci设备与虚拟桌面架构管理平台通信管理数据。21.图2所示实施例的有益效果在于,每个虚拟机的代理agent通过虚拟硬件pci设备连接vdi管理平台,不再需要专用管理数据ip地址与vdi管理平台通信管理数据,简化了虚拟机的管理网络数据与业务网络数据的隔离。22.图3所示为本技术实施例提供的云桌面虚拟机的虚拟硬件pci设备建立连接的示意图;在承载云桌面虚拟机的服务器1上,在kvm(kernel-basedvirtualmachine)虚拟化平台创建由qemu虚拟机模拟的agentcomdevice(代理串口装置),该agentcomdevice是虚拟硬件pci设备,在qemu虚拟机里添加一个agent数据转发线程;agent数据转发线程qemu虚拟机注册了接口与agentcomdevice交互。23.云桌面虚拟机启动之后,云桌面虚拟机的代理agent开始运行,agent通过安装的agentcomdevice的驱动程序接口打开agentcomdevice设备,并发送带有管理平台ip地址的连接控制命令给agentcomdevice。agentcomdevice收到连接控制命令后,通过云桌面虚拟机的ip地址的网卡与承载与服务器2的vdi管理平台建立socket连接;云桌面虚拟机的agent通过socket连接与vdi管理平台通信管理数据。24.图4为本技术实施例提供的云桌面网络拓扑示意图。25.图4中,云桌面虚拟机1启动之后,agent1通过安装的agentcomdevice驱动程序接口打开agentcomdevice1设备,并发送带有管理平台ip地址的连接控制命令给agentcomdevic1e。agentcomdevice1收到连接控制命令后,通过云桌面虚拟机的ip地址192.168.0.3的虚拟网卡与vdi管理平台建立socket连接。云桌面虚拟机1的ip地址192.168.0.虚拟网卡连接到业务网交换机,不转发任何管理数据的报文。26.云桌面虚拟机2启动之后,agent2通过安装的agentcomdevice驱动程序接口打开agentcomdevice2设备,并发送带有管理平台ip地址的连接控制命令给agentcomdevice2。agentcomdevice2收到连接控制命令后,通过云桌面虚拟机的ip地址192.168.124.1的虚拟网卡与vdi管理平台建立socket连接。云桌面虚拟机2的ip地址192.168.124.1虚拟网卡连接到业务网交换机,不转发任何管理数据的报文。27.agentcomdevice1和agentcomdevice2是虚拟的pci设备,具有sendbuffer(发送虚拟缓存)和recvbuffer(接收虚拟缓存)。本技术以agent1通过agentcomdevice1与vdi管理平台通信为例进行说明。28.agent1需要向vdi管理平台发送管理数据时,agent读取agentcomdevice1的虚拟sendbuffer的最大缓存长度寄存器、写地址寄存器和读地址寄存器,分别获取虚拟sendbuffer的最大缓存长度(size),writeindex(写地址索引)和readindex(读地址索引)。29.agent1根据虚拟sendbuffer的writeindex和size计算可写入长度(writable),当需要发送的管理数据小于可写入的长度,根据writeindex指示的写地址将待发送的管理数据写入agentcomdevice1的虚拟sendbuffer。agent1根据agentcomdevice1的虚拟sendbuffer被写入的新位置更新写地址寄存器的writeindex。30.agent1数据转发线程,读取agentcomdevice1的虚拟sendbuffer的最大缓存长度寄存器、写地址寄存器和读地址寄存器,分别获取虚拟sendbuffer的最大缓存长度,writeindex,readindex。31.agent1数据转发线程,根据虚拟sendbuffer的writeindex和readindex计算待发送管理数据的长度,从readindex指示的读地址开始读取待发送的云桌面虚拟机1的管理数据,通过socket连接发往vdi管理平台。agent1数据转发线程根据agentcomdevice1的虚拟sendbuffer被读取后的读取地址,更新虚拟sendbuffer的读地址存储器的readindex。32.当vdi管理平台向云桌面虚拟机1发送管理数据时,vdi管理平台通过socket连接发送管理数据;agent1数据转发线程读取agentcomdevice1的虚拟recvbuffer的最大缓存长度寄存器、写地址寄存器和读地址寄存器,分别获取虚拟recvbuffer的最大缓存长度(size),writeindex(写地址索引)和readindex(读地址索引)。33.agent1数据转发线程根据虚拟recvbuffer的writeindex和size计算可写入长度,当需要发送的管理数据小于可写入的长度,根据writeindex指示的写地址将待接收的管理数据写入agentcomdevice1的虚拟recvbuffer。agent1数据转发线程根据agentcomdevice1的虚拟recvbuffer写入后的位置,更新虚拟recvbuffer的写地址存储器的writeindex。34.agent1读取agentcomdevice1的虚拟recvbuffer的最大缓存长度寄存器、写地址寄存器和读地址寄存器,分别获取虚拟recvbuffer的最大缓存长度,writeindex,readindex。agent1根据虚拟recvbuffer的writeindex和readindex计算待读取管理数据的长度,从readindex指示的读地址开始读取待读取管理数据。agent1数据转发线程根据agentcomdevice1的虚拟recvbuffer被读取后的未知,更新虚拟recvbuffer的读地址存储器的readindex。35.云桌面虚拟机2与vdi管理平台通过虚拟硬件pci设备agentcomdevice2通信管理数据的方式相同,不再赘述,云桌面虚拟机2可以通过ip地址为192.168.124.1虚拟网卡与vdi管理平台通信管理数据。36.本技术图3和图4通过虚拟硬件pci设备转发云桌面虚拟机的agent与vdi管理平台之间的管理数据,隔离管理网络与业务网络,避免现有技术中云桌面虚拟机的通过两个虚拟网卡及两个虚拟交换机隔离转发的复杂实现,简化了虚拟机的管理网络数据与业务网络数据的隔离。37.图5为本技术实施例提供的实现虚拟机管理数据通信的设备的示意图,该设备50包括处理器以及存储器;存储器用于存储处理器可执行指令其中,处理器通过运行存储器中的处理器可执行指令用以执行以下操作:为每个虚拟机创建一个虚拟硬件pci设备;为每个虚拟机安装虚拟硬件pci设备驱动程序;为每个虚拟机设置代理agent;每个agent运行虚拟硬件pci设备驱动程序,通过所在虚拟机的对应虚拟硬件pci设备与虚拟桌面架构管理平台通信管理数据。38.处理器通过运行存储器中的处理器可执行指令执行每个agent运行虚拟硬件pci设备驱动程序,通过所在虚拟机的对应虚拟硬件pci设备与虚拟桌面架构管理平台通信管理数据包括:每个agent调用虚拟硬件pci设备驱动程序打开所在虚拟机的对应虚拟硬件pci设备,发送带有虚拟桌面架构管理平台ip地址的连接控制命令;每个虚拟硬件pci设备以对应虚拟机的ip地址与虚拟桌面架构管理平台ip地址建立套接字连接;每个agent通过所在虚拟机的对应虚拟硬件pci设备建立的套接字连接发送和接收管理数据。39.处理器通过运行存储器中的处理器可执行指令执行每个agent通过所在虚拟机的对应虚拟硬件pci设备建立的套接字连接发送和接收管理数据包括:每个agent将所在虚拟机的本地管理数据写入对应虚拟硬件pci设备的虚拟发送缓存;每个虚拟硬件pci设备将本设备的虚拟发送缓存写入的本地管理数据通过已建立的套接字连接发送;每个虚拟硬件pci设备通过已建立的套接字连接接收远程管理数据,写入本设备的虚拟接收缓存;每个agent从所在虚拟机的对应虚拟硬件pci设备的虚拟接收缓存读取远程管理数据。40.处理器通过运行存储器中的处理器可执行指令执行每个agent将所在虚拟机的本地管理数据写入对应虚拟硬件pci设备的虚拟发送缓存包括:每个agent读取所在虚拟机的对应虚拟硬件pci设备的虚拟发送缓存的长度以及写地址;确定待发送本地管理数据可以写入,从虚拟发送缓存的写地址开始写入待发送本地管理数据;处理器通过运行存储器中的处理器可执行指令执行每个agent从所在虚拟机的对应虚拟硬件pci设备的虚拟接收缓存读取远程管理数据:每个agent读取所在虚拟机的对应虚拟硬件pci设备的虚拟接收缓存的读地址以及写地址,确定待读取远程管理数据的字节数,从虚拟缓存读地址开始按照待读取远程数据的字节数读取。41.处理器通过运行存储器中的处理器可执行指令执行每个虚拟硬件pci设备将本设备的虚拟发送缓存写入的本地管理数据通过已建立的套接字连接发送包括:每个虚拟硬件pci设备通过代理agent数据转发线程,读取本设备的虚拟发送缓存的读地址以及写地址,确定待发送本地管理数据的字节数,从本设备的虚拟发送缓存的读地址开始按照待发送本地管理数据的字节数读取待发送本地管理数据,通过套接字连接发送;处理器通过运行存储器中的处理器可执行指令执行每个虚拟硬件pci设备通过已建立的套接字连接接收远程管理数据,写入本设备的虚拟接收缓存包括:每个虚拟硬件pci设备启动代理agent数据转发线程,通过套接字连接接收远程管理数据,读取本设备的虚拟技术缓存的长度以及写地址,确定接收的远程管理数据可以写入,从虚拟接收缓存的写地址开始写入接收的远程管理数据。42.以上仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1