基于NetBackup的气象数据库备份方法研究

2018-06-14 11:52许皓皓
计算机与网络 2018年10期
关键词:脚本备份客户端

许皓皓,杨 豪

(宁波市气象网络与装备保障中心,浙江宁波315012)

0 引言

数据库作为数据存储、分析、管理和应用的有效途径和载体,在气象业务中被广泛应用[1-3]。气象数据库一旦发生故障,对气象部门业务的正常开展、对预防和减轻气象灾害带来的损失都会造成严重后果。各地气象部门针对数据库备份难题开展了广泛研究,彭丽娜等[4]通过研究SQL Server数据库备份策略保证数据库持续稳定运行;郭晓佳等[5]针对Oracle数据库开展了运行维护管理研究;王照宇等[6]研究出一种Oracle数据库应用级容灾方案,实现准实时备份。当前异构数据库平台共存已经成为气象业务新常态,但是现有研究大多只针对单一数据库平台开展,如果能针对异构数据库平台提供一体化备份解决方案,势必会降低备份复杂度,提高运维效率,为气象业务提供更加稳定的容灾保障。

1 备份需求和方案

1.1 数据库现状

以宁波市气象局为例,气象业务环境主要包括SQL Server和Oracle两种数据库平台,其中SQL Server采用单服务器方式部署,Oracle数据库采用2台服务器搭建RAC集群方式部署,数据由探测设备和业务系统源源不断产生。数据表主要分为探测和预报2大类,其中探测类数据约20种,主要存储在SQL Server数据库;预报数据约40种,主要存储在Oracle数据库。预报类数据更新频率低、更新时间规律、数据量较小;探测类数据更新频率和时效性更高,部分探测产品存量数据和更新数据量较大;天气预警等重要天气数据对时效性要求极高。

1.2 备份方案选择

气象数据库备份要求在统一框架下对异构数据库备份作业进行集中管理,支持不同的备份方式和灵活的备份策略。通过对几款主流的企业级备份工具进行研究,NetBackup作为Symantec公司提供的企业级备份管理软件,支持Unix、Linux、Windows、OS/2以及Macintosh等主流操作系统,是目前使用最广泛的备份软件之一。NetBackup采用全图形的管理方式,同时提供命令行接口,提供了性能优化、监控报警和动态备份速度调整等管理功能,为用户的集中式数据库备份管理提供了灵活和有效的手段。和 IBM TSM、CommVault、EMC NetWorker等企业级备份软件相比,NetBackup在技术架构先进性和应用案例方面都有一定优势。

NetBackup Enterprise采用3层体系架构:Master Server(主服务器)、Media Servers(介质服务器)和Clients(客户端)。典型的NetBackup备份管理系统是由一个Master Server、一个或多个Media Servers以及多个Clients组成,Master Server和Media Servers可以是同一台服务器。NetBackup三层体系结构组件定义如图1所示。

图1 NetBackup三层架构

(1)NetBackup Master Server:是第一层架构组件,也是最核心组件,Master Server是管理一切数据库备份作业的“大脑”。它所管理的工作包括任务调度、客户端备份、介质管理和设备管理等。Master Server可以挂接一个或多个备份设备,来直接对客户端进行备份。

(2)NetBackup Media Server:是第二层架构组件,备份设备挂接在Media Server上,当需要备份的数据属于不同分组(如不同部门、子系统、应用等)或数据量比较大的时候,需要使用多个Media Server来做分组备份管理和分担备份任务,一个Media Server因故障停止数据保护工作的时候,可以由Master Server把这个Media Server的数据保护工作转移到另外的Media Servers上。本研究Media Server和Master Server共用一台服务器。

(3)NetBackup Client:是第三层所有的需要通过网络把数据传到Master Server或Media Servers上来做数据备份的计算机,都是备份的客户端。在客户端上要安装NetBackup客户端软件,这些备份客户端在网络中也充当应用服务器的脚色。

2 备份方法

2.1 SQL Server数据库备份

SQL Server备份主要采用脚本调用和文件备份2种方式。脚本调用方式通过NetBackup备份服务器直接调用各个SQL Server客户端备份脚本进行备份作业,对于一些数据量较大的数据库,采用了全备和增量备份结合的方式进行。脚本调用方式操作过程如下:①配置SQL Server agent代理,选择Set SQL Server connection properties选项,设备数据库Host和账号密码。② 生成备份SQL Server数据库脚本,将备份脚本存放在服务器相关目录下,供NetBackup备份服务器调用。③新建备份策略,选择备份类型为MS-SQL-Server,创建备份时间等调度策略信息,选择之前创建的备份脚本。④手动测试备份作业确认无异常,完成全部备份作业配置。

NetBackup文件备份方式是指先通过SQL Server自带的管理工具完成备份,再将备份文件拷贝至NetBackup备份服务器。备份过程如下:①通过SQL Server自带的Management Studio中管理菜单下的维护计划向导进行备份作业配置。②设置备份作业调度计划,设定定期删除过期备份,防止磁盘空间不足。③NetBackup备份服务器定时将SQL Server备份出来的备份文件拷贝至备份服务器上,实现异机备份。

2.2 Oracle数据库备份

由于本地生产环境Oracle数据库未开启归档,无法进行RMAN备份,因此采用EXP导出备份方式进行备份。Oracle数据库采用2种模式备份:NetBackup文件备份方式和OracleEXP远程导出方式。NetBackup文件备份方式先通过数据库EXP命令在本地导出备份文件,然后通过NetBackup备份软件将备份集复制到备份服务器。OracleEXP本地备份脚本如下:

[oracle@qxdb-2~]$more/u02/oraclebackup/expdp.sh

#!/bin/sh

source/home/oracle/.bash_profile

export ORACLE_SID=ORCL

cd$ORACLE_HOME/bin

./expdp expdp/expdp directory=dmp full=y dumpfile=exp_oracle_full_%U.dmp logfile=expdp_oracle_full.log filesize=10G parallel=8 compression=all reuse_dumpfiles=y

Oracle EXP远程导出方式通过NeBackup备份服务器发起远程EXP导出备份,并把备份文件直接存放在备份服务器磁盘,并定期删除过期备份文件。相关脚本如下:

@echo off

#set oracle_sid=netstorm

D:appAdministratorproduct11.2.0client_1BINexp.exe exp/exp@NETSTORM full=y file=T:172_21_146_205_bakdmpfileora_full_exp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.dmp log=T:172_21_146_205_bakdmpfileora_full_exp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.log

D:appAdministratorproduct11.2.0client_1BINexp.exe expdp/expdp@ORCL full=y file=T:10_138_162_137_bakdmpfileora_full_exp_% date:~0,4% -%date:~5,2%-%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.dmplog=T:10_138_162_137_bakdmpfileora_full_exp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.log

forfiles/p"T:172_21_146_205_bakdmpfile"/d-8/c"cmd/c echo deleting@file...&&del/f@path"

forfiles/p"T:10_138_162_137_bakdmpfile"/d-8/c"cmd/c echo deleting@file...&&del/f@path"

2.3 脚本和文件备份方式对比分析

NetBackup支持脚本备份和文件备份2种备份方式,脚本备份方式通过NetBackup脚本模式进行备份,无需在数据库客户端进行操作,但是受服务器环境,网络稳定性影响较大;文件备份利用SQL Server及Oracle数据库自带API接口完成备份,稳定性更高,但是也存在空间占用大等缺点。2种备份方式优缺点详细对比见表1。

表1 脚本备份和文件备份优缺点对比

3 备份管理

3.1 日常维护和备份优化

NetBackup数据库备份作业配置完毕后,还需开展日常运维工作,及时发现各类备份异常并及时解决,才能保证数据库系统备份的可用性。常规备份运维包括3项内容:①检查备份作业运行状况,在NetBackup软件主界面Activity Monitor菜单下检查作业运行状态,正常运行状态是蓝色,如有告警则为黄色,红色代表备份作业报错;②检查数据库备份服务器磁盘剩余空间情况,防止因存储空间不足造成的备份异常;③检查部分数据库服务器和备份服务器日志,排查故障和告警信息。

NetBackup软件在备份、数据传输等方面已经自动进行了优化改进,日常运维中只需要对备份策略进行优化即可提高备份效率和稳定性。通过研究和测试总结出以下2条备份策略优化方法:①如果备份数据量较大,可以把备份服务器介质池改成Deduplication Pool模式,该模式具有重复数据压缩功能,对于重复的数据块,会进行压缩重写,最终能减少备份空间的使用量;②根据业务对数据库备份的需求,可以对数据量较大的数据库采用完全备份和增量备份相结合的模式进行备份,减少备份空间使用率。

3.2 故障排查

基于NetBackup的备份模式总体运行稳定,但偶尔也会出现备份失败情况,日常运维过程中多发3种常见故障,排查方法如下:

(1)磁盘空间不足:因备份服务器或数据库服务器存储空间不足造成备份失败,释放存储空间后重新运行备份作业即可恢复,需要加强磁盘使用率监控,同时合理设置备份文件保留期限,避免存储空间浪费。

(2)NetBackup备份服务异常:分为服务端服务异常和客户端服务异常2种情况,故障时重新启动相关服务即可恢复,可以编写服务自动重启脚本通过作业调度系统定期自动运行以避免该故障。

(3)网络故障:NetBackup备份客户端需要开通13724和1556端口,如果出现备份报错情况,可以先检查服务端和客户端的上述端口连通性;此外一般性网络故障也会导致备份报错。

4 结束语

气象业务数据库的稳定运行和数据安全对气象业务的正常开展,预防和减轻气象灾害带来的损失,保障人民生命财产安全而言至关重要,做好气象业务数据库的备份和容灾工作刻不容缓。本研究基于NetBackup企业级备份管理软件,对SQL Server、Oracle等气象探测和预报数据库进行集中备份和管理,改变了以往分散备份的方式,提高了备份效率和稳定性,也减轻了运维压力,实践证明该模式可以满足气象业务数据库备份容灾需求。

[1]韩笑,王力,王吉滨,等.一种地市级气象数据库的设计与应用[J].气象科技,2015,43(6):1053-1059.

[2]窦以文,卢俐,刘旭林,等.气象数据存贮管理系统[J].计算机系统应用,2011,20(7):116-120.

[3]许皓皓,何彩芬.气象灾害数据库管理与分析系统开发与实现[J].电子技术与软件工程,2017(17):156-158.

[4]彭丽娜,陈慧,马久刚,等.浅谈包头市气象局SQL Server数据库的备份策略[J].内蒙古气象,2011(4):62-64.

[5]郭晓佳,江彩英,谢丹.基于Oracle数据库的气象业务系统运维管理研究[J].软件导刊,2017,16(9):145-147.

[6]王照宇,范文锋.气象增值业务平台应用级容灾方案研究[J].山东气象,2012,32(2):50-53.

猜你喜欢
脚本备份客户端
酒驾
VSAT卫星通信备份技术研究
安奇奇与小cool 龙(第二回)
创建vSphere 备份任务
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
快乐假期
小编的新年愿望