本发明属于虚拟机及容器管理技术领域,具体涉及一种基于web可视化虚拟机及容器管理方法及系统。
背景技术:
随着云计算、大数据业务攻城略地式的发展,各大数据中心数以千计的虚拟机、容器的运维管理已提上日程。以传统的运维方式管理维护数据巨量的虚拟机、容器或者以单独的虚拟机管理平台、容器管理平台来管理,不但运维成本高,运维效率也十分低下,且需多个云管平台间来回切换,各平台间虚拟机、容器间的状态对比也不直观,不易排查状态异常的虚拟机。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于web可视化虚拟机及容器管理方法及系统,是非常有必要的。
技术实现要素:
本发明的目的在于,针对上述传统的虚拟机、容器管理方式,运维成本高,运维效率低下的缺陷,提供一种基于web可视化虚拟机及容器管理方法及系统,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于web可视化虚拟机及容器管理方法,包括如下步骤:
s1.后台服务器端与虚拟机及容器建立关联;
s2.后台服务器端与web界面所在显示节点建立关联;
s3.web界面获取操作指令;
s4.web界面所在显示节点将操作指令发送到后台服务器端;
s5.后台服务器端对操作指令进行解析;
s6.后台服务器端根据操作指令解析结果对虚拟机或容器进行操作;
返回步骤s3。
进一步地,步骤s3中操作指令包括管理指令和排查指令;
步骤s6具体步骤如下:
s61.若操作指令为管理指令,且操作指令解析结果为对虚拟机进行操作,后台服务器端对相应的虚拟机进行管理;返回步骤s3;
s62.若操作指令为管理指令,且操作指令解析结果为对容器进行操作,后台服务器端对相应的容器进行管理;返回步骤s3;
s63.若操作指令为排查指令,后台服务器端获取排查指令中虚拟机名称或容器名称,对相应的容器或虚拟机对应的宿主机进行排查,并将排查结果返回web界面;返回步骤s3。排查结果返回web界面,web界面展示虚拟机或容器的当前状态,方便运维人员快速定位问题所在。
进一步地,步骤s61中,后台服务器端通过系统调用的方式调用libvirt接口对相应的虚拟机行管理。libvirt是用于管理虚拟化平台的开源的api,后台程序和管理工具,它可以用于管理kvm、xen、vmwareesx,qemu和其他虚拟化技术。
进一步地,所述容器包括docker容器和lxc容器;
步骤s62中,后台服务器端通过tcp协议连接相应的docker容器的守护进程,并通过与docker容器守护进程通信对相应docker容器进行管理;
或者,后台服务器端通过http协议连接相应的lxc容器的守护进程,并通过与lxc容器守护进程通信对相应lxc容器进行管理。
进一步地,步骤s63中对相应的容器或虚拟机对应的宿主机进行排查;具体步骤如下:
s631.排查宿主机的网络状态和cpu、内存使用情况是否正常;
s632.排查虚拟机或容器对应的进程及其守护进程状态是否正常;
s633.排查虚拟机或容器的网络状态和cpu、内存使用情况是否正常;
s634.排查虚拟机或容器是否遭受非法或恶意攻击。
进一步地,若被排查宿主机网络状态异常,或者,虚拟机或容器网络状态异常,则判定,网络异常导致虚拟机或容器异常。
进一步地,步骤s4中,web界面所在显示节点将操作指令以restfull接口请求的方式发送到后台服务器端。rest是representationalstatetransfer的缩写,restfull即表现层状态转化。
本发明还给出如下技术方案:
一种基于web可视化虚拟机及容器管理系统,包括
第一映射模块,用于将后台服务器端与虚拟机及容器建立关联;
第二映射模块,用于将后台服务器端与web界面所在显示节点建立关联;
操作指令获取模块,用于通过web界面获取操作指令;
操作指令发送模块,用于将web界面所在显示节点将操作指令发送到后台服务器端;
操作指令解析模块,用于通过后台服务器端对操作指令进行解析;
虚拟机容器操作模块,用于通过后台服务器端根据操作指令解析结果对虚拟机或容器进行操作。
进一步地,虚拟机容器操作模块包括:
虚拟机管理单元,用于当操作指令为管理指令,且操作指令解析结果为对虚拟机进行操作时,通过后台服务器端对相应的虚拟机进行管理;
容器管理单元,用于当操作指令为管理指令,且操作指令解析结果为对容器进行操作时,通过后台服务器端对相应的容器进行管理;
排查单元,用于当操作指令为排查指令时,通过后台服务器端获取排查指令中虚拟机名称或容器名称,对相应的容器或虚拟机对应的宿主机进行排查,并将排查结果返回web界面。
进一步地,排查单元包括:
宿主机排查子单元,用于排查宿主机的网络状态和cpu、内存使用情况是否正常;
进程排查子单元,用于排查虚拟机或容器对应的进程及其守护进程状态是否正常;
虚拟机容器排查子单元,用于排查虚拟机或容器的网络状态和cpu、内存使用情况是否正常;
攻击排查子单元,用于排查虚拟机或容器是否遭受非法或恶意攻击。
本发明的有益效果在于:
本发明通过操作web界面,管理虚拟机、容器运行状态,排查虚拟机、容器异常情况等,实现运维管理员快速定位问题,而无需亲自去机房登录每个服务器进行排查,既节约了成本,又提高了效率,且无需多平台之间切换。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的方法流程图一;
图2为本发明的方法流程图二;
图3为本发明的系统示意图;
其中,1-第一映射模块;2-第二映射模块;3-操作指令获取模块;4-操作指令发送模块;5-操作指令解析模块;6-虚拟机容器操作模块;6.1-虚拟机管理单元;6.2-容器管理单元;6.3-排查单元;6.3.1-宿主机排查子单元;6.3.2-进程排查子单元;6.3.3-虚拟机容器排查子单元;6.3.4-攻击排查子单元。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
实施例1:
如图1所示,本发明提供一种基于web可视化虚拟机及容器管理方法,包括如下步骤:
s1.后台服务器端与虚拟机及容器建立关联;
s2.后台服务器端与web界面所在显示节点建立关联;
s3.web界面获取操作指令;
s4.web界面所在显示节点将操作指令以restfull接口请求的方式发送到后台服务器端;
s5.后台服务器端对操作指令进行解析;
s6.后台服务器端根据操作指令解析结果对虚拟机或容器进行操作;
返回步骤s3。
实施例2:
如图2所示,本发明提供一种基于web可视化虚拟机及容器管理方法,包括如下步骤:
s1.后台服务器端与虚拟机及容器建立关联;
s2.后台服务器端与web界面所在显示节点建立关联;
s3.web界面获取操作指令;操作指令包括管理指令和排查指令;
s4.web界面所在显示节点将操作指令发送到后台服务器端;
s5.后台服务器端对操作指令进行解析;
s6.后台服务器端根据操作指令解析结果对虚拟机或容器进行操作;具体步骤如下:
s61.若操作指令为管理指令,且操作指令解析结果为对虚拟机进行操作,后台服务器端通过系统调用的方式调用libvirt接口对相应的虚拟机进行管理;返回步骤s3;
s62.若操作指令为管理指令,且操作指令解析结果为对容器进行操作,容器包括docker容器和lxc容器,后台服务器端通过tcp协议连接相应的docker容器的守护进程,并通过与docker容器守护进程通信对相应的容器进行管理;或者,后台服务器端通过http协议连接相应的lxc容器的守护进程,并通过与lxc容器守护进程通信对相应lxc容器进行管理;返回步骤s3;
s63.若操作指令为排查指令,后台服务器端获取排查指令中虚拟机名称或容器名称,对相应的容器或虚拟机对应的宿主机进行排查,并将排查结果返回web界面;具体步骤如下:
s631.排查宿主机的网络状态和cpu、内存使用情况是否正常;
s632.排查虚拟机或容器对应的进程及其守护进程状态是否正常;
s633.排查虚拟机或容器的网络状态和cpu、内存使用情况是否正常;
s634.排查虚拟机或容器是否遭受非法或恶意攻击;
返回步骤s3。
上述实施例2中,若被排查宿主机网络状态异常,或者,虚拟机或容器网络状态异常,则判定,网络异常导致虚拟机或容器异常。
实施例3:
如图3所示,一种基于web可视化虚拟机及容器管理系统,包括
第一映射模块1,用于将后台服务器端与虚拟机及容器建立关联;
第二映射模块2,用于将后台服务器端与web界面所在显示节点建立关联;
操作指令获取模块3,用于通过web界面获取操作指令;
操作指令发送模块4,用于将web界面所在显示节点将操作指令发送到后台服务器端;
操作指令解析模块5,用于通过后台服务器端对操作指令进行解析;
虚拟机容器操作模块6,用于通过后台服务器端根据操作指令解析结果对虚拟机或容器进行操作;虚拟机容器操作模块6包括:
虚拟机管理单元6.1,用于当操作指令为管理指令,且操作指令解析结果为对虚拟机进行操作时,通过后台服务器端对相应的虚拟机进行管理;
容器管理单元6.2,用于当操作指令为管理指令,且操作指令解析结果为对容器进行操作时,通过后台服务器端对相应的容器进行管理;
排查单元6.3,用于当操作指令为排查指令时,通过后台服务器端获取排查指令中虚拟机名称或容器名称,对相应的容器或虚拟机对应的宿主机进行排查,并将排查结果返回web界面;排查单元6.3包括:
宿主机排查子单元6.3.1,用于排查宿主机的网络状态和cpu、内存使用情况是否正常;
进程排查子单元6.3.2,用于排查虚拟机或容器对应的进程及其守护进程状态是否正常;
虚拟机容器排查子单元6.3.3,用于排查虚拟机或容器的网络状态和cpu、内存使用情况是否正常;
攻击排查子单元6.3.4,用于排查虚拟机或容器是否遭受非法或恶意攻击。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。