一种适用于虚拟机迁移和容错的共享存储方法

文档序号:6439722阅读:312来源:国知局
专利名称:一种适用于虚拟机迁移和容错的共享存储方法
技术领域
本发明涉及云计算领域,尤其是一种适用于虚拟机迁移和容错的共享存储方法。
技术背景
云计算(Cloud Computing)是2007年诞生的新名词,目前仍没有公认的定义。云计算是一种商业计算模型,它将计算任务分部在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。而云计算操作系统是云计算后台的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外, 对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就象使用本地驱动器一样。
云计算平台在进行系统迁移以及系统容错时,传统的集中式存储系统存在单点故障,以及传输性能不高的现象。发明内容
本发明解决的技术问题在于提供一种适用于虚拟机迁移和容错的共享存储方法, 有效解决集中式存储系统存在故障、传输性问题。
本发明解决上述技术问题的技术方案是
数据存储服务器和元数据服务器分别加载网络驱动模块,由元数据服务器以固定多播组方式主动搜索网络上各数据存储服务器,各数据存储服务器通过关键字信息,识别元数据服务器后,主动加入网络存储集群。
数据在数据存储服务器上可以根据配置文件指定多个备份,同时可以指定多个元数据服务器,提供元数据服务器因网络负载过高宕机,或数据存储服务器上数据读写错误等情况发生时的容错。
具体包括如下步骤
第1步,物理服务器作为虚拟机的宿主挂载共享存储目录,用于存放虚拟机的镜像文件;
第2步,在物理服务器上创建虚拟机,并把虚拟机的镜像文件保存在挂载的共享存储目录下,支持的虚拟机镜像文件格式包括Raw和VHD等;
第3步,物理服务器上共享存储的客户端先访问元数据服务器,元数据服务器根据HASH算法统计的各数据存储服务器上的分布存储记录,同时遵循平衡负载率的原则给虚拟机镜像文件分配存储空间,另外,虚拟机镜像文件会根据配置创建多个备份以防止单点故障导致的数据丢失;
第4步,物理服务器根据分配的空间路径,与数据服务器进行IO通信,把虚拟机镜像文件保存在数据服务器下的指定路径下;
第5步,在虚拟机迁移和容错的时候,原物理机先释放掉虚拟机所占用的资源;
第6步,目标物理机读取共享目录下的文件列表,找到虚拟机镜像文件;
第7步,目标物理机重新申请虚拟机的资源并接管虚拟机的镜像文件。
采用本发明的方法,可以有效地提高虚拟机迁移和容错的速度,不影响业务的运行,提高虚拟机镜像的可用性。


下面结合附图对本发明进一步说明
图1是本发明方法示意图2是本发明用户实例示意图。
具体实施方式
如图1所示,本发明数据存储服务器简称为DS,元数据服务器简称为MS,DS、MS分别加载该网络驱动模块,由MS以固定多播组方式主动搜索网络上各DS,各DS通过关键字信息,识别MS后,主动加入网络存储集群。
本发明以IinuX2. 6. 38. 2内核为共享存储系统部署平台,通过自定义操作系统内核特性,并应用虚拟化补丁,使系统支持虚拟机的网络连通,I/O存储,分布式存储等。
本发明采用Iinux网络分布式传输算法,基于Iinux操作系统开源特性,通过驱动的形式封装网络存储各节点之间的通讯模块,以适应分布式存储的驱动,命名为 gcloud-dnet. ko,来替换原有的系统驱动Inet,以支持虚拟化应用。
本发明在修改IinuX2. 6. 38. 2内核源码的基础上,使得分布式存储系统在支持传统的文件系统格式以外(ext2,ext3, ext4, ntfs, fat),还支持微软推出的VHD虚拟磁盘格式。
在修改IinuX2. 6. 38. 2内核源码的基础上,通过修改原有的分布式存储I/O驱动, 来统计数据在各DS上的分布存储记录,通过快速分布式HASH算法,提高客户端读取数据效率,平衡网络I/O负载率,提高存储的整体性能。
数据存储多点保障,数据在DS上可以根据配置文件指定多个备份,同时可以指定多个MS,提供MS因网络负载过高宕机,或DS上数据读写错误等情况发生时的容错方案。
本发明包括以下实施步骤
第1步,物理服务器作为虚拟机的宿主挂载共享存储目录,用于存放虚拟机的镜像文件;
第2步,在物理服务器上创建虚拟机,并把虚拟机的镜像文件保存在挂载的共享存储目录下,支持的虚拟机镜像文件格式包括Raw和VHD等;
第3步,物理服务器上共享存储的客户端先访问元数据服务器,元数据服务器根据HASH算法统计的各DS上的分布存储记录,同时遵循平衡负载率的原则给虚拟机镜像文件分配存储空间,另外,虚拟机镜像文件会根据配置创建多个备份以防止单点故障导致的数据丢失;
第4步,物理服务器根据分配的空间路径,与数据服务器进行IO通信,把虚拟机镜像文件保存在数据库服务器下的指定路径下;
第5步,在虚拟机迁移和容错的时候,原物理机先释放掉虚拟机所占用的资源;
第6步,目标物理机读取共享目录下的文件列表,找到虚拟机镜像文件;
第7步,目标物理机重新申请虚拟机的资源并接管虚拟机的镜像文件。
具体而言,本发明方法可有多种实现,本部分将介绍一种实现方式。参见图2,本发明适用于虚拟机迁移和容错的共享存储方法的具体应用步骤如下
第1步,我们使用CentOS x86_64作为宿主机的操作系统,两台宿主机的IP为 192. 168. 1.6以及192. 168. 1.7,其上运行Xen 4. 0的虚拟化内核,192. 168. 1.6上运行全虚拟化的虚拟机名称为vm,id为1,并且虚拟机镜像文件存放在/Vm这个共享目录下,共享文件系统用(^Ph搭建,配置如下
<domain type='xen'> #虚拟机名称为vm <η〇η θ>νιη</η〇η θ> <〇s>#釆用全虚拟化的模式运行虚拟机 <type>hvm</type>#虚拟机的内核<kernel>/software/iso/vmlinuz-2.6.32-24-generic</kernel><initrd>/software/iso/initrd.img-2.6.32-24-generic</initrd><cmdline>root=/dev/vda 1 console=ttySO</cmdline></〇s><fe〇tures><acpi/></fe〇tures>#虚拟机的内存为262144MB <memory>262144</memory> #虚拟机核数为1
<vcpu>l </vcpu> <devices><emulator>/usr/bin/qemu-dm</emulator>#虚拟机的硬盘 <disk type='file'> <source file='/vm/vm.img '/> 〈target dev='vda' bus=Virtio'/> </disk>#虚拟机的网卡配置 〈interface type='bridge'> <source bridge='brO'/> <mac address='d0:0d:43:BD:07:E97> <model type='virtio'/> </interface>#串口设备 〈serial type="file">〈source path=7software/iso/console.log'/><target port=T/>〈/serial〉#虚拟机的图形化界面 〈graphics type='vnc' listen=" port=,30002, passwd='30002' /> </devices>
</d〇m〇in>
第2步,假设有两个DS,虚拟机镜像文件有两个拷贝,那么分别存放在DS中,名称为 vm. img Partl 禾口 vm. img Part2。
第3步,调用Libvirt的迁移命令进行虚拟机迁移,
#把id为1的虚拟机迁移到IP地址为192. 168. 1. 7的宿主机上
xm migratel 192. 168. 1. 7
第4步,虚拟机vm运行在了 192. 168. 1. 7这台物理机上,用时约2秒,中间过程网络断开时间少于500毫秒,对业务的影响可忽略不计,证明此方法适用于虚拟机迁移和容讲t曰ο
权利要求
1.一种适用于虚拟机迁移和容错的共享存储方法,其特征在于数据存储服务器和元数据服务器分别加载网络驱动模块,由元数据服务器以固定多播组方式主动搜索网络上各数据存储服务器,各数据存储服务器通过关键字信息,识别元数据服务器后,主动加入网络存储集群。
2.根据权利要求1所示的共享存储方法,其特征在于数据在数据存储服务器上可以根据配置文件指定多个备份,同时可以指定多个元数据服务器,提供元数据服务器因网络负载过高宕机,或数据存储服务器上数据读写错误等情况发生时的容错。
3.根据权利要求1或2所述的共享存储方法,其特征在于具体包括如下步骤第1步,物理服务器作为虚拟机的宿主挂载共享存储目录,用于存放虚拟机的镜像文件;第2步,在物理服务器上创建虚拟机,并把虚拟机的镜像文件保存在挂载的共享存储目录下,支持的虚拟机镜像文件格式包括Raw和VHD等;第3步,物理服务器上共享存储的客户端先访问元数据服务器,元数据服务器根据 HASH算法统计的各数据存储服务器上的分布存储记录,同时遵循平衡负载率的原则给虚拟机镜像文件分配存储空间,另外,虚拟机镜像文件会根据配置创建多个备份以防止单点故障导致的数据丢失;第4步,物理服务器根据分配的空间路径,与数据服务器进行IO通信,把虚拟机镜像文件保存在数据服务器下的指定路径下;第5步,在虚拟机迁移和容错的时候,原物理机先释放掉虚拟机所占用的资源; 第6步,目标物理机读取共享目录下的文件列表,找到虚拟机镜像文件; 第7步,目标物理机重新申请虚拟机的资源并接管虚拟机的镜像文件。
全文摘要
本发明涉及云计算领域,尤其是一种适用于虚拟机迁移和容错的共享存储方法。本发明数据存储服务器和元数据服务器分别加载网络驱动模块,由元数据服务器以固定多播组方式主动搜索网络上各数据存储服务器,各数据存储服务器通过关键字信息,识别元数据服务器后,主动加入网络存储集群。本发明有效解决集中式存储系统存在故障、传输性问题;可以广泛应用于虚拟机迁移和容错的存储中。
文档编号G06F9/455GK102521063SQ201110390549
公开日2012年6月27日 申请日期2011年11月30日 优先权日2011年11月30日
发明者季统凯, 岳强, 莫展鹏 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1