[color=blue:ca7b72af70]
近几年来,银行储蓄业务数据不断由分布式转向集中式存放和管理,因而使业务数据的备份量不断增大,如农行采用的UNIX操作系统下SYBASE系统网络版储蓄软件,就是将一个市(县)城区的数据集中存放在一个服务器(或主机)中,其日终的备份数据虽经压缩也需5-8张软盘,但由于软盘质量普遍差,而且由于大量的备份,软驱磨损严重,很难保证备份恢复的可靠性,所以软盘已不能适应大数据量备份的要求,选用局域网或磁带机是更加经济和有效的方式。
现就我们在HP服务器、UNIX系统下使用HP_ DAT8 磁带机的情况作一介绍,利用此方式,就磁带容量而言,一年的储蓄数据仅用一盘磁带就能可靠备份和恢复(实际按一季度用一盘磁带),通过我们在两台服务器上半年多的实际使用表明,既提高了工作效率和可靠性,又降低了消耗成本。
一、硬件配置 HP-E60服务器,SCO-UNIX5.05,HP SureStore DAT8内置盒式磁带机,DDS-2 8G磁带。
二、 硬件安装 磁带机连接至SCSI A通道上,用磁带机的缺省ID 号3,与硬盘共用同一条SCSI电缆,SCSI 接口卡为AIC-7895。若安装正确,在UNIX启动时,应能检测到此SCSI设备,并显示其内置标识符HP- C1533A。
三、 软件安装
1.mkdev tape
2.磁带驱动器配置主菜单:选1.configure a scsi or Enhanced IDEdrive
3.选择SCSI磁带设备安装选:1.INSTALL A SCSI TAPE DRIVE
4.选择主机适配器的类型:选 alad
5.选择主机适配器的编号:选0
6.选择所属SCSI总线编号:选0 (4-8根据硬件实际确定)
7.选择磁带设备的目标ID号:选3
8.选择磁带设备的逻辑单元号:选0
9.是否更改SCSI配置:选Y
10.输入销售商定义的表识串:输入HPTape
11.输入SCSI设备一致性的版本号:输入1
12.输入数据响应格式:输入1
13.选择一个所安装的磁带驱动器类型:选4.DAT DRIVE
14.退出重链内核
重启动后,形成一系列对应的设备名,选/dev/nrStp0(非反绕的SCSI磁带设备)
修改/etc/default/tar文件中 archive8=/dev/nrStp0
四、 备份和恢复B_SHELL程序
#此例中,储蓄数据先经硬盘备份SHELL程序备份、打包和压缩存放在硬盘的:
#/u/sjbf/dat 下,文件名以日期.gz的约定命名,如12日的备份形成12.gz
#程序的重点在磁带维护命令TAPE的使用, TAPE命令所用参数为:
#rewind 磁带反绕到磁带头
#rfm 磁带绕到下一个文件标记处
#eod 磁带绕到已备份数据的末尾标记处
#expr 命令进行备份批次的计算,以定位确定磁带的恢复位置
#备份时应及时记录备份的批次,为恢复提供依据
#其余命令注释略
DFILE1=″/u/sjbf/dat″
b_hdtotape( 
{
echo″\n\n\t\t请输入备份数据的日期(01~31):\c″
read dat rest
[$dat -lt 1 -o $dat -gt 31] && return 0
DATE=″$dat″
if [! -s ″${DFILE1}/$DATE.gz″]
then
echo ″\n\n文件${DFILE1}/$DATE.gz不存在,回车返回主菜单!\007\c″
read rest
return 1
fi
if [! -s ″${DFILE2}/$DATE.gz″]
then
echo ″\n\n文件${DFILE2}/$DATE.gz不存在,回车返回主菜单!\007\c″
read rest
return 1
fi
echo ″\n\t\t请插入磁带后回车:\007\c″
read rest
tape rewind /dev/nrStp0
tape eod /dev/nrStp0
tar cv8 ${DFILE1}/$DATE.gz
if [$? -ne 0]
then
echo″磁带备份失败,请查明原因,按任意键返回!!!!!!″
read rest
return 1
else
echo″磁带备份成功,请取出磁带,按任意键返回!!!!!!″
read rest
return 0
fi
}
b_tapetohd ()
{
echo ″请准确输入要恢复的备份在本磁带上的备份批次,输入后回车:″
read tt
tape rewind /dev/nrStp0
tt=`expr $tt-1`
while[$tt -ne 0]
do
tt=`expr $tt -1`
tape rfm /dev/nrStp0
done
tar xv8
tape rewind/dev/nrStp0
}
#main program
while
clear
date ″+20%y年%m月%d日%t 星期%w %T″
echo ″\r\n
read num rest
if [!″$num″]
then
continue
fi
if [$num-1t 0-o $num-gt 2]
then
continue
fi
#
do case $num in
1)
b_hdtotape #磁带备份子程序
;;
2)
b_tapetohd #磁带恢复子程序
;;
0)
break
;;
esac
done
exit
作者单位:杨燕鸣(中国农业银行甘肃省定西地区分行电脑中心 甘肃 定西 743000)[/color:ca7b72af70]
wenzi2003 回复于:2003-11-08 17:29:54 |
好文章啊 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/