Japan IBM Storage User Group

Spectrum Protectでテープにバックアップする際の圧縮率の確認方法

By Keitaro Imai posted Sat June 13, 2020 11:53 AM

  
基本的な話から始めて恐縮ですが、Spectrum Protect(ISP、旧TSM)ではテープ・デバイスを定義する際にテープの圧縮機能を使用するかを定義できます。
設定自体はDevice Classの設定で、formatオプションを使って以下のように設定します。
define devclass dev4500 library=lib4500 devtype=lto format=ultrium8c
formatの最後のところにcがつけばcompressionが有効ということです。もしくはformat=driveと入れればドライブに対して最適なフォーマットで書き込むことになり、圧縮が有効となります。

この圧縮ですが、ISPの場合テープの最後までデータを書き込まないと正確な圧縮率は分かりません。
以下、少し古いLTO3のアウトプットの一部ですが見積もり容量が800GBと出ているのは、2:1圧縮が有効であった場合に最後まで書き込むとこの容量になるという見積もりです。
Protect: TSM71>q vol 000005l3 f=d
                    ボリューム名: 000005L3
            ストレージ・プール名: POOL3200
                    装置クラス名: DEV3200
                        見積容量: 800.0 G
          適用されるスケール容量:
                   使用率 ( % ) : 2.2
                  ボリューム状況: 埋め込み中
                        アクセス: 読み取り/書き込み
          Pct 再利用可能スペース: 0.0
従って正確な圧縮率を加味して出している数値ではありません。
つまり最後まで書き込んで初めて正確な書き込まれた容量と圧縮率が分かるという形になります。最終的には800GBを上回ることも下回ることもあります。ISPそのものの機能には書き込み途中のボリュームの圧縮率、正確な容量を示すコマンドはありません。

でも、どうしてもデータの圧縮率を知りたい!という場合は、テープにデータを書き込んだ後、ドライブにマウントされているままの状態であれば、マウントしている間に書き込まれたデータの圧縮率を知ることは可能です。その方法はITDTを使用します。
IBM Tape Diagnostic Tool
ITDTの詳細な説明やインストール方法などは上記リンクからマニュアルをご確認いただければと思います。
圧縮率を知る方法は以下のように操作します。


1.ISPバックアップを実行してテープがドライブにマウントされている状態であることを確認
以下、Clientでバックアップ取得したアウトプット。約18GBのバックアップが取られた。
----------------------------------------------
'/filepool/*' の選択バックアップ処理が障害なしに終了しました。
検査されたオブジェクトの総数:                   37
バックアップされたオブジェクトの総数:           37
更新されたオブジェクトの総数:                    0
再バインドされたオブジェクトの総数:              0
削除されたオブジェクトの総数:                    0
有効期限が切れたオブジェクトの総数:              0
失敗したオブジェクトの総数:                      0
暗号化されたオブジェクトの総数:                  0
大きくなったオブジェクトの総数:                  0
再試行の総数:                                    0
検査された合計バイト数:                      17.80 GB
転送された合計バイト数:                      17.80 GB
データ転送時間:                             192.64 秒
ネットワーク・データ転送速度:            96,874.31 KB/秒
集約データ転送速度:                      62,968.03 KB/秒
オブジェクトの圧縮率:                            0%
合計データ削減率:                             0.00%
経過した処理時間:                         00:04:56
----------------------------------------------
ボリュームは以下の様に埋め込み中のステータス。空のテープに800GBの2.2%書き込まれたと読み取れます。
----------------------------------------------
Protect: TSM71>q vol 000005l3 f=d
                    ボリューム名: 000005L3
            ストレージ・プール名: POOL3200
                    装置クラス名: DEV3200
                        見積容量: 800.0 G
          適用されるスケール容量:
                   使用率 ( % ) : 2.2
                  ボリューム状況: 埋め込み中
                        アクセス: 読み取り/書き込み
          Pct 再利用可能スペース: 0.0
          ボリュームのスクラッチ: はい
                      エラー状態: いいえ
            書き込み可能サイド数: 1
                    マウント回数: 1
                書き込みパス回数: 1
       Approx. Date Last Written: 19/02/08   15:40:31
          Approx. Date Last Read: 19/02/08   15:36:25
                保留になった日付:
                書き込みエラー数: 0
                読み取りエラー数: 0
                  ボリューム位置:
ボリュームが MVS LAN フリー対応 : いいえ
               最終更新 (管理者):
               最終更新日付/時刻: 19/02/08   15:36:14
      レクラメーション期間の開始:
      レクラメーション期間の終了:
ドライブ暗号化の鍵のマネージャー: なし
論理ブロックが保護されています。: いいえ
----------------------------------------------
テープはドライブにマウントされている状態。
----------------------------------------------
Protect: TSM71>q mount
セッションの確立、サーバー:TSM71: AIX
  サーバー・バージョン 8、リリース 1、レベル 3.000
  サーバーの日付/時刻: 19/02/08   16:17:01  最終アクセス : 19/02/08   15:22:30
ANR8329I LTO ボリューム 000005L3 がドライブ DRV3200_1 (/dev/rmt0) に R/W でマウントされています。状況:
IDLE。
ANR8334I         1 件の一致が見つかりました。
----------------------------------------------


2.ITDTを起動
以下の様なメニューが表示される。
----------------------------------------------
f7010510a:[/tmp/imakei/ITDT]# ./itdt
Please wait for startup completion....  (Q to quit)
     IBM Tape Diagnostic Tool Standard Edition - Version:9.3.0.20181029
     Diagnostic and Maintenance Functions:
     [S] Scan for tape drives and enter Diagnostic/Maintenance Mode
     [H] Help
     [Q] Quit program
     Notes:
     - During a test, user data on the cartridge will be erased!
     - Make sure no other program is accessing the devices used by ITDT!
     - A device scan may take several minutes in some cases!
     Expert Functions for known devices:
     [U] Tapeutil
     [A] Add Device Manually
     [P] Preferences
<[H] Help | [Q] Quit | Command >
---------------------------- General Commands: ----------------------------
  [1] Open a Device             [5] Reserve Device     [9] Mode Sense
  [2] Close a Device            [6] Release Device     [10] Query Driver Ver.
  [3] Inquiry                   [7] Request Sense      [11] Query All Paths
  [4] Test Unit Ready           [8] Log Sense          [12] Query Runtime Info
 ---------------------------- Tape Drive Commands: -------------------------
  [20] Rewind                   [28] Erase             [36] Display Message
  [21] Forward Space Filemarks  [29] Load Tape         [37] Report Density Supp
  [22] Backward Space Filemarks [30] Unload Tape       [38] Test Encryp. Path
  [23] Forward Space Records    [31] Write Filemarks   [39] Config. TCP/IP Port
  [24] Backward Space Records   [32] Synchronize Buffers
  [25] Space to End of Data     [33] Query/Set Parameter
  [26] Read and Write Tests     [34] Query/Set Tape Position
  [27] Read or Write Files      [35] Query Encryption Status
 ---------------------------- Tape Library Commands: -----------------------
  [50] Element Information      [55] Initialize Element Status
  [51] Position to Element      [56] Prevent/Allow Medium Removal
  [52] Element Inventory        [57] Initialize Element Status Range
  [53] Exchange Medium          [58] Read Device IDs
  [54] Move Medium              [59] Read Cartridge Location
 ---------------------------- Service Aid Commands: ------------------------
  [70] Dump/Force Dump/Dump     [71] Firmware Update
<[H] Help | [Q] Quit | [M] Main Menu | [N] Next | Command >
----------------------------------------------


3.デバイスをオープンする。
上記メニューから1を選択してEnterを押すと以下の画面に進むので、次にデバイス名を指定。そのままで良ければEnterを押す。
----------------------------------------------
     ITDT- Open a Device
                    +---------------------------------------------+
     Device Name    | /dev/rmt0                                   |
                    +---+-----------------------------------------+
     Mode           | 1 |  1=Read/Write, 2=Read Only, 3=Write Only, 4=Append)
                    +---+
<Specify Device Name | [enter] for /dev/rmt0>
----------------------------------------------
次に、モードを選択。ここではRead Onlyでオープンするので2を押してEnter。
----------------------------------------------
     ITDT- Open a Device
                    +---------------------------------------------+
     Device Name    | /dev/rmt0                                   |
                    +---+-----------------------------------------+
     Mode           | 1 |  1=Read/Write, 2=Read Only, 3=Write Only, 4=Append)
                    +---+
<Specify Mode | [enter] for 1> 2
----------------------------------------------
最後に設定を確認してEnterで実行。
----------------------------------------------
     ITDT- Open a Device
                    +---------------------------------------------+
     Device Name    | /dev/rmt0                                   |
                    +---+-----------------------------------------+
     Mode           | 2 |  1=Read/Write, 2=Read Only, 3=Write Only, 4=Append)
                    +---+
<[R] Return | [Q] Quit | Enter to execute >
----------------------------------------------
以下の様にオープンされる。
----------------------------------------------
                              Command Result
+-----------------------------------------------------------------------------+
| Opening Device...                                                           |
| Open Device PASSED                                                          |
|                                                                             |
| Device:/dev/rmt0 opened                                                     |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
+-----------------------------------------------------------------------------+
< [Q] Quit | [N] Next| [P] Previous | + | - | [Enter] Return >
----------------------------------------------


4.ログセンスを出力
上記からEnterを押すと、再びトップのメニューに進むので、8を入力してEnter。
----------------------------------------------
---------------------------- General Commands: ----------------------------
  [1] Open a Device             [5] Reserve Device     [9] Mode Sense
  [2] Close a Device            [6] Release Device     [10] Query Driver Ver.
  [3] Inquiry                   [7] Request Sense      [11] Query All Paths
  [4] Test Unit Ready           [8] Log Sense          [12] Query Runtime Info
 ---------------------------- Tape Drive Commands: -------------------------
  [20] Rewind                   [28] Erase             [36] Display Message
  [21] Forward Space Filemarks  [29] Load Tape         [37] Report Density Supp
  [22] Backward Space Filemarks [30] Unload Tape       [38] Test Encryp. Path
  [23] Forward Space Records    [31] Write Filemarks   [39] Config. TCP/IP Port
  [24] Backward Space Records   [32] Synchronize Buffers
  [25] Space to End of Data     [33] Query/Set Parameter
  [26] Read and Write Tests     [34] Query/Set Tape Position
  [27] Read or Write Files      [35] Query Encryption Status
 ---------------------------- Tape Library Commands: -----------------------
  [50] Element Information      [55] Initialize Element Status
  [51] Position to Element      [56] Prevent/Allow Medium Removal
  [52] Element Inventory        [57] Initialize Element Status Range
  [53] Exchange Medium          [58] Read Device IDs
  [54] Move Medium              [59] Read Cartridge Location
 ---------------------------- Service Aid Commands: ------------------------
  [70] Dump/Force Dump/Dump     [71] Firmware Update
<[H] Help | [Q] Quit | [M] Main Menu | [N] Next | Command > 8
----------------------------------------------
ログセンスの何ページを見るか聞かれるので、32と入力。
----------------------------------------------
   ITDT- Log Sense
                         +---+
     Page Code in hex    | 0 |
                         +---+
<Specify Page Code in hex | [enter] for 0> 32
----------------------------------------------
以下のように出力される。
----------------------------------------------
                              Command Result
+-----------------------------------------------------------------------------+
| Issuing log sense for page 0x32...                                          |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
|                                                                             |
+-----------------------------------------------------------------------------+
< [Q] Quit | [N] Next| [P] Previous | + | - | [Enter] Return >
                              Command Result
+-----------------------------------------------------------------------------+
| Issuing log sense for page 0x32...                                          |
| Log Sense PASSED                                                            |
|                                                                             |
| Data, Length 255                                                            |
|              0 1    2 3    4 5    6 7    8 9    A B    C D  E F   0123456789ABCDEF       |
|     0000 - 3200 004C 0000 4002 0004 0001 4002 00CD  [2..L..@.....@..ヘ]      |
|     0010 - 0002 4004 0000 0000 0003 4004 0000  0280  [..@.......@....]      |
|     0020 - 0004 4004 0000 0000 0005 4004 0000  3A00  [..@.......@...:.]      |
|     0030 - 0006 4004 0000 473C 0007 4004 FFF8 0140  [..@...G<..@..]      |
|     0040 - 0008 4004 0000 229C 0009 4004 FFFF EBD4  [..@..."..廖.・]      |
|     0050 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     0060 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     0070 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     0080 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     0090 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     00A0 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     00B0 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     00C0 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     00D0 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
|     00E0 - 0000 0000 0000 0000 0000 0000 0000 0000  [................]      |
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV+
< [Q] Quit | [N] Next| [P] Previous | + | - | [Enter] Return >
----------------------------------------------
このEF列の、00CDが圧縮率を示しています。
16進数なので、10進数になおすと、205になります。これは、2.05:1で圧縮が効いているということを指します。
つまり、理想的な圧縮率で圧縮されているということですね。
初回の書き込みなので、q volの値と同様の正確な値が出ましたが今後レクラメーション対象領域が増えたり、異なる圧縮率のデータが書き込まれると正確な値は分からなくなります。
今、書き込まれているデータがどれぐらいの圧縮率かを確認したい場合にこのITDTを使用して確認してください。
なお、上記はLTOの場合で、3592(TS11xx)の場合は、ログセンス・ページは38で、Field 1がホストの書き込み量、Field 5がドライブの書き込み量で、Field 1/Field 5で圧縮率が分かるそうです。
3592のログセンスについてはこちらのSCSI Referenceを参考にしてください。

#SpectrumProtect
#tape
#compression
0 comments
5 views

Permalink