IBM i駆け出し日記：仮想テープの作り方と使い方

# 仮想テープとは
仮想ディスクのテープ版です、テープ装置なので物理テープと同じ使い方ができます。
```
CRTSAVF
```
バックコマンドだとこれが有名です、ただSAVFを用いた保管ファイルでのバックアップは１つのライブラリーしか扱えないので、複数のライブラリーの一括バックアップができません。
それ解決するのが仮想テープ装置です。

そもそもの話なのですが、仮想テープを使うためには仮想のテープ装置とテープ媒体(ボリューム)、この2つを作る必要があります。
媒体がテープ本体で、テープ装置がテープ本体を読み取るやつです。

# 仮想テープ装置とボリュームの作り方
## 仮想テープ装置を作る

```
CRTDEVTAP
```
テープ装置名TAPVRT02　、資源名*VRT
をそれぞれ入力します。
![png 2023-12-07 9.23.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/86c6928b-f498-7b67-9360-e48be72dd84e.png)
## テープ装置を有効化する
```
VRYCFG
```
構成オブジェクトでテープ装置名とタイプ*DEVを指定して、状況を有効化のため*ONにします。
![png 2023-12-07 9.16.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/003b4298-138f-9f40-c1f7-5ed5a7403cb0.png)

##  イメージカタログの作成
```
CRTIMGCLG
```
テープ専用のKOGATESTというイメージカタログをIFSの/TAPEIMAGE配下作りました。
イメージカタログはディスク用、テープ用とフォーマットが違うので装置に合わせて適宜作り直してください。
![png 2023-12-07 9.36.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/84ee9df7-7aca-033a-8ef5-94f3796c8299.png)

## 仮想テープボリームの追加
```
ADDIMGCLGE
```

FROMイメージファイルを*NEWに指定し(新規作成という意味)、TOイメージファイルをVOL001にしてVOL001という名前でKOGATESTにボリュームを追加します。
![png 2023-12-07 9.47.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/4624d565-712c-0ac9-e76a-cfbe8fc49cf1.png)

### ボリュームサイズについて
2023年12月時点で仮想テープのボリュームサイズの最大値は１TBまでみたいです。
1TB以上のデータを保管したい場合、ZLIBで圧縮かけるか仮想テープ媒体をいくつも用意する必要があるようです。

# テープにライブラリを保管する
## テープの初期化
テープを使うためにはテープの初期化(テープ媒体の中身を消すこと)が必要らしいです。新しく作ったものでも必要みたい。
```
WRKIMGCLG
```
でさっき作成したカタログを作成して、オプションの10を入れます。
![png 2023-12-07 10.59.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/e3319a01-3236-32b1-5230-9b4e0b296b21.png)
活動ファイルの走査を*NOにするとテープにデータが入っていたとしても、強制的に初期化できます。
逆に＊YESにすると中身があった場合初期化できない。
![png 2023-12-07 11.03.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/177f0956-de5d-3f0d-1403-121d4361383e.png)


## イメージカタログのロード
```
LODIMGCLG IMGCLG(KOGATEST) DEV(TAPVRT02)
```
![png 2023-12-07 10.04.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/c118cec7-4e67-fd4e-b2f5-540d9adc8435.png)

## ライブラリの保管
```
SAVLIB
```
保管するライブラリとファイルを保管するボリュームを指定します。
今回はSAKUSAKUというライブラリをテープに保管します。
![png 2023-12-07 11.11.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/635d7204-74e5-efd7-6450-7d966952f235.png)

実行キーを押すと保管ができます。

PDMからもできます。
![png 2023-12-07 11.18.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/ec7f5083-9271-ab70-bb3f-8a3b5b57d71b.png)

保管できてるっぽい。
![png 2023-12-07 11.15.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/7777ac87-272a-10b2-1107-2ff354e3f6da.png)


# テープからライブラリを復元する
SAKUSAKUライブラリを復元します。
## 事前準備
1. ライブラリSAKUSAKUを削除
1. ボリュームのアンロード
オプション9で実行しました
![png 2023-12-07 11.25.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/476a5cee-2d8f-d3ff-955e-5e750f143f48.png)
1. イメージカタログのアンロード
![png 2023-12-07 11.28.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/e61e6e5d-c9ac-7b5c-3209-104997810d04.png)


## 仮想テープボリュームをマウントする
```
WRKIMGCLG
```
該当イメージを選んでオプション6でマウントします。マウント後は以下のようにマウントと表示されます。
![png 2023-12-07 11.26.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/8bbe81f0-33f2-b6a1-911d-6c40d0607de0.png)

## イメージカタログのロード
```
LODIMGCLG
```
上記コマンドかイメージカタログの処理でオプション8でイメージカタログをロードします。
仮想テープ装置の指定を忘れずに。
![png 2023-12-07 11.30.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/978f7dcb-ad15-3e88-e01d-47fec4c40405.png)

## ライブラリの復元
```
SAVLIB
```
復元したいライブラリとテープ装置とボリュームIDを指定して実行します。
![png 2023-12-07 11.34.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/3348b37a-4800-d914-b104-f5af1c5711d7.png)