发明名称 基于J2EE架构的远程KVM虚拟机管理系统的工作方法
摘要 基于J2EE架构的远程KVM虚拟机管理系统的工作方法,属计算系统虚拟技术领域,通过调用KVM的libvirt开发接口,利用J2EE架构技术,实现对虚拟机和虚拟存储的管理工作。该系统包括客户端、web服务器、虚拟化服务器集群和共享存储服务器四个模块,用户登录后可以进行如下四方面管理工作:用户管理、存储管理、虚拟机管理和集群管理。用户在管理虚拟化集群之前不用先安装客户端,只要有浏览器的终端都可以通过该系统来进行管理工作,直接通过浏览器登陆即可进行管理,管理工作不用限定在特定的客户机以及特定的网络环境中。由于web服务器取代了管理中心服务器,使系统的资源消耗更少,管理方式更加灵活,提高了管理效率。
申请公布号 CN103699430A 申请公布日期 2014.04.02
申请号 CN201410003917.7 申请日期 2014.01.06
申请人 山东大学 发明人 袁东风;王宏宾;刘亚;党飞
分类号 G06F9/455(2006.01)I;G06F9/44(2006.01)I;H04L29/08(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 许德山
主权项 一种基于J2EE架构的远程KVM虚拟机管理系统的工作方法,由以下系统来实现,该系统包括客户端、web服务器、虚拟化服务器集群和共享存储服务器,其中客户端是具有浏览器的上网设备,操作系统是linux、windows甚或是嵌入式操作系统,客户端用于发送请求、登陆、显示虚拟机管理界面、用户操作,用户的操作通过表单的形式提交给web服务器;web服务器安装web容器tomcat,操作系统采用linux或windows,将完成管理工作的J2EE工程放在web容器里;虚拟化服务器集群上统一安装linux操作系统、KVM虚拟化软件和libvirt接口,并与web服务器建立ssh无密码连接;共享存储服务器是一个磁盘阵列,安装freenas后通过ip网络向虚拟化集群提供数据存储服务,其中,客户端发送请求并接收服务器虚拟机管理信息的过程,步骤如下:a1)开始;a2)客户端连接到web服务器,获取用户登陆界面;a3)客户端发送主机IP<hostIP>、用户名<userName>和密码<userPass>到web服务器;a4)web服务器获取主机IP<hostIP>、用户名<userName>、密码<userPass>,并封装用户登陆信息,建立ssh连接;a5)通过“qemu+ssh://”连接到虚拟化服务器集群模块;a6)虚拟化服务器集群验证用户登陆信息,并返回登陆结果;a7)web服务器读取主机名<hostName>、libvert版本<libVersion>、剩余内存<remainMem>信息;a8)web服务器读取虚拟机列表<vmlist>,并显示活动的虚拟机<activeDomainList>信息;a9)web服务器读取虚拟机配置,包括最大内存<maxMem>、虚拟机内存<domainMem>以及虚拟cpu数<vCpus>;a10)客户端浏览器通过访问web服务器,获取以上虚拟机信息,并通过jsp页面呈现给用户;a11)结束;用户登陆远程管理系统成功后,统一进行如下四方面的操作:用户管理、存储磁盘、虚拟机管理和集群管理,其中存储磁盘管理的方法,步骤如下:b1)在虚拟化集群服务器上,设置变量TotalDisk,UsedDisk,AvailDisk和UsedPercent,分别表示虚拟化集群服务器的总容量,虚拟化集群服务器的已用容量,虚拟化集群服务器的可用容量和虚拟化集群服务器的已用容量百分比,并均初始化为0;b2)虚拟化集群服务器通过当前的运行环境,获取一个执行查看磁盘容量信息的shell命令“df‑hl”的子程序,并从该子程序的输入流中逐行读取查看磁盘容量信息的shell命令的输出结果,循环执行b3)和b4),直至读取的行数据为空,然后跳至步骤b3);b3)虚拟化集群服务器从输出结果中读取一行数据,便将该数据作为一个字符串,并以空格作为分割,得到一个长度为7的字符串数组,该数组的第二个分量是虚拟集群服务器的可用容量,第五个分量是虚拟集群服务器的已用容量百分比,其中第二至第四个分量是由数字和磁盘容量单位“G”、“M”或者“K”组成的,第五个分量是由数字和百分号“%”组成的;b4)虚拟化集群服务器利用磁盘容量单位之间的1024进制,将第一个至第四个分量的磁盘容量单位均统一为“M”,并对第一至第五个分量分别进行累加处理;b5)虚拟化集群服务器通过JDBC连接MySQL数据库服务器,将获得的TotalDisk、UsedDisk、AvailDisk和UsedPercent的值相应地更新到服务器集群信息表中的虚拟化集群服务器的总容量、已用容量、可用容量和已用容量比例中;通过远程管理系统进行虚拟化服务器集群的管理,包括新建和删除虚拟机,查看和修改虚拟机配置信息,启动、挂起和关闭虚拟机,显示虚拟机界面,其中,新建虚拟机的步骤如下:c1)开始;c2)通过jsp页面,用户发送新建虚拟机<createVM>请求;c3)用户发送虚拟机配置信息,由字母、数字或下划线组成的虚拟机名<createDomN>、内存<createDomM>、虚拟CPU<createDomC>、MAC<domainMAC>;c4)web服务器通过调用servlet,将创建虚拟机的命令转换为字符串,然后与目标服务器建立ssh连接,通过配置文件将需要进行的操作发送到虚拟化服务器集群;c5)目标虚拟化服务器集群调用libvert库,依据虚拟机名<createDomN>、内存<createDomM>、虚拟CPU<createDomC>、MAC<domainMAC>创建虚拟机;c6)libvert调用内部脚本命令“kvm‑img create”生成硬盘镜像文件;生成xml配置文件,然后创建并运行虚拟机“virsh create”;c7)结束;通过远程管理系统进行虚拟化服务器集群的管理,其中,通过调用spice以图形界面方式查看虚拟机,该方法的步骤如下:d1)开始;d2)虚拟化服务器集群安装spice server插件,“#yum‑y install spice‑server”,并进行相关配置;d3)客户端通过jsp页面,发送查看图形界面虚拟机的请求;d4)系统检测客户端spice插件是否安装正确,如果没有正确安装,则提示用户下载安装插件;d5)在客户端系统正确安装spice插件后,在拦截到查看指令后,从网页启动spice插件,并将虚拟机参数传递给spice;d6)用户输入虚拟机的用户名和密码,接口查看该虚拟机的图形界面;d7)结束。
地址 250100 山东省济南市历城区山大南路27号