LTOテープの残り容量を決定する


15

LTOテープに残っている容量を確認するにはどうすればよいですか?

最後までシークしてステータスを確認すると、ファイル番号17にいることがわかりますが、各ファイルの大きさはわかりません。

$ mt -f /dev/nst1 eod
$ mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=17, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x44 (LTO-3).
Soft error count since last status=0
General status bits on (81010000):
 EOF ONLINE IM_REP_EN

ストリップ全体を読み取る以外に、テープの使用済み/空き容量を確認するにはどうすればよいですか?


1
すべてのデータを読み取っても、残りの容量を判断するのにあまり役立ちません。容量は、テープヘッドの摩耗とテープの品質によって異なります。すべてのデータを読み取った場合、実際には、読み取ったバイト数をカウントするのではなく、読み取りにかかった時間を測定することで、より適切な見積もりを得ることができます。
カスペルド

1
そして、圧縮と偽の容量の問題があります...
Overmind

@Overmind圧縮はオプションですが、有効にすると、テープから読み取ったバイト数をカウントするだけで使用可能な結果がさらに少なくなります。その場合でも、私のアドバイスはまだ有効です。テープ全体を読み取り、それにかかった時間を測定することにより、テープ容量がどれだけ使用されたかの合理的な見積もりが得られます。偽造能力とはどういう意味かわかりません。
カスペルド

つまり、テープの実際の製造者が宣言した容量は偽物です(通常、実際の容量の2倍)。彼らは特定の容量(つまり、圧縮比2:1で1.6TB、実際にはテープが0.8TBであることを意味します)と言います。データを2:1の圧縮率でアーカイブしたため、私の10TB WDゴールドHDDは20TBと言っているようなものです。
オーバーマインド

回答:


3

HP互換*ドライブ(ここではTandberg Data HH LTO 4ドライブ)がある場合、SCSIログで残りのテープ容量を見つけることができます。圧縮率、読み取り/書き込みなど、他の多くの興味深い情報もあります。障害、ドライブ/テープ履歴など。

sg_logs -a /dev/nst1

このユーティリティは、一般的にsg3-utilsまたはという名前のディストリビューションパッケージで利用できますsg3_utils

次のような行を探しています:

  • Main partition remaining capacity (in MiB)
  • Megabytes written to tape (非圧縮容量から減算)
  • Data bytes written to media by WRITE commands (非圧縮容量から減算)

それに失敗すると、ベンダー固有のツールを試すことができます。たとえば、HPにはHPE Library&Tape Toolsがあり、すべてのHP互換*ドライブで動作します。メニューに埋もれていると、ドライブのレポートを作成して表示する機能があり、そこにあるすべての情報を提供しますsg_logs


それに失敗すると、テープの終わりまで非圧縮データを書き込み、書き込まれたブロックを計算して、残っているものを把握できます(これは少し厄介なことは言うまでもありません)。

dd if=/dev/urandom of=/dev/nst1 bs=1M status=progress iflag=fullblock

または

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | dd of=/dev/nst1 bs=1M status=progress iflag=fullblock


*私の知る限り、IBMおよび場合によってはDellを除くすべてのドライブは同じOEM製であり、HP / HPEツールと互換性があります。

nst1元の質問のデバイスであるため、この回答全体で使用しました。必要に応じて更新します。


0

まず第一に、これは簡単なことではありません。

テープカートリッジには、さまざまな情報を提供するチップがあります。そのチップはMAM(メディア補助メモリ)と呼ばれます。テープがロードされている間に、テープドライブでSCSIコマンド「READ ATTRIBUTE」を使用して情報を読み取ることができます。属性の1つは「パーティションの残りの容量」です。これには、現在のテープパーティションに書き込むことができるバイト数が含まれます。テープパーティションとは何ですか?LTO(LTO 5以降)テープの最近のバージョンはパーティション化できます(LTFSは2つのパーティションを使用します)。

テープがパーティション化されている場合、各パーティションには十分な空き領域があり、すべてのパーティションをループして各パーティションの空き領域情報を取得する必要があります。

MAMの詳細を知りたい場合は、IBMのLTO-8 SCSI Referenceで詳細を説明しています(355ページから始まるセクション6.5には興味深いものが含まれています)。これを実装する方法の出発点が必要な場合は、sm3_utils課題トラッカーmaminfoまたはこの問題を確認する必要があります。

この情報がテープへの書き込み直後に更新されるかどうかはわかりません。正確な情報を取得するのがさらに難しくなるのは、アンマウント時の更新だけかもしれません。また、テープを上書きしたときの動作もわかりません。おそらく自分でこれを理解する必要があります。


-1

確かではありませんが、IBMのソフトウェアITDTの使用を提供できるかもしれません。テープライブラリやltoテープで実行できる機能がたくさんあります。使用状況と健康に関する情報。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.