1.一种虚拟机的光盘热插拔方法,其特征在于,包括:
调用libvirt api,libvirt 根据配置文件创建带虚拟光驱的虚拟机;
根据创建的虚拟机信息更新数据库记录;
光盘资源共享存储区域中设有共享目录,光盘文件上传至共享目录中;
使用virsh工具的媒体文件切换接口,执行插入或者弹出光盘命令,完成对共享目录中的光盘热插拔操作。
2.根据权利要求1所述的虚拟机的光盘热插拔方法,其特征在于,调用libvirt api,libvirt 根据配置文件创建带虚拟光驱的虚拟机的具体步骤包括:
配置xml文件,指定hypervisor类型;
配置xml文件,为虚拟机分配虚拟光驱;
选定一个物理机节点,远程连接到该物理机节点上的libvirt;
调用libvirt api创建虚拟机,libvirt根据xml文件的配置确定hypervisor类型以及虚拟光驱,创建带虚拟光驱的虚拟机。
3.根据权利要求1所述的虚拟机的光盘热插拔方法,其特征在于,光盘资源共享存储区域通过NFS、glusterfs或SAN方式搭建。
4.根据权利要求1所述的虚拟机的光盘热插拔方法,其特征在于,对共享目录中的光盘完成热插拔中的热插入操作的具体步骤包括:
查询数据库,获取虚拟机所在的物理机节点;
远程连接到物理机节点上的libvirt;
调用libvirt的change-media接口,以插入方式指定光盘文件分配给虚拟机,完成光盘插入操作。
5.根据权利要求1-4任一项所述的虚拟机的光盘热插拔方法,其特征在于,对共享目录中的光盘完成热插拔中的热拔除操作的具体步骤包括:
查询数据库,获取虚拟机所在的物理机节点;
远程连接到物理机节点上的libvirt;
调用libvirt的change-media接口,以弹出方式弹出光盘文件,完成光盘拔除操作。
6.一种虚拟机的光盘热插拔系统,其特征在于,包括:
虚拟机创建模块,用于调用libvirt api,libvirt 根据配置文件创建带虚拟光驱的虚拟机;
数据库更新模块,用于根据创建的虚拟机信息更新数据库记录;
光盘文件处理模块,用于将光盘文件上传至光盘资源共享存储区域的共享目录;
光盘热插拔模块,用于使用virsh工具的媒体文件切换接口,执行插入或者弹出光盘命令,完成对共享目录中的光盘热插拔操作。
7.根据权利要求6所述的虚拟机的光盘热插拔系统,其特征在于,虚拟机创建模块具体包括:
Xml文件配置模块,用于配置xml文件,指定hypervisor类型和为虚拟机分配虚拟光驱;
远程调用模块,用于选定一个物理机节点,远程连接到该物理机节点上的libvirt;
创建模块,用于调用libvirt api创建虚拟机,libvirt根据xml文件的配置确定hypervisor类型以及虚拟光驱,创建带虚拟光驱的虚拟机。
8.根据权利要求6所述的虚拟机的光盘热插拔系统,其特征在于,光盘资源共享存储区域通过NFS、glusterfs或SAN方式搭建。
9.根据权利要求6-8任一项所述的虚拟机的光盘热插拔系统,其特征在于,光盘热插拔模块具体包括:
查询模块,用于查询数据库,获取虚拟机所在的物理机节点;
远程连接模块,用于远程连接到物理机节点上的libvirt;
热拔插模块,用于调用libvirt的change-media接口,以插入方式指定光盘文件分配给虚拟机,完成光盘插入操作;以及,调用libvirt的change-media接口,以弹出方式弹出光盘文件,完成光盘拔除操作。