[AIX] 論理ボリュームの再編成(reorgvg)

#### はじめに

論理ボリュームの PP(physical partition) を複数ディスクに分散するために、既存の論理ボリュームのディスク割り振りポリシー属性値を変更し、LV再編成を確認しました。


---
ディスク割り振りポリシーについての確認は以下で実施しています。

https://qiita.com/c_u/items/7fca994bba893be5849e

・参考マニュアル：[ディスク割り振りポリシー](https://www.ibm.com/docs/ja/aix/7.2?topic=strategy-inter-disk-allocation-policies) 
・参考 Tech Doc: [How to extend an existing logical volume across all disks in volume group.](https://www.ibm.com/support/pages/node/876060)


---
#### 環境

AIX 7.2

・rootvgはミラーリング構成 (hdisk1,2)
・hdisk3 ~ hdisk6 の 4つのディスクで構成された __testvg__ が存在している。

```
# lspv
hdisk0          00f62fc64a541a41                    None
hdisk1          00f98db5233054e3                    rootvg          active
hdisk2          00f98db52332151a                    rootvg          active
hdisk3          00f98db57c0c261b                    testvg          active
hdisk4          00f98db57c0c272a                    testvg          active
hdisk5          00f98db57c0c284f                    testvg          active
hdisk6          00f98db57c0c2959                    testvg          active
```

__testvg__ には __testlv1__ が存在する。

```
# lsvg -l testvg
testvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
testlv1             jfs        12      12      1    closed/syncd  N/A
```

__testlv1__ は __INTER-POLICY は minimum__ で設定されている。

```
# lslv testlv1
LOGICAL VOLUME:     testlv1                VOLUME GROUP:   testvg
LV IDENTIFIER:      00f98db500004c00000001827c0c2a06.1 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs                    WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        4 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                12                     PPs:            12
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    32
MOUNT POINT:        N/A                    LABEL:          None
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
```

testlv1 は __hdisk3に偏って__ 論理パーティションが構成されている。

```
# lslv -m testlv1
testlv1:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0104 hdisk3
0002  0105 hdisk3
0003  0106 hdisk3
0004  0107 hdisk3
0005  0108 hdisk3
0006  0109 hdisk3
0007  0110 hdisk3
0008  0111 hdisk3
0009  0112 hdisk3
0010  0113 hdisk3
0011  0114 hdisk3
0012  0115 hdisk3
```


---
#### 手順

##### 1. 論理ボリューム属性値の INTRA-POLICY を minimum から maximum に変更

変更前確認

```
# lslv testlv1 | grep INTER
INTER-POLICY:       minimum                RELOCATABLE:    yes
```

INTER-POLICY は <font color="Red"> minimum </font> です。

変更

```
# chlv -e x testlv1
# echo $?
0
```

変更後確認

```
# lslv testlv1 | grep INTER
INTER-POLICY:       maximum                RELOCATABLE:    yes
```

INTER-POLICY は <font color="Red">maximum </font> に変更されました。


##### 2. reorgvg を実行し、論理ボリュームを再編成する。

実行前確認

```
# lslv -m testlv1
testlv1:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0104 hdisk3
0002  0105 hdisk3
0003  0106 hdisk3
0004  0107 hdisk3
0005  0108 hdisk3
0006  0109 hdisk3
0007  0110 hdisk3
0008  0111 hdisk3
0009  0112 hdisk3
0010  0113 hdisk3
0011  0114 hdisk3
0012  0115 hdisk3
```

reorgvg実行

```
# reorgvg testvg testlv1
0516-962 reorgvg: Logical volume testlv1 migrated.
# echo $?
0
```

実行後確認

```
# lslv -m testlv1
testlv1:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0104 hdisk3
0002  0104 hdisk4
0003  0104 hdisk5
0004  0104 hdisk6
0005  0105 hdisk3
0006  0105 hdisk4
0007  0105 hdisk5
0008  0105 hdisk6
0009  0106 hdisk3
0010  0106 hdisk4
0011  0106 hdisk5
0012  0106 hdisk6
```

testlv1 の論理パーティションが、hdisk3 - 6 に分散されたことが確認できました。




---
#### おわりに


・検証では小さいサイズのLVで行っているので reorgvg コマンドは時間がかからず完了していますが、大きいサイズの場合は再編成に時間がかかることが予測されます。
・LVがオンラインでも実行できると思いますが、不整合を避けるためにオフラインで実施した方が望ましいです。


参考：
・（Tech Doc) [How to extend an existing logical volume across all disks in volume group.](https://www.ibm.com/support/pages/node/876060)
・[ディスク間割り振りポリシー]https://www.ibm.com/docs/ja/aix/7.2?topic=strategy-inter-disk-allocation-policies
・[chlv コマンド](https://www.ibm.com/docs/ja/aix/7.2?topic=c-chlv-command)
・[lslv コマンド](https://www.ibm.com/docs/ja/aix/7.2?topic=l-lslv-command)
・[reogvg コマンド](https://www.ibm.com/docs/ja/aix/7.2?topic=r-reorgvg-command)



以上です。