发新话题
打印

HP-UX下备份的磁带,在Windows下生成镜像磁带的问题?

HP-UX下备份的磁带,在Windows下生成镜像磁带的问题?

HP-UX下备份磁带,有tar、fbackup、vxdump等等
现在我拿着磁带要在windows下生成相应的磁带镜像文件

目前有两种做法
1、使用api读取磁带内容,存储(已经完成)
2、使用aspi(即SCSI编程接口)读取磁带内容,并存储(未完成)

对于ASPI读取磁带内容有个地方搞不懂
因为磁带根据备份格式的不同,块的大小也有所不同,并且若是fbackup格式,则第一块与第二块还不同
我用ASPI的ModeSense读取blocksize,读出为0,文档里说明好像是为0表示磁带机支持变长数据块
现在用READ的时候,需要分配一个缓存,存放读出磁带的数据,但是该缓存大小无法确定,因为不知道块大小,
设大了不行,设小了也不行,不过数据倒是可以读出来,只是大小有错,
READ命令里好像有一个参数是读完返回还剩多少数据未读,但是试过,好像没用。

请哪位高手帮个忙,指点一下?


顺便提一下,在WINDOWS下用API之所以可以完成,是因为READ前,分配一个足够大的缓存,READ后,会返回一个值,告诉程序这次READ了多少数据,所以API的做法,是可行的

现在之所以要用SCSI接口编程,是因为想从底层方面去理解磁带,若磁带遇到错误,比如断带或磨损,如何能尽最大努力恢复数据。

请有这方面的高手指点一下?我的QQ是37026078

TOP

回复 1# 的帖子

已解决

TOP

发新话题