PowerVS IBM i 日記(18): Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (自動移動編)

# Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (自動移動編)

「[Cloud Storage Solutions for i で IBM i から IBM Cloud Object Storage にアクセスする](https://qiita.com/6onoda/items/5b738f1d705876d5666c)」で Cloud Storage Solutions for i (今回から ICC と略して呼びます) を使って ICOS にアクセスできるようになりました。
「[Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (手動移動編)](https://qiita.com/6onoda/items/ee5747b49a83c5955a5b)」で、BRMS の手動操作によりバックアップを ICOS に移動し、BRMS の操作で復元する時に、自動的に ICOS からコピーが戻され復元されることを確認しました。

今回は、BRMS でのバックアップが自動的に ICOS に移動される手順を確認します。

手順や考慮点は、英文ですが「[Automatic Transfers of Media to Cloud Storage](https://helpsystemswiki.atlassian.net/wiki/spaces/IWT/pages/165642266/Automatic+Transfers+of+Media+to+Cloud+Storage)」に記載されています。

今回の環境は「[Cloud Storage Solutions for i で IBM i から IBM Cloud Object Storage にアクセスする](https://qiita.com/6onoda/items/5b738f1d705876d5666c)」の終了時点のものです。
この状態をブートイメージとして保管しておいたものから新しいインスタンスを作成しています。

「[Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (手動移動編)](https://qiita.com/6onoda/items/ee5747b49a83c5955a5b)」の操作は、今回の環境に対しては行われていません。

## BRMS の CCSID を 65535 に統一する。

BRMS が内部で利用するファイル QUSRBRM/QA1ADV の DVTEXT など一部のフィールドの CCSID が 37 になっていました。このままでは DBCS データが入らず、処理に失敗します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/30dd6a2f-85d5-9fd5-203a-2a8ae0c9d2b9.png)

下記を実行してフィールドの CCSID を 65535 (無変換)に統一します。
（注）PARM の第１、第２、第７、第８パラメーターには、最後に１桁のブランクがついています。



```
QSYS/CALL PGM(QBRM/Q1AOLD) PARM('INSTALL ' 'ALTERTBL ' 'Y' '01' '01' '65535' 'TEXTFLDS ' 'QUSRBRM ') 
```

実行後、65535 になっているのが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/39c87cd3-cfd0-14f3-6da6-1a617db0ca3b.png)


## ICC 資源

「[Cloud Storage Solutions for i で IBM i から IBM Cloud Object Storage にアクセスする](https://qiita.com/6onoda/items/5b738f1d705876d5666c)」で作成した、ICOS 用の資源を使用します。

```
WRKCFGICC 
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/d7744428-f7f4-fe0f-8e46-133ce01a1ff0.png)

## 仮想テープやイメージカタログの作成は不要

「[Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (手動移動編)](https://qiita.com/6onoda/items/ee5747b49a83c5955a5b)」では、自分で仮想テープやイメージカタログを用意しましたが、今回は不要です。
その代わり、バックアップ方法が異なりますが…

仮想テープ装置はありません。

```
WRKDEVD DEVD(*TAP) 
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/881869d5-2151-0b84-fda0-905dc51da458.png)

イメージカタログも構成していません。

```
WRKIMGCLG
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/9a0f48c4-7c51-6f89-6cc2-8b50f092fb42.png)


## BRMS の状況の確認

現在の BRMS の状況を、いくつかのコマンドで確認します。

「[Cloud Storage Solutions for i で IBM i から IBM Cloud Object Storage にアクセスする](https://qiita.com/6onoda/items/5b738f1d705876d5666c)」の終了時点のものなので、「[Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (手動移動編)](https://qiita.com/6onoda/items/ee5747b49a83c5955a5b)」の INZBRM 前と同じ状況です。

```
WRKDEVBRM
```

仮想テープ装置は BRMS に認識されていません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/81343f36-ccb6-98cb-408b-70b866c97f66.png)


```
WRKCLSBRM TYPE(*MED)
```

仮想テープボリュームに対応した媒体クラスはありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/973985f5-a84f-c206-46ef-3cd64a9031ea.png)

```
WRKPCYBRM TYPE(*MED) 
```

ICOS に対応したポリシーはありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/a1ea5da2-ab3b-ecc8-c7af-8812fe84344f.png)


今回のポイントとなるバックアップ制御グループです。

```
WRKCTLGBRM TYPE(*BKU)
```

特にクラウド関連のものはありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/ae13922d-3e4e-0136-fb7f-21cd90539e27.png)


## INZBRM による構成や資源の BRMS への登録

INZBRM OPTION(*DATA) を行うことで、BRMS が ICC の資源を認識します。

```
INZBRM OPTION(*DATA)
```

```
WRKDEVBRM
```

仮想テープ装置は作成していいないため、当然、追加されません。
記述が作成されていた光ディスク装置が追加されただけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/d5bf5a95-6a7e-6b7d-012f-03dd6ec17c1a.png)

```
WRKCLSBRM TYPE(*MED)
```

クラウドに対応した仮想媒体クラスが追加されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/4a18e5f3-9d6b-4a67-9dfc-5bf1270fb97e.png)

```
WRKPCYBRM TYPE(*MED) 
```

ICC 資源に対応した媒体ポリシーが追加されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/2aeacdac-bc17-386f-3ded-619483e6799e.png)

今回のポイントとなるバックアップ制御グループです。

```
WRKCTLGBRM TYPE(*BKU)
```
クラウドに対応した制御グループが登録されています。ポリシーは先ほど確認した ICC 資源に対応したものになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/0157d787-89c4-6931-b9f4-510aa4ff8f33.png)

各々の制御グループの内容は「[Automatic Transfers of Media to Cloud Storage](https://helpsystemswiki.atlassian.net/wiki/spaces/IWT/pages/165642266/Automatic+Transfers+of+Media+to+Cloud+Storage)」に、下記のように記載されています。

>QCLDBIPLxx - Used to do SAVSYS and full backups of system and user objects to media that will be transferred to the cloud but must be burned to optical media before use during recovery. This group is not created for cloud connectors using compression or encryption.
>
QCLDBGRPxx - Used to do cumulative incremental backups of system and user objects to media that will be transferred to the cloud but must be burned to optical media before use during recovery. This group is not created for cloud connectors using compression or encryption.
>
QCLDBSYSxx - Used to do full backups of system and user objects that can be restored from cloud media without burning the cloud media to physical optical media.
>
QCLDBUSRxx - Used to do cumulative incremental backups of system and user objects that can be restored from cloud media without burning the cloud media to physical optical media.

```
 WRKMEDBRM 
```
BRMS が認識している媒体はありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/4541d1e3-d8b2-8b24-4ef5-456a3ac27904.png)

## バックアップ対象の作成

バックアップ対象の作成しておきます。

```
CRTLIB LIB(TESTLIB) 
CRTPF FILE(TESTLIB/TESTPF) RCDLEN(132) 
```

内容を確認します。PDM を使うには5770-WDS が必要ですが、追加料金が掛かります 。基本料金に含まれる AMT で確認しましょう。

```
WRKOBJAMT LIB(TESTLIB) 
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/a90c8256-49d0-0303-0ad0-4c40ae519839.png)


## バックアップ制御グループのコピーと編集

事前定義されたクラウド用のバックアップ制御グループは変更すべきではありません。

「[Automatic Transfers of Media to Cloud Storage](https://helpsystemswiki.atlassian.net/wiki/spaces/IWT/pages/165642266/Automatic+Transfers+of+Media+to+Cloud+Storage)」に、下記の記載があります。

>User control groups for automatic transfers to the cloud - QCLDUxxxxx
>
QCLDBxxxxx control groups should not be changed by the user.  Instead, a QCLDBxxxxx control group can be copied to a QCLDUuuuuu control group, where uuuuu is a user specified suffix, which the user can then change.  Since the user's QCLDUuuuuu control group has a QCLD prefix, it will also cause BRMS to automatically create and transfer media to the cloud when it is used to do a backup.
>
After a QCLDBxxxxx control group has been copied to QCLDUuuuuu, QCLDUuuuuu will be associated with the move policy that was created by BRMS for the cloud resource. The move policy associated with the control group can be changed but the move policy that is used must contain a cloud location at sequence 10 otherwise automatic cloud transfers will not work properly.

ユーザー独自のバックアップ制御グループを用意したい場合は QCLDBxxxxx を、QCLDUuuuuu の名前にコピーして編集するようにとあります。

```
WRKCTLGBRM TYPE(*BKU)
```

QCLDBUSR01 をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/76969944-af73-e57c-f87f-b999a971bf30.png)

コピー先の名前を QCLDUUSR01 とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/5c7c63ad-0e2e-6c39-6176-da148a0c0206.png)

コピー先の  QCLDUUSR01 編集します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/285c4d9c-bcfe-dc2d-1f17-3c367a385876.png)


オリジナルでは *ALLUSR、DLO、IFS のバックアップをまとめて取得するようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/6b2db1d6-04d9-3853-15b7-6ec15f35d776.png)

TESTLIB だけを保管するように変更します。変更後は F3 で終了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/28aac126-7626-286a-d5b9-f355117cc935.png)


「1= 保管してセッションを終了」で保管します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/d399de7e-c972-d7bc-7ce1-dadd720c622a.png)

「8= 属性の変更」を実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/8b5ea85b-1383-81bf-74ac-cd323965c96f.png)

「媒体情報の自動バックアップ」が「*NONE」であることを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/e2f73eb4-beed-e221-e847-8594c2452103.png)


## バックアップの実行

「[Automatic Transfers of Media to Cloud Storage](https://helpsystemswiki.atlassian.net/wiki/spaces/IWT/pages/165642266/Automatic+Transfers+of+Media+to+Cloud+Storage)」に下記の記載があります。

> Using SAVxxxBRM commands will not trigger the automatic transfer of media.

「[Cloud Storage Solutions for i と BRMS で IBM Cloud Object Storage にバックアップ (手動移動編)](https://qiita.com/6onoda/items/ee5747b49a83c5955a5b)」では「SAVLIBBRM 」で保管したので、自動転送されませんでした。


コピー・編集したバックアップ制御グループを指定してバックアップします。

```
STRBKUBRM CTLGRP(QCLDUUSR01) SBMJOB(*NO)
```



ICC での転送を確認します。

```
WRKSTSICC STATUS(*ALL) 
```

クラウドに自動転送されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/2d228849-2ae8-97a5-7cfe-f64fca41debe.png)

ICOS 上のオブジェクトが転送されている事が確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/f30542d9-7e13-6ee1-6c01-a02a397e9db1.png)

環境を確認します。

仮想テープ装置が作成されていました。

```
WRKDEVD DEVD(*TAP) 
```


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/53f5283f-28e8-f746-873e-bfcb5af9ee9a.png)



イメージカタログも作成されていました。

```
WRKIMGCLG
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/afeda787-c438-aff4-af13-5cab5acce0d7.png)

「/tmp/brms/userData/cloud/」の下を利用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/b08bb101-b87b-b41e-67f1-8b6ca1ab73b7.png)

BRMSが内部作成した装置のため、当然、BRMS から認識されています。

```
WRKDEVBRM
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/68142875-611a-1ef9-4ccb-65796d56b4b1.png)

メディアの状態を確認します。

```
WRKMEDBRM 
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/4db2d22c-5df9-65e3-2fb0-214c271db7dc.png)

ボリューム「Q24848」が場所「ICOS_SYD」にあります。BRMS は該当テープが ICOS にあることを認識しています。
他の「*HOME」にあるボリュームはイメージカタログで「ロード」状態になっているものです。


媒体情報を確認します。

```
WRKMEDIBRM CTLGRP(QCLDUUSR01)
```
ボリューム Q24848 の中に TESTLIB が保存されていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/52b748e1-8b41-e527-58cb-3f8863198c0c.png)

## 復元の実行

対象のライブラリーを削除します。

```
DLTLIB LIB(TESTLIB)
```

復元します。

```
RSTLIBBRM SAVLIB(TESTLIB) DEV(*MEDCLS) 
```

復元されていることを確認します。

```
WRKOBJAMT LIB(TESTLIB) 
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/f3582ac3-1116-23bd-0a86-2bee17f3ea83.png)

ICC の転送を確認します。

```
WRKSTSICC STATUS(*ALL) 
```

FRMCLD の操作で、ICOS から IBM i へコピーしたことが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/8ff0233b-b470-901b-dcd5-32ddb8a0f2fe.png)

ボリュームの場所を確認します。

```
WRKMEDBRM
```

場所が「*HOME」になっています。IBM i 上に存在します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/35b3cce1-8f19-3481-10ed-93d423be4912.png)


復元用にイメージカタログが作成されています。

```
WRKIMGCLG
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/8aa5b804-d948-352e-3e92-14db7570938c.png)

その中にボリューム Q24848 がマウントされていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/68df48e3-dac0-ef88-cf04-3c55bb25a5b8.png)

## まとめ

ICC と BRMS を組み合わせるとバックアップのボリュームイメージを、自動的に ICOS などの Cloud Object Storage に移動させることができます。

復元時には自動的に ICOS からローカルに逆方向のコピーを行い、そこから復元を行います。

自動移動のためには SAVxxxBRM を使わずに、バックアップ制御グループを使う必要があります。
バックアップ制御グループ QCLDBxxxxx がシステムで用意されています。
ユーザー特有のバックアップ制御グループが必要な場合は、QCLDBxxxxx を QCLDUuuuuu の名前でコピーしカスタマイズします。

物理的な保管媒体が存在しない PowerVS 環境の IBM i ですが、Cloud Storage Solutions for i と BRMS を組み合わせることで、効率的に ICOS 上にバックアッブ・イメージを移動・管理することができます。

---
当日記のIndexは[こちら](https://qiita.com/6onoda/items/f146c78c0c1bbe905a42)です。

---
許可の無い転載を禁じます。
この記事は筆者の個人的な責任で無保証で提供しています。
当記事に関してIBMやビジネスパートナーに問い合わせることは、固くお断りします。