Linux

如何在 Linux 上通過 mt 解決磁帶備份問題以進行 Windows 備份?

  • May 21, 2017

我有一個 HP Ultrium 448 磁帶備份,它在 Ubuntu 上被辨識,似乎沒有問題。我可以在/dev/st0.

當我發出mt -f /dev/st0 offline時,磁帶彈出。當我發出mt -f /dev/st0 status時,我得到:

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時,我得到:

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 Server 2003Backup實用程序創建的。我意識到我可以利用mtftar來獲取這些內容,但是我如何首先獲取原始備份數據?例如,我最初似乎無法在此處列出驅動器上的文件內容。我是否需要通過管道啟動某種讀取mt,然後通過管道mtftar傳輸以查看備份磁帶上的資料結構?

mftar根據文件應該能夠直接從磁帶上讀取,所以……

mftar < /dev/st0 | tar tvf -

如果您寧願先從磁帶上抓取數據,然後使用 mftar 進行操作,那麼您可以使用dd 例如

dd if=/dev/st0 of=output1

您可能需要使用 dd 指定塊大小。如果您不知道磁帶是如何編寫的,那麼tcopy可以給您一份關於其格式的報告。

如果您在單個磁帶上有多個圖像,那麼您需要在需要時使用非倒帶設備/dev/nst0以及顯式倒帶。

引用自:https://serverfault.com/questions/684248