公开/公告号CN105808247A
专利类型发明专利
公开/公告日2016-07-27
原文格式PDF
申请/专利权人 江苏辰云信息科技有限公司;
申请/专利号CN201610118456.7
发明设计人 葛春;
申请日2016-03-02
分类号G06F9/44(20060101);G06F9/455(20060101);
代理机构无锡市汇诚永信专利代理事务所(普通合伙);
代理人张欢勇
地址 214000 江苏省无锡市无锡新区太湖国际科技园530大厦C506
入库时间 2023-06-19 00:12:25
法律状态公告日
法律状态信息
法律状态
2019-11-12
著录事项变更 IPC(主分类):G06F9/451 变更前: 变更后: 申请日:20160302
著录事项变更
2019-01-22
授权
授权
2018-02-06
著录事项变更 IPC(主分类):G06F9/44 变更前: 变更后: 申请日:20160302
著录事项变更
2016-08-24
实质审查的生效 IPC(主分类):G06F9/44 申请日:20160302
实质审查的生效
2016-07-27
公开
公开
技术领域
本发明涉及桌面虚拟化技术领域,具体为一种基于Linux系统的虚拟化产品的物理光驱重定向方法。
背景技术
在桌面虚拟化技术领域,虚拟外设的支持是普遍的需求,也是各大厂商着重解决的技术问题。
在桌面虚拟化技术中,客户端连接到远程服务端上的虚拟机后,由于虚拟机和客户端并不在同一硬件设备上,为了达到和传统桌面一致的效果,客户端所在终端上的USB、光驱等外设需要通过技术手段重定向到虚拟机中。
由于物理光驱在本地使用时,具有以下两个特点:(1)不依赖操作系统,即bios启动即可找到光驱;(2)Windows系统中识别为光驱设备。因此,当物理光驱重定向到远端的虚拟机后也应当具备以上特点。
在目前的虚拟化产品领域,国内的虚拟化产品无法支持物理光驱的重定向,更无法实现将物理光驱重定向到远端的虚拟机后,使其还具备同物理光驱在本地使用时一样的特点;国外的虚拟化产品中,VMware实现了类似的功能,其方法是将本地的iso文件定向到虚拟机中,由于VMware属于商业产品,该方法的实现细节并未公开。
除上述问题外,目前的虚拟化产品还存在其客户端无法支持Linux系统的问题。
发明内容
针对现有的桌面虚拟化产品无法支持物理光驱的重定向且客户端无法支持Linux系统的问题,本发明提供一种基于Linux系统的虚拟化产品的物理光驱重定向方法。
为实现以上技术目的,本发明的技术方案是:
一种基于Linux系统的虚拟化产品的物理光驱重定向方法,所述虚拟化产品包括位于本地端的物理光驱、用于访问虚拟机的客户端和位于服务端的虚拟机,所述客户端具有物理光驱重定向服务,所述本地端和服务端均基于Linux系统,所述物理光驱重定向服务基于scstiscsi协议,将物理光驱作为iscsitarget,服务端作为iscsiinitiator建立scstiscsi服务,重定向步骤如下:
A.从客户端配置文件中检测当前连接的虚拟机的状态;
B.如果客户端正常连接虚拟机,并且已经获取到虚拟机id,则读取物理光驱中的内容;
C.将当前物理光驱的内容和上次保存的物理光驱内容进行比较,如果不同,则物理光驱作为iscsitarget启动scstiscsi服务并等待连接服务端;
D.连接到服务端并执行iscsi发现和iscsi登录操作;
E.iscsi发现和iscsi登录操作成功后,服务端拥有一个iscsi设备,然后执行qemu命令virshupdate-device<vm_name>cdrom.xml,将iscsi设备以块设备的方式关联到服务端的虚拟机光驱中;
F.虚拟机光驱动态加载iscsi设备中的内容,重定向过程完成。
从以上描述可以看出,本发明具备以下优点:
1.使用scstiscsi协议将本地物理光驱挂载到服务端上;使用scstiscsi协议可支持多种光驱设备,如CD、DVD等。
2.使用virsh动态加载服务端光驱设备到虚拟机中;virsh是qemu-kvm虚拟化的管理程序,使用其进行动态加载,可简化操作程序。
作为优选,步骤E中所述的连接到服务端的方式为:通过ssh协议连接服务端,服务端通过scstiscsi协议反向连接客户端,并且支持ssh隧道技术;使用ssh协议传输数据,不仅能够保证数据传输的安全性,而且突破了要求客户端和服务端之间的网络必须双向连通的限制。
附图说明
图1是本发明的逻辑流程图。
具体实施方式
结合图1,详细说明本发明的一个具体实施例,但不对本发明的权利要求做任何限定。
一种基于Linux系统的虚拟化产品的物理光驱重定向方法,所述虚拟化产品包括位于本地端的物理光驱、用于访问虚拟机的客户端和位于服务端的虚拟机,所述客户端具有物理光驱重定向服务,所述本地端和服务端均基于Linux系统。
使用scstiscsi协议,将物理光驱作为iscsitarget,服务端作为iscsiinitiator建立scstiscsi服务;
物理光驱重定向服务的逻辑流程如下,并如图1所示:
1.从客户端配置文件中检测当前连接的虚拟机的状态,虚拟机状态分四种:
a.VMNOTCONNECT,客户端未连接,并保持光驱重定向为断开状态;
b.NOID,无虚拟机id;
c.NORMAL,客户端正常连接虚拟机,并且已经获取到虚拟机id;
d.VALUEERROR读取配置文件出错;
2.如果返回NORMAL,则使用blkid命令读取物理光驱中的内容,得到类似的输出:/dev/sr0:LABEL="OpenfilerESAISO(x86_64Disc1"TYPE="iso9660
3.将当前物理光驱的内容和上次保存的物理光驱内容进行比较,如果不同,则将物理光驱/dev/sr0作为iscsitarget设备配置,启动scstiscsi服务,scstiscsi服务使用以下类似配置:
4.iscsi服务启动成功后,如果需要启动ssh隧道,则使用以下ssh命令连接服务端,在本地端和服务端分别开启隧道端口。
ssh-4-oServerAliveInterval=1-oServerAliveCountMax=5-oStrictHostKeyChecking=no
-oUserKnownHostsFile=/dev/null-oExitOnForwardFailure=yes-f-N-R%(remoteport)s:localhost:%(localport)s%(username)s%(host)s
这里的remoteport代表服务端linux系统本地端口,localport代表客户端linux系统的本地端口。当服务端向remoteport发送数据时,ssh隧道将转发数据到localport,从而实现服务端无法主动连接客户端时也能正常通讯。
5.iscsi服务启动成功或者ssh隧道开启成功后,通过ssh协议登录到服务端linux系统,并远程执行以下iscsi命令:
#扫描客户端ip,并发现iscsitarget
iscsiadm--modediscovery--typesendtargets--portal$scstserver
#设置权限认证方式
iscsiadm-mnode--targetname$target--op=update
--name=node.session.auth.authmethod--value=CHAP2>&1
#设置登录用户名
iscsiadm-mnode--targetname$target--op=update
--name=node.session.auth.username--value=vdi2>&1
#设置登录密码
iscsiadm-mnode--targetname$target--op=update
--name=node.session.auth.password--value=$password2>&1
#执行登录
iscsiadm-mnode--targetname$target-p$scstserver--login
这里$scstserver是客户端ip(ssh隧道开启则是服务端本地ip),$target是客户端iscsitarget名称。上述iscsi登录操作成功后,服务端linux系统本地将出现类似scsi磁盘设备:
/dev/disk/by-path/ip-%(scstserver)s:3260-iscsi-%(target)s-lun-0
6.客户端通过ssh协议远程登录到服务端,通过libvirtvirsh在服务端执行一下操作:
a.生成虚拟机的光驱xml描述:
上述xml表示为虚拟机增加光驱设备,设备类型是本地块设备,即步骤5中提到的scsi磁盘设备。
b.执行virshupdate-device<vm_name>cdrom.xml命令,将步骤a中的xml应用到虚拟机中。操作成功后,虚拟机中将出现新的光驱设备,设备内容将由qemu-kvm负责读取。重定向过程完成。
本发明选用scstiscsi,scstiscsi能实现支持物理光驱设备作为target,iscsi协议可以将远程设备挂载到本地使用,本地挂载的设备是块设备,和物理设备没有功能差异。
综上所述,本发明具有以下优点:
1.使用scstiscsi协议将本地物理光驱挂载到服务端上;使用scstiscsi协议可支持多种光驱设备,如CD、DVD等。
2.使用virsh动态加载服务端光驱设备到虚拟机中;virsh是qemu-kvm虚拟化的管理程序,使用其进行动态加载,可简化操作程序。
3.使用ssh协议传输数据,不仅能够保证数据传输的安全性,而且突破了要求客户端和服务端之间的网络必须双向连通的限制。
可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案。本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围。
机译: SDN通过分配物理资源的基于SDN的虚拟化网络生成装置及其方法
机译: 通过物理资源分配的基于SDN的虚拟化网络生成装置及其方法
机译: 基于虚拟化的物理系统及其资源管理方法