Tar

您如何確定帶有 mt 或 tar 的磁帶的剩餘容量?一個街區有多少空間?

  • September 7, 2020

我目前正在嘗試使用mt-st 和 gnu tar1.32 將數據備份到 LTO-4 磁帶上,但我想確保在磁帶用完之前停止嘗試複製內容!LTO-4 標稱容量為 800G 或 1.6T 壓縮。tapeinfo -f /dev/nst0 | grep Comp返回

DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x1
DeCompType: 0x1

我認為這意味著啟用了壓縮?再說一次,我使用 將存檔添加到磁帶中mt-st -f /dev/nst0 eod ; tar -czf /dev/nst0 directoryname,因此我還使用 gzip 壓縮該存檔。

簡而言之,我不知道如何視覺化磁帶上的檔案佔用了多少數據,它們以塊為單位,我不知道一個塊包含多少數據。我已經將大約 200G 的數據複製到磁帶並mt-st -f /dev/nst0 eod ; mt-st -f /dev/nst0 status ; echo -e "\n" ; mt-st -f /dev/nst0 tell返回:

SCSI 2 tape drive:
File number=1, block number=-1, partition=0.
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (9010000):
EOD ONLINE IM_REP_EN


At block 18763534.

tapeinfo -f | grep MaxBlock回報MaxBlock: 16777215。所以看來我已經通過了最大塊?但是mt-st -f /dev/nst0 rewind ; tar -tzvf /dev/nst0確實返回了我複製到該存檔中的所有文件的列表,並將磁帶移動到數據的末尾,所以我不應該用完任何空間。通過查看mt手冊,如果不先寫下來,我無法找到到達磁帶末尾的方法。

tapeinfo如果有幫助,以下是其餘部分:

Vendor ID: 'HP      '
Product ID: 'Ultrium 4-SCSI  '
Revision: 'U57D'
Attached Changer API: No
SerialNumber: 'HU1104ERC3'
MinBlock: 1
MaxBlock: 16777215
SCSI ID: 0
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: Not Loaded
Density Code: 0x46
BlockSize: 0
Block Position: 18763534
Partition 0 Remaining Kbytes: 800226
Partition 0 Size in Kbytes: 800226
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 0

MaxBlockfromtapeinfo表示驅動器支持的最大塊大小。例如,當您使用tar命令時,您可以通過 tar-b選項指定塊大小。這個大小有上限,這個限制對應於MaxBlock。另一方面,mt-st -f /dev/nst0 tell顯示磁帶在哪裡。確實,如果您查看Block Positionfrom tapeinfo,這個數字與 return from 一致mt-st tell

您可以嘗試使用我創建的以下 bash 腳本來讀取 LTO-CM 晶片的剩餘容量。https://github.com/Kevin-Nakamoto/LTO-CM-Read

引用自:https://unix.stackexchange.com/questions/608200