基于OpenStack的机架服务器仿真方法和系统与流程

文档序号:12463170阅读:214来源:国知局
基于OpenStack的机架服务器仿真方法和系统与流程

本发明涉及设备仿真领域,更具体地,涉及一种基于OpenStack的机架服务器仿真方法和系统。



背景技术:

机架服务器价格昂贵,重量较大,搬运成本高。在教学或培训中,难以让每个学员在实际机架服务器上操作,主要以书本和理论的讲述为主。学员在培训后,面对实际的机架服务器时,基本操作都并不了解,直接操作容易造成设备故障。此外,机架服务器厂商在向客户介绍产品时,主要侧重于参数和相关技术等方面的图文介绍,客户无法从直观上了解设备的实际外形。因此,亟需一种能够低成本地对机架服务器进行产品演示、模拟操作的机架服务器仿真方式。

OpenStack虚拟化平台是业界开源免费的虚拟化平台,其定制化程度中,使用灵活。OpenStack虚拟化平台包括实现虚拟资源管理的OpenStack服务器和实现虚拟化的Hypervisor。VirtualBox是Oracle出品的成熟稳定、开源免费的桌面级虚拟化解决方案。



技术实现要素:

本发明旨在至少在一定程度上解决上述技术问题。

本发明的首要目的是解决机架服务器价格昂贵,其培训和演示困难等问题,提供能够低成本地对机架服务器进行产品演示、模拟操作的基于OpenStack的机架服务器仿真方法。

为解决上述技术问题,本发明的技术方案如下所述。

根据本发明实施例的一个方面,本发明提出一种基于OpenStack的机架服务器仿真方法,所述方法包括:

获取虚拟现实服务器所生成的操作脚本;

根据所述操作脚本向VirtualBox服务器发送操作指令;

获取所述VirtualBox服务器执行所述操作指令的结果;

将所述操作指令的执行结果发送到虚拟现实服务器。

在一种优选的方案中,获取虚拟现实服务器所生成的操作脚本步骤前还包括:

获取机架服务器的数据模型;

基于所述数据模型生成虚拟机配置文件;

基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令。

根据本发明实施例的另一方面,本发明提出一种基于OpenStack的机架服务器仿真方法,所述方法包括:

获取对机架服务器仿真模型的交互动作;

根据所述交互动作生成操作脚本;

发送所述操作脚本到OpenStack服务器;

获取所述操作脚本的执行结果;

根据所述执行结果生成虚拟现实场景。

在一种优选的方案中,获取对机架服务器仿真模型的交互动作步骤前还包括:

获取机架服务器的数据模型;

基于所述数据模型建立机架服务器仿真模型。

根据本发明实施例的再一方面,本发明提出一种OpenStack服务器,所述OpenStack服务器包括:

获取模块,用于获取虚拟现实服务器所生成的操作脚本;

发送模块,用于根据所述操作脚本向VirtualBox服务器发送操作指令;

所述获取模块,还用于获取所述VirtualBox服务器执行所述操作指令的结果;

所述发送模块,还用于将所述操作指令的执行结果发送到虚拟现实服务器。

在一种优选的方案中,所述OpenStack服务器还包括:

所述获取模块,还用于获取机架服务器的数据模型;

配置模块,用于基于所述数据模型生成虚拟机配置文件;

所述发送模块,还用于基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令。

根据本发明实施例的又一方面,本发明提出一种虚拟现实服务器,所述虚拟现实服务器包括:

交互模块,用于获取对机架服务器仿真模型的交互动作;

生成模块,用于根据所述交互动作生成操作脚本;

发送模块,用于发送所述操作脚本到OpenStack服务器;

获取模块,用于获取所述操作脚本的执行结果;

所述生成模块,还用于根据所述执行结果生成虚拟现实场景。

在一种优选的方案中,所述虚拟现实服务器还包括:

所述获取模块,还用于获取机架服务器的数据模型;

仿真模型模块,用于基于所述数据模型建立机架服务器仿真模型。

在一种优选的方案中,所述仿真模型模块包括外部三维模型 、主要部件三维模型、可选配件三维模型,其中,

所述外部三维模型包括:三维按键模型、三维硬盘模型、三维指示灯模型、三维机箱模型、三维风扇模型和三维电源模型;

所述主要部件三维模型包括:三维主板模型、三维CPU模型、三维内存模型和三维散热片模型;

所述可选配件三维模型还包括:三维内存板模型、三维PCI-E扩展卡模型、三维光纤模块模型、三维网卡模型、三维HBA卡模型或三维显示器模型。

一种基于OpenStack的机架服务器仿真系统,所述系统包括:

所述虚拟现实服务器;

所述的OpenStack服务器;

VirtualBox服务器;

所述虚拟现实服务器、所述OpenStack服务器和VirtualBox服务器通过网络相连接。

与现有技术相比,本发明技术方案的优点有:

1、结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,通过OpenStack服务器将交互动作转化成对VirtualBox服务器的操作,获得的交互体验和反馈与真实服务器高度一致,方便对服务器产品演示和模拟操作;

2、通过配置数据模型,即可生成虚拟现实中的服务器模型和OpenStack服务器,不需要针对不同配置的服务器重新建模,方便快捷;

3、虚拟现实中的三维模型包括外部三维模型 、主要部件三维模型、可选配件三维模型,适应具有不同硬件配置的机架服务器;

4、OpenStack和VirtualBox均是开源的虚拟化解决方案,成本低廉,且可定制化程序高;

5、VirtualBox是桌面虚拟化方案,可以非常方便地集成在一台桌面级计算机中,如笔记本电脑。因此,本发明的技术方案可以将虚拟现实服务器、OpenStack服务器和VirtualBox服务器集成在一台笔记本电脑中,方便随时随地对服务器产品进行模拟操作和仿真演示。

与现有技术相比,本发明技术方案的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的机架服务器仿真方法和系统。

附图说明

图1为本发明实施例机架服务器仿真方法的流程图。

图2为本发明实施例机架服务器仿真方法的新建虚拟机流程图。

图3为本发明另一实施例机架服务器仿真方法的流程图。

图4为本发明另一实施例机架服务器仿真方法的建立仿真模型流程图。

图5为本发明实施例OpenStack服务器的示意图。

图6为本发明实施例虚拟现实服务器的示意图。

图7为本发明机架服务器仿真系统的示意图。

其中: 3、OpenStack服务器;4、虚拟现实服务器; 5、VirtualBox服务器;301、获取模块;302、发送模块;303、配置模块; 401、交互模块;402、生成模块;403、发送模块;404、获取模块;405、仿真模型模块。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,根据本发明实施例的一个方面,本发明实施例提出一种基于OpenStack的机架服务器仿真方法,所述方法包括:

S110:获取虚拟现实服务器所生成的操作脚本;

S120:根据所述操作脚本向VirtualBox服务器发送操作指令;

S130:获取所述VirtualBox服务器执行所述操作指令的结果;

S140:将所述操作指令的执行结果发送到所述虚拟现实服务器。

在具体实施过程中,如图2所示,获取虚拟现实服务器所生成的操作脚本步骤前还包括:

S101:获取机架服务器的数据模型;

S102:基于所述数据模型生成虚拟机配置文件;

S103:基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令。

实现时,机架服务器的数据模型的获取方式可以为:由默认配置文件生成,或在虚拟现实场景中用户手动设置,又或导入配置数据文件生成。

在具体实施过程中,所述数据模型携带有服务器的配置信息,所述配置信息包括服务器型号、CPU型号、核数、颗数、内存根数、内存容量、内存板数量、硬盘容量、硬盘个数、风扇个数、光纤口数量、HBA卡数量或电源数量。如不携带配置信息,则采用预设配置。

在具体实施过程中,基于所述数据模型生成虚拟机配置文件步骤还包括,根据所述数据模型所携带有服务器的配置信息,OpenStack服务器生成虚拟机配置文件。虚拟机配置文件包括类型、虚拟机名称、内存参数(memory最大内存、currentMemory现有内存)、虚拟CPU个数(vcpu)、镜像参数(disk)、网络连接参数等。其中,类型(domain type)设为vbox。例如,配置信息包括 1颗 CPU、2根2G 内存(共4G最大内存)、5个500G硬盘的虚拟机配置文件如下所示:

<domain type='vbox'>

<name>test_1</name>

<uuid>fd3535db-2558-43e9-b067-314f48211343</uuid>

<memory>4194304</memory>

<currentMemory>1048576</currentMemory>

<vcpu>1</vcpu>

<os>

<type arch='x86_64' machine='pc'>hvm</type>

<boot dev='cdrom'/>

</os>

<features>

<acpi/>

<apic/>

<pae/>

</features>

<clock offset='localtime'/>

<on_poweroff>destroy</on_poweroff>

<on_reboot>restart</on_reboot>

<on_crash>destroy</on_crash>

<devices>

<disk type='file' device='disk'>

<driver name='tap type='raw'/>

<source file='/home/createvm/test_disk1.raw'/>

<target dev='hda' bus='ide'/>

</disk>

<disk type='file' device='disk'>

<driver name=' tap ' type='raw'/>

<source file='/home/createvm/test_disk2.raw'/>

<target dev='hdb' bus='ide'/>

</disk>

<disk type='file' device='cdrom'>

<source file='/home/createvm/ubuntu.iso'/>

<target dev='hdb' bus='ide'/>

</disk>

<interface type='bridge'>

<source bridge='br0'/>

<mac address="00:16:3e:5d:aa:a8"/>

</interface>

<input type='mouse' bus='ps2'/>

<graphics type='vnc' port='-1' autoport='yes' listen = '0.0.0.0' keymap='en-us'/>

</devices>

</domain>。

在具体实施过程中,基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令步骤前,设置KVM服务器的Nova配置文件nova.conf以使OpenStack服务器可以控制VirtualBox服务器。nova.conf的配置参数包括:计算节点名称(host)、libvirt类型(libvirt_type)、计算节点驱动(compute_driver)、OpenStack控制节点参数。其中,libvirt类型(libvirt_type)、计算节点驱动(compute_driver)设定为:

libvirt_type=vbox

compute_driver=nova.virt.libvirt.LibvirtDriver

例如:以下为VBHost为主机名的VirtualBox服务器作为计算节点,192.168.23.132为控制节点时的配置文件:

host = VBHost

libvirt_type=vbox

compute_driver=nova.virt.libvirt.LibvirtDriver

sql_connection = mysql://nova:nova@controller_node_ip/nova

glance_api_servers=192.168.23.132:9292

qpid_hostname=192.168.23.132

auth_host = 192.168.23.132

auth_uri = http:// 192.168.23.132:35357/

在具体实施过程中,根据所述操作脚本向VirtualBox服务器发送操作指令步骤中,所述的操作指令中还包括了操作内容和操作对象标识。如,接收到关机操作脚本后,OpenStack服务器向VirtualBox服务器发送关机指令。关机指令包括关机操作命令要执行关机操作的虚拟机IP或虚拟机主机名。

在具体实施过程中,VirtualBox服务器在虚拟机中执行操作指令,并将执行操作指令的结果反馈到OpenStack服务器。如,VirtualBox服务器对虚拟机执行关机操作指令,并将关机结果反馈到OpenStack服务器。

在具体实施过程中,基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令步骤还包括,VirtualBox服务器的新建虚拟机指令包含VBoxManage命令行。

例如,建立名为test1、2G内存、100G自动增长硬盘的虚拟机所包含的VBoxManage命令行如下:

VBoxManage.exe createvm --name test1 –register

VBoxManage.exe modifyvm vm_name --memory 2048 --vram 64 --acpi on --boot1 dvd --ostype "RedHat_64"

VBoxManage.exe createhd --filename "E:/VM/disk_name.vdi" --format VDI --size 102400 --variant ESX

VBoxManage.exe storageattach vm_name --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "E:/VM/disk_%1.vdi"

VBoxManage.exe storageattach vm_name --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "E:/os/rhel-server-6.1-x86_64-dvd.iso"。

在具体实施过程中,根据所述操作脚本向VirtualBox服务器发送操作指令步骤还包括,所述操作指令包含VBoxManage命令行。

本实施例的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的基于OpenStack的机架服务器仿真方法。

实施例2

如图3所示,根据本发明实施例的另一方面,本发明提出一种基于OpenStack的机架服务器仿真方法,所述方法包括:

S210:获取对机架服务器仿真模型的交互动作;

S220:根据所述交互动作生成操作脚本;

S230:发送所述操作脚本到OpenStack服务器;

S240:获取所述操作脚本的执行结果;

S250:根据所述执行结果生成虚拟现实场景。

在具体实施过程中,如图4所示,获取对机架服务器仿真模型的交互动作步骤前还包括:

S201:获取机架服务器的数据模型;

S202:基于所述数据模型建立机架服务器仿真模型。

在具体实施过程中,所述数据模型携带有服务器的配置信息,所述配置信息包括服务器型号、CPU型号、核数、颗数、内存根数、内存容量、内存板数量、硬盘容量、硬盘个数、风扇个数、光纤口数量、HBA卡数量或电源数量。如不携带配置信息,则采用预设配置。

在具体实施过程中,基于所述数据模型建立机架服务器仿真模型步骤后还包括:

所述机架服务器仿真模型中的部件与VirtualBox服务器所生成虚拟机的虚拟部件建立对应关系。

在具体实施过程中,所述基于所述数据模型建立机架服务器仿真模型步骤中,根据数据模型,虚拟现实服务器生成对应部件的三维模型,按服务器空间几何关系排列组合而成,完成所述服务器仿真模型的构建。

在具体实施过程中,服务器仿真模型可使用Unity 3D或Unreal Engine 4虚幻引擎构建。

在具体实施过程中,所述发送所述操作脚本到OpenStack服务器步骤前,虚拟现实服务器通过OpenStack client、cURL、Rest API或Openctack命令行接口与OpenStack服务器建立连接。

在具体实施过程中,所述操作脚本包括操作内容、操作对象标识。操作对象标识包括虚拟机ID。

在具体实施过程中,用户对机架服务器仿真模型的交互动作被获取后,在虚拟现实服务器中转化成相应的操作脚本。例如,用户点击关机按钮,就产生了关机操作脚本。关机操作脚本中包含要执行关机的虚拟机名test1和关机的命令stop,即包括命令:

virsh stop test1。

如用户在关机后,在虚拟现实环境中打开三维机箱模型,拆走一块三维内存模型,产生拆卸内存操作脚本。拆卸内存操作脚本包含要执行关机的虚拟机名和更改虚拟机内存容量参数。例如,从2根2G内存的虚拟机中拔掉1根2G内存,则虚拟机配置文件libvirt.xml中,主机名为test_1的虚拟机的内存参数从原来的<memory>4194304</memory>修改为:

<memory>2097152</memory>

在虚拟现实环境下重新打开主机test_1后,触动开机命令,开机操作脚本包括:

virsh start test_1

在完成开机,即可看到内存已经从4G减少到2G。

在具体实施过程中,虚拟现实服务器根据所述操作脚本的执行结果,生成新的虚拟现实场景。如,在执行关机操作后关机成功,则在虚拟现实服务器所生成的服务器仿真模型的图形中,服务器运行状态指示灯从表示正常运行的绿色变为表示下电状态的灰色,硬盘指示灯从绿色变为灰色。

本实施例的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的基于OpenStack的机架服务器仿真方法。

实施例3

如图5所示,根据本发明实施例的再一方面,本发明提出一种OpenStack服务器,所述OpenStack服务器3包括:

获取模块301,用于获取虚拟现实服务器所生成的操作脚本;

发送模块302,用于根据所述操作脚本向VirtualBox服务器发送操作指令;

所述获取模块301,还用于获取所述VirtualBox服务器执行所述操作指令的结果;

所述发送模块302,还用于将所述操作指令的执行结果发送到虚拟现实服务器。

在具体实施过程中,所述OpenStack服务器还包括:

所述获取模块301,还用于获取机架服务器的数据模型;

配置模块303,用于基于所述数据模型生成虚拟机配置文件;

所述发送模块302,还用于基于所述虚拟机配置文件向VirtualBox服务器发送新建虚拟机指令。

本实施例的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的OpenStack服务器。

实施例4

如图6所示,根据本发明实施例的又一方面,本发明提出一种虚拟现实服务器,所述虚拟现实服务器4包括:

交互模块401,用于获取对机架服务器仿真模型的交互动作;

生成模块402,用于根据所述交互动作生成操作脚本;

发送模块403,用于发送所述操作脚本到OpenStack服务器;

获取模块404,用于获取所述操作脚本的执行结果;

所述生成模块401,还用于根据所述执行结果生成虚拟现实场景。

在具体实施过程中,所述虚拟现实服务器还包括:

所述获取模块404,还用于获取机架服务器的数据模型;

仿真模型模块405,用于基于所述数据模型建立机架服务器仿真模型。

在具体实施过程中,所述仿真模型模块405包括外部三维模型 、主要部件三维模型、可选配件三维模型,其中,

所述外部三维模型包括:三维按键模型、三维硬盘模型、三维指示灯模型、三维机箱模型、三维风扇模型和三维电源模型;

所述主要部件三维模型包括:三维主板模型、三维CPU模型、三维内存模型和三维散热片模型;

所述可选配件三维模型还包括:三维内存板模型、三维PCI-E扩展卡模型、三维光纤模块模型、三维网卡模型、三维HBA卡模型或三维显示器模型。

虚拟现实中的仿真模型模块三维模型包括外部三维模型 、主要部件三维模型、可选配件三维模型,适应具有不同配置的服务器。

通过配置数据模型,即可生成虚拟现实中的机架服务器仿真模型和OpenStack服务器,不需要针对不同配置的服务器重新建模,方便快捷。如,配置信息包括:1颗 CPU、2根2G 内存、5个500G硬盘,则生成了带有1颗 CPU、2根2G 内存、5个500G硬盘的机架服务器仿真模型。

本实施例的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的虚拟现实服务器。

实施例5

如图7所示,根据本发明实施例的再一方面,本发明提出一种基于OpenStack的机架服务器仿真系统,所述系统包括:

所述虚拟现实服务器4;

所述OpenStack服务器3;

安装有VirtualBox虚拟化软件的VirtualBox服务器5;

所述虚拟现实服务器4、所述OpenStack服务器3和VirtualBox服务器5通过网络相连接。

本实施例的有益效果是:结合虚拟现实技术与服务器虚拟化技术,建立了可交互的服务器虚拟现实模型,将交互动作转化成在OpenStack服务器中能执行的操作脚本,并发送操作指令到VirtualBox服务器的操作,获得与真实服务器高度一致的交互体验,方便对服务器产品进行演示和模拟操作,提供了低成本地对机架服务器进行产品演示、模拟操作的基于OpenStack的机架服务器仿真系统。

本实施例提供的机架服务器仿真系统是实现上述方法的硬件基础,所述方法、服务器和系统结合实现了机架服务器,能够低成本地对机架服务器进行产品演示、模拟操作。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1