4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AIX 7.3 Big VG または Scalable VG でのmklv コマンド( 論理ボリューム作成) のデフォルト挙動変更の確認

Last updated at Posted at 2023-12-21

はじめに

AIX 7.3 では mklv のデフォルト設定が変更されている箇所があります。
実機で確認した内容を記載します。

AIX 7.3 リリースノート

ファイルシステムおよび論理ボリューム・マネージャーの更新

  • mklv コマンドはデフォルトで jfs2 タイプの論理ボリュームを作成します。
  • mklv コマンドはデフォルトで、大規模タイプおよび拡張可能タイプのボリューム・グループについてデフォルト・ミラー書き込み整合性ポリシーとしてパッシブ・ミラー書き込み整合性を持つ論理ボリュームを作成します。

環境

① AIX 7.3 TL0 SP1

# oslevel -s
7300-00-01-2148

② AIX 7.1 TL5 SP9

# oslevel -s
7100-05-09-2148

ドキュメント確認

変更箇所、機能の概念をドキュメントで確認します。

① タイプ

AIX 7.3 では mklv コマンドはデフォルトで jfs2 タイプの論理ボリュームを作成します。
以前のバージョンでは jfs タイプの論理ボリュームがデフォルトでした。

mklv コマンド (7.3)

-t type デフォルトは jfs2 です。

mklvコマンド(7.1)

-t type デフォルトは jfs です。

②ミラー書き込み整合性

AIX ミラー書き込み整合性

論理ボリュームへの書き込みの際には、LVM がすべてのミラー・コピーの書き込み要求を生成します。 ミラーリングされた書き込みの処理中 (すべてのコピーが書き込まれる前に) にシステムがクラッシュすると、 問題が発生します。 論理ボリュームのミラー書き込み整合性のリカバリーが要求された場合、 LVM はこのような整合性のないミラーのリカバリーを可能にするための追加情報を保持します。 ミラー書き込み整合性のリカバリーは、大部分のミラーリングされた論理ボリュームに対して行う必要があります。

ミラー書き込み整合性はミラーリングされたLVMのリカバリーを担保している設定ですね。


1) AIX 7.3 での mklv の確認

AIX 7.3 Big VG の場合

testvg という名前の Big VG を作成します。

# mkvg -B -y testvg hdisk1
0516-1254 mkvg: Changing the PVID in the ODM.
testvg

testlv1 というLVをtestvgに作成します。LPs は 2 です。

#  mklv -y testlv1 testvg 2
testlv1
# echo $?
0

VG作成確認

# lsvg testvg
VOLUME GROUP:       testvg                   VG IDENTIFIER:  00cc20e000004b000000018c89e1d90e
VG STATE:           active                   PP SIZE:        8 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      380 (3040 megabytes)
MAX LVs:            512                      FREE PPs:       378 (3024 megabytes)
LVs:                1                        USED PPs:       2 (16 megabytes)
OPEN LVs:           0                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     130048
MAX PPs per PV:     1016                     MAX PVs:        128
LTG size (Dynamic): 512 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no                       CRITICAL PVs:   no
ENCRYPTION:         yes

MAX PVs = 128、MAX LVs = 512、Max PPs per VG = 130048 のBig VG 属性で作成されています。


LV作成確認

#  lslv testlv1
LOGICAL VOLUME:     testlv1                VOLUME GROUP:   testvg
LV IDENTIFIER:      00cc20e000004b000000018c89e1d90e.1 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs2  #<= ここです      WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        8 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                2                      PPs:            2
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    128
MOUNT POINT:        N/A                    LABEL:          None
DEVICE UID:         0                      DEVICE GID:     0
DEVICE PERMISSIONS: 432
MIRROR WRITE CONSISTENCY: on/PASSIVE    #<= ここです
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
ENCRYPTION:         no
#

=> TYPE: jfs2 と、MIRROR WRITE CONSISTENCY: on/PASSIVE で作成されています。


AIX 7.3 Scalable VG の場合

VGの作成。AIX 7.3 ではオプションなしで作成するとScalable VG になります。

# mkvg -y testvg1 hdisk1
testvg1
# echo $?
0

testlv2 というLVをtestvg1 に作成します。LPs は 2 です。

# mklv -y testlv2 testvg1 2
testlv2
# echo $?
0

VG作成確認

# lsvg testvg1
VOLUME GROUP:       testvg1                  VG IDENTIFIER:  00cc20e000004b000000018c89ed3653
VG STATE:           active                   PP SIZE:        4 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      746 (2984 megabytes)
MAX LVs:            256                      FREE PPs:       744 (2976 megabytes)
LVs:                1                        USED PPs:       2 (8 megabytes)
OPEN LVs:           0                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32768                    MAX PVs:        1024
LTG size (Dynamic): 512 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
MIRROR POOL STRICT: off
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no                       CRITICAL PVs:   no
ENCRYPTION:         yes

MAX PVs = 1024、MAX LVs = 256、Max PPs per VG = 32768 のScalable VG 属性 で作成されています。


LV作成確認

# lslv testlv2
LOGICAL VOLUME:     testlv2                VOLUME GROUP:   testvg1
LV IDENTIFIER:      00cc20e000004b000000018c89ed3653.1 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs2   #<= ここです     WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        4 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                2                      PPs:            2
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    1024
MOUNT POINT:        N/A                    LABEL:          None
DEVICE UID:         0                      DEVICE GID:     0
DEVICE PERMISSIONS: 432
MIRROR WRITE CONSISTENCY: on/PASSIVE   #<= ここです
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
DEVICESUBTYPE:      DS_LVZ
COPY 1 MIRROR POOL: None
COPY 2 MIRROR POOL: None
COPY 3 MIRROR POOL: None
ENCRYPTION:         no
#

=> TYPE: jfs2 と、MIRROR WRITE CONSISTENCY: on/PASSIVE で作成されています。


2) AIX 7.1 での mklv の確認

AIX 7.1 TL5 SP9 の環境で確認しました。

Big VG の場合

testvg という名前の Big VG を作成します。

# mkvg -B -y testvg hdisk1
0516-1254 mkvg: Changing the PVID in the ODM.
testvg
# echo $?
0

testlv1 というLVをtestvgに作成します。LPs は 2 です。

# mklv -y testlv1 testvg 2
testlv1
# echo $?
0

VG作成確認

# lsvg testvg
VOLUME GROUP:       testvg                   VG IDENTIFIER:  00cc20e000004b000000018c89e1b0e6
VG STATE:           active                   PP SIZE:        8 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      382 (3056 megabytes)
MAX LVs:            512                      FREE PPs:       380 (3040 megabytes)
LVs:                1                        USED PPs:       2 (16 megabytes)
OPEN LVs:           0                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     130048
MAX PPs per PV:     1016                     MAX PVs:        128
LTG size (Dynamic): 512 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no

MAX PVs = 128、MAX LVs = 512、Max PPs per VG = 130048 のBig VG 属性で作成されています。


LV作成確認

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

=> TYPE: jfs と、MIRROR WRITE CONSISTENCY: on/ACTIVE で作成されています。


Scalable VG の場合

testvg1 という Scalable VG を作成します。

# mkvg -S -y testvg1 hdisk1
testvg1
# echo $?
0

testlv2 というLVをtestvg1 に作成します。LPs は 2 です。

# mklv -y testlv2 testvg1 2
testlv2
# echo $?
0

VG作成確認

# lsvg testvg1
VOLUME GROUP:       testvg1                  VG IDENTIFIER:  00cc20e000004b000000018c89ed17d8
VG STATE:           active                   PP SIZE:        4 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      750 (3000 megabytes)
MAX LVs:            256                      FREE PPs:       748 (2992 megabytes)
LVs:                1                        USED PPs:       2 (8 megabytes)
OPEN LVs:           0                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32768                    MAX PVs:        1024
LTG size (Dynamic): 512 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
MIRROR POOL STRICT: off
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no

MAX PVs = 1024、MAX LVs = 256、Max PPs per VG = 32768 のScalable VG 属性で作成されています。


LV作成確認

# lslv testlv2
LOGICAL VOLUME:     testlv2                VOLUME GROUP:   testvg1
LV IDENTIFIER:      00cc20e000004b000000018c89ed17d8.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:                2                      PPs:            2
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    1024
MOUNT POINT:        N/A                    LABEL:          None
DEVICE UID:         0                      DEVICE GID:     0
DEVICE PERMISSIONS: 432
MIRROR WRITE CONSISTENCY: on/ACTIVE  #<= ここです
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
DEVICESUBTYPE:      DS_LVZ
COPY 1 MIRROR POOL: None
COPY 2 MIRROR POOL: None
COPY 3 MIRROR POOL: None
#

=> TYPE: jfs と、MIRROR WRITE CONSISTENCY: on/ACTIVE で作成されています。


ミラー書き込み整合性の考慮点

ミラー書き込み整合性はパッシブ、アクティブでそれぞれメリット・デメリットがあるため、要件に応じて値を考えることが良いのではと思います。

AIX 7.3 ディスク・ミラーリングのパフォーマンスへの影響

(一部抜粋)

ミラーリングが使用され、ミラー書き込み整合性 (Mirror Write Consistency) がオンになっている (デフォルトにより) 場合は、 ディスクの外部領域にそのコピーを配置することを考慮してください。 lslv コマンドは通常、 ミラーリングされていない論理ボリュームについてはミラー書き込み整合性がオンになることを表示しますが、COPIES 値が 1 より大きくない限り、実際の処理が発生することはありません。 書き込み検査はデフォルトではオフです。

受動ミラー書き込み整合性 (MWC) と呼ばれる、ミラー書き込み整合性オプションが使用可能です。 ミラー書き込み整合性を確実にする デフォルトのメカニズムが、アクティブ MWC です。 アクティブ MWC により、クラッシュが 発生した後のリブート時のリカバリーが速くなります。 ただし、このメリットは書き込みのパフォーマンスを 犠牲にして得られるものであり、特に、ランダム書き込みのパフォーマンスが低下します。 アクティブ MWC を使用不可にすれば、この書き込みパフォーマンスの低下はなくなりますが、 クラッシュ後のリブートで syncvg -f コマンドを使用して ボリューム・グループ全体を手作業で同期させてからでないと、ユーザーがそのボリューム・グループに アクセスすることができません。 これを行うには、ボリューム・グループの automatic vary-on を使用不可にする必要があります。

受動 MWC を使用可能にした場合は、アクティブ MWC にからむ書き込みパフォーマンスの低下が なくなるだけでなく、区画がアクセスされているときに自動的に論理ボリュームの再同期が とられます。 これは、管理者が論理ボリュームを手動で同期したり、 automatic vary-onを無効にしたりする必要がないことを意味します。 受動 MWC の欠点としては、すべての区画の同期が取り直されるまでは、読み取り操作が遅くなるということがあります。

以下にも MWC(Mirror Write Consistency) の動きが詳しく記載されています。

AIX 7.3 論理ボリュームのミラー書き込み整合性ポリシー


ご参考

AIX 7.3 VG のデフォルト挙動変更については下記で確認しています。

FS について位は以下で確認しています。

ご参考まで、以上です。

4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?