您如何確定帶有 mt 或 tar 的磁帶的剩餘容量?一個街區有多少空間?
我目前正在嘗試使用
mt-st
和 gnutar
1.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
MaxBlock
fromtapeinfo
表示驅動器支持的最大塊大小。例如,當您使用tar
命令時,您可以通過 tar-b
選項指定塊大小。這個大小有上限,這個限制對應於MaxBlock
。另一方面,mt-st -f /dev/nst0 tell
顯示磁帶在哪裡。確實,如果您查看Block Position
fromtapeinfo
,這個數字與 return from 一致mt-st tell
。您可以嘗試使用我創建的以下 bash 腳本來讀取 LTO-CM 晶片的剩餘容量。https://github.com/Kevin-Nakamoto/LTO-CM-Read