发明名称 一种基于操作系统虚拟化原理的数据集中存储及备份方法
摘要 本发明为一种计算机应用技术领域的基于操作系统虚拟化原理的数据集中存储及备份方法其特征在于:在一台物理主机的宿主操作系统之上,构建一到多个虚拟隔离环境,其具备与宿主操作系统完全相同的使用模式,将虚拟隔离环境中产生的数据与宿主操作系统产生的数据完全隔离,并分别存储到不同的物理存储位置。通过将与用户工作业务相关的应用程序存储数据到虚拟隔离环境中运行,并将其物理存储位置通过CIFS或iSCSI协议重定向到网络中的存储服务器上。在需要对所有客户主机的数据进行备份时,管理员只需对存储服务器上的数据进行一次备份,极大地提高工作效率,同时由于仅备份与工作业务相关的数据,节省了备份存储空间,避免恢复无用数据。
申请公布号 CN102214127B 申请公布日期 2013.01.09
申请号 CN201010544079.6 申请日期 2010.11.15
申请人 上海安纵信息科技有限公司 发明人 聂伟国;金亮
分类号 G06F11/14(2006.01)I;G06F9/455(2006.01)I;H04L29/08(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 代理人
主权项 一种计算机应用技术领域的基于操作系统虚拟化原理的数据集中存储及备份方法,其特征在于:基于操作系统虚拟化原理,在一台物理主机的宿主操作系统之上,添加虚拟隔离层驱动程序和虚拟磁盘驱动程序;以虚拟隔离层驱动程序和虚拟磁盘驱动程序为基础,结合虚拟桌面程序,在宿主操作系统中构建一到多个虚拟隔离环境;虚拟隔离层将虚拟隔离环境中产生的数据与宿主操作系统产生的数据完全隔离,并分别存储到不同的物理存储位置;通过将与用户的工作业务相关的应用程序存储到虚拟隔离环境中运行,并将其物理存储位置通过CIFS或iSCSI协议重定向到网络中的存储服务器上,达到仅存储与用户的工作相关的数据的目的,避免存储无效数据;在需要备份时,管理员只需对存储服务器上的数据进行一次备份,即可实现对所有客户主机的数据的备份;所述的虚拟隔离环境,由虚拟桌面、虚拟文件、虚拟注册表资源组成,其中虚拟桌面作为与使用者进行交互的界面,提供与宿主操作系统中的原生桌面完全一致的操作方式,虚拟文件和虚拟注册表作为虚拟数据资源,由嵌入到操作系统内核中的虚拟隔离层进行维护,并保存到位于存储服务器上的虚拟磁盘中,当用户进入以虚拟桌面标识的虚拟隔离环境时,内核中的虚拟隔离层自动将虚拟磁盘中的数据资源暴露给使用者,而当使用者离开虚拟隔离环境时,内核中的虚拟隔离层则屏蔽系统中的其他程序访问虚拟磁盘的行为;所述的虚拟隔离层驱动程序,是实现数据集中存储的核心,虚拟隔离层的实现机制是对操作系统内核中的系统服务描述表进行控制,对其中用于文件访问和注册表访问的关键例程进行钩子处理,从而截获所有的文件、注册表访问操作,在此基础上,虚拟隔离层根据发起数据访问请求的进程的身份,实施存储重定向措施;所述的虚拟桌面,由一个单独的进程实现,虚拟桌面作为与使用者进行交互的界面,提供与宿主操作系统中的原生桌面完全一致的操作方式;所述的虚拟磁盘驱动程序,是客户端软件的组成部分,在系统启动过程中进行加载,当用户进入虚拟隔离环境时,虚拟磁盘驱动程序读取软件的配置信息,获取存储服务器的IP地址、端口、采用的协议以及存储服务器的用户名和口令等信息,成功获取后,虚拟磁盘驱动程序通过iSCSI或CIFS协议对存储服务器上的指定文件进行网络存取,并将该文件映射为客户主机上的一个本地磁盘设备,在加载成功后,虚拟磁盘驱动程序根据虚拟隔离层驱动发出的读写请求,将用户数据保存到该文件中;所述的存储重定向措施,具体如下:(1)由虚拟隔离层驱动程序记录虚拟桌面程序的进程标识符,以及由用户在虚拟桌面中启动的所有子、孙进程的进程标识符;(2)虚拟隔离层拦截系统中所有进程的数据访问请求——包括文件访问和注册表访问,并根据发起请求的进程的进程标识符执行不同的隔离策略,如果是虚拟隔离环境中的进程则跳转至(3),否则跳转至(4);(3)当进程执行写入操作时,虚拟隔离层将写入操作的物理写入位置重定向到存储服务器上的虚拟磁盘文件中,同时保持逻辑存储位置不变,因此进程无须关心底层存储细节,当进程执行读取操作时,虚拟隔离层判断要读取的文件是否存储在虚拟磁盘中,如是则读取虚拟磁盘中的文件,否则由虚拟隔离层通过数据单向传输的方式直接将宿主操作系统中存储的文件映射到虚拟隔离环境中,供进程读取;(4)虚拟隔离层判断进程是否尝试访问虚拟磁盘内部的文件,如是则拒绝该请求,并告知进程,该进程试图访问的文件不存在;所述的数据单向传输,具体如下:①由虚拟隔离层判断发起数据访问请求的进程是否是虚拟隔离环境内的进程,如是则对该进程提供数据单向传输的功能;②对于需要提供数据单向传输功能的进程,判断该进程的数据访问请求是读取还是写入,如是读取则跳转到③,否则跳转到④;③判断进程要读取的数据文件是否在虚拟隔离环境中存在,如存在则直接读取虚拟隔离环境中的数据文件;如果不存在,进一步判断数据文件在宿主操作系统中是否存在,如依然不存在,则告知进程读取失败;如在宿主操作系统中存在该文件,则允许进程直接访问宿主操作系统中的数据文件;④判断进程要写入的数据文件是否在虚拟隔离环境中存在,如存在,则直接打开虚拟隔离环境中的数据文件供该进程写入;如不存在,则进一步判断数据文件在宿主操作系统中是否存在,如依然不存在,则直接在虚拟存储区内创建一个新的数据文件供该进程写入;如在宿主操作系统中存在该文件,则首先将该数据文件复制到虚拟隔离环境中,然后打开位于虚拟存储区内的新数据文件供该进程写入;所述的存储服务器,需要安装服务端软件,服务端软件提供基于iSCSI或CIFS协议的网络存储服务,并负责和客户端软件进行交互;客户端软件在创建虚拟隔离环境时,需首先连接服务端软件的管理端口,告知服务端软件创建新的网络虚拟磁盘,并记录服务端软件返回的配置信息——包括虚拟磁盘文件路径、用于访问的用户名及密码信息;在创建成功后,客户端软件在后续使用阶段,直接连接服务端软件提供的网络存储服务端口使用虚拟磁盘文件。
地址 201112 上海市闵行区联航路1188号10号3楼B座