爱数备份产品都包含了很多模块,介质服务器就是其中之一,它担负着及其重要的任务。下面从介质服务器的原理、虚拟介质池和介质同步这几个方面来了解

---------------------------------------------------------

介质服务器简介

介质服务器

是用于接受来自客户端的备份数据或其他介质服务器的异地同步数据,并将这些数据进行有组织存放的服务器软件模块,同时为截至管理功能提供支持,一般把安装了介质服务器模块的机器叫做介质服务器

介质

是安装了介质服务器模块的机器上的一个存储路径,是存放数据的实际位置,这些存储路径必须通过软件进行配置才能成为介质,才可以进行备份和同步,介质可以是本地磁盘、网络硬盘等。它是介质服务中的可用存储,它可根据实际需求设置空间大小,用以存放数据。介质依赖于介质服务器,介质是介质服务器的存在形式,他们的结合能保证备份数据的有效、安全可靠。

p_w_picpath

D2D2R是指数据从磁盘到磁盘再到远程的一种容灾模式,图中给出的是一个D2D2R典型的部署。

p_w_picpath

图中,介质服务器充当两个角色,一个是作为备份数据目的地的普通介质服务器,一个是作为介质同步数据目的地的同步介质服务器。不管扮演何种角色,介质服务器的作用与扮演的角色绑定,不能互换的。这样做的是为了保证数据的可靠性和一致性。

介质服务器的内部构造

介质服务器是以一个系统服务进程的形式进行运作的。它开放了9901和9902端口。其中9901是预留的端口,供其它控制信息使用。9902就是最关键的数据端口。

另外,介质服务器启动的时候需要和控制台内部的引擎服务器相连。

p_w_picpath

控制流和数据流走向

当通过Web界面的管理控制台,点击 添加介质 操作按钮时,CGI控制模块会捕捉到这一操作信息并将该操作请求发送到引擎服务器,引擎服务器再将请求转发给介质服务器的管理模块,介质服务器对请求做出相应将结果返回给引擎服务器,引擎服务器再转发给CGI控制模块,至此添加介质请求完成。

当要备份数据时,CGI控制模块捕捉请求操作的信息并将其发送到引擎服务器,引擎服务器接收请求信息并进行分析识别,再将调度信息发送到对应的备份客户端,客户端接到调度信息会给予回应,说“:我准备好了,可以开始备份了。。。”引擎服务器收到该回应信息后通知CGI模块,成功开始备份,随后,备份数据将从指定的客户端备份到介质服务器中,同时介质服务器会实时地将备份执行情况和空间信息反馈给引擎服务器。在上述过程中,引擎服务器充当了一个中转站。

p_w_picpath

--------------------------------------------------------------

VMP(Virtual Media Pool)虚拟介质池

虚拟介质池,是个逻辑上的概念,它最大的意义就在于将所有的介质服务器和所有介质服务器上的数据统一管理,可以达到提高易用性、提高管理性的效果。

主要作用有以下几点:

统一路径访问:为每个介质服务器上所有存储介质提供统一入口,为介质服务器群组提供统一入口

可指定存储介质

p_w_picpath

VMP的优势

p_w_picpath

虚拟介质池的优势在于它可以实现多个介质服务器在一个统一的界面下管理,非常方便快捷;当介质空间不足时,只要增加新的介质即可扩展总的空间。从最后的这个图表,我们可以看出,虚拟介质池的性能会随着客户端数量的增加而不断提升

VMP技术-介质服务器选择算法

通过该算法,可以保证新的任务始终都在最空闲的介质服务器上。

该算法具体如下:首先取出所有介质的可用空间得到总的可用空间,乘以70%,加上所有已经绑定的任务数乘以30%,得出介质服务器的空闲指数,再将所有指数进行比较就能选出最空闲的介质服务器。

p_w_picpath

-----------------------------------------------------------------

介质同步技术

介质同步主要用于介质服务器上备份数据的同步,

将某个介质服务器上的介质中的备份数据复制到异地介质服务器上,从而达到数据容灾的效果。

介质同步功能采用的是异步式技术

所谓异步,是监听介质上所有文件的变化:创建、删除、修改密码、合成备份等。然后每隔一个固定的时段,层叠文件的变化,再将文件同步到目标介质上

p_w_picpath

介质同步-状态机制

介质同步的任务有四种状态,分别为初始化、运行、暂停、和终止,其中,运行状态和暂停状态可以相互转换,而初始化状态可以转变成运行状态和暂停状态,丰富的状态机制使得同步过程管理更加方便、高效。

p_w_picpath

1.初始化状态

任务刚被创建或者介质刚启动时的状态,是任务的最初状态

扫描文件和进行上一次未完成的动作

2.运行状态

同步介质服务器上的备份数据到目标介质

3.暂停状态

任务的暂停有正常暂停和异常暂停两种,是在任务执行过程中将其置于暂时停止的状态,可以恢复到运行状态。

正常暂停

任务不会尝试自行恢复,须手工才能启动:任务被管理员暂停,任务在设置的暂停时段内,目的介质空间不足

异常暂停

任务会尝试恢复同步:介质服务器无法正常连接诶

当服务启动时,如果按计划是在暂停状态,但上次停止时存在断点信息,会在继续断点续传。

4.任务的终止

当同步任务出现灾难性事故的时候任务会切换到终止状态,终止状态下,任何操作都不能继续,文件日志也不会再增长。终止状态代表了一个任务的结束,当该任务被中断时将切换到终止状态

介质同步-监听器

介质同步的监听器是实现介质同步技术的基石,它通过监听源数据上的变化,通过对应合并规则将监听到的文件处理,再进行同步,它能实时捕捉到数据的变化,保证了同步数据的一致性。

介质同步-内存映射

由于每天的读写备份文件数量巨大,介质上的文件将会产生变化,将会导致日志量剧增,内存占用过大。为了保证同步任务能高效地进行操作,并且尽可能少的占用系统资源,异地同步选件采用了分块保存日志的方法,将日志保存在多个块中。

同步任务处理日志时,只在一个块中进行操作。当一个块处理完成后再处理后面的块,每个块的结构如图所示。 记录日志时,一个文件块记录满时,将记录新的块。

 p_w_picpath

介质服务器意外断电不会造成丢失数据,

因为介质服务器采用瞬时内存缓冲(Instant Memory Cache)将内存中的实时变化瞬时写入磁盘,可以保证磁盘和内存的一致。采用这项技术,可以使服务器意外掉电后同步状态自动恢复。同时也可以减少文件频繁读写。在日志块在内存中被创建的时候,使用内存映射的方法,将内存中的日志块映射到磁盘中以文件的形式保存下来,内存和文件始终同步。

日志量庞大时不会导致内存占用过大呢。

因为内存中最多只放固定数额的日志块,当块数过多的时候,将前面已经处理过的内存块写入磁盘文件中。不会增加内存占用。

(一般日志块的固定数额预设值为8个,这个数值可以根据用户实际情况进行修改)

介质同步-灰色对象探测

灰色对象

灰色对象是在指同步过程中因为非网络原因造成的某条无法正常处理的日志。

灰色对象探测算法

是对灰色对象的一种探测和处理模式,利用该算法可以快速检测并处理灰色对象,保证介质同步的正常持续进行,保护备份数据。主要有以下特点:

1.处理某个日志,记录开始处理时间

2.非网络原因造成无法同步的,记录为灰色对象

3.暂时忽略灰色对象,对后面的日志进行同步,最后处理灰色对象

4.灰色对象保存时间可以设置,在配置文件中指定

5.超过设置的保存时间后,灰色对象将被删除