首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过备份解决磁带备份问题?

如何通过备份解决磁带备份问题?
EN

Server Fault用户
提问于 2015-04-21 05:38:19
回答 2查看 2.7K关注 0票数 0

我有一个惠普Ultrium 448磁带备份,这是公认的,似乎没有问题的Ubuntu。我能在/dev/st0看到它。

当我发布mt -f /dev/st0 offline时,磁带会弹出。当我发布mt -f /dev/st0 status时,我得到:

代码语言:javascript
复制
SCSI 2 tape drive: 
File number=0, block number=0, partition=0. 
Tape block size 0 bytes. Density code 0x42 (LTO-2). 
Soft error count since last status=0 
General status bits on (41010000):  
 BOT ONLINE IM_REP_EN

当我发布tar -tzf /dev/st0时,我得到:

代码语言:javascript
复制
tar (child): /dev/st0: Cannot read: Cannot allocate memory
tar (child): At beginning of tape, quitting now
tar (child): Error is not recoverable: exiting now

gzip: stdin: unexpected end of file
tar: Child returned status 2
tar: Error is not recoverable: exiting now

我怀疑这是因为它是用Windows 2003 Backup实用程序创建的。我意识到我可以利用mtftar来获取这些内容,但是如何首先获得原始备份数据?我似乎无法在这里列出驱动器上的文件内容。为了查看备份磁带上的数据结构,我是否需要通过管道,通过mt启动某种读取,然后通过mtftar进行传输?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2015-04-21 06:31:36

根据文档,mftar应该能够直接从磁带上读出,所以.

代码语言:javascript
复制
mftar < /dev/st0 | tar tvf -

如果您希望先从磁带上抓取数据,然后使用mftar操作,那么可以使用dd例如

代码语言:javascript
复制
dd if=/dev/st0 of=output1

您可能需要用dd指定块大小。如果您不知道磁带是如何编写的,那么tcopy可以向您报告其格式。

如果在一个磁带上有多个图像,那么您需要使用非回绕设备/dev/nst0,并在需要时使用显式重卷。

票数 1
EN

Server Fault用户

发布于 2017-05-21 02:44:26

我只是偶然发现了同样的错误信息,并在这个问题中发布了详细的解释。

简而言之,Cannot allocate memory意味着用于读取磁带的程序没有使用足够大的缓冲区读取磁带上的数据。如果正在使用的程序不能具有读取缓冲区集的大小,则可以为此使用dd

代码语言:javascript
复制
dd if=/dev/nst0 bs=1M | tar tvf -

这将使用1MB的读缓冲区,它将能够读取1MB或小于1MB的磁带块。根据需要增加,直到Cannot allocate memory消失-值需要相同或大于磁带上最大的块。

磁带块的大小是在编写过程中由编写应用程序设置的。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/684248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档