3
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?

VIOSでディスクを切り出してみる

Last updated at Posted at 2025-10-29

IBM i でzlibを検証する為にLPARを作成する機会があったので、内蔵ディスクの分割を行う方法を備忘録代わりに記載します。

環境概要

今回の検証で使用する環境は下記の図になります。
VIOSに割り当てられた6.4TBのNVMeから約3TBを切り出してIBM i の区画にアサインできるLV(論理ボリューム)を作成します。
IBM Power10で使用するNVMeはPV-PVマッピングを使用することができないので、今回はLV-PVマッピングを行います。
image.png

用語解説

今回使用する用語についていくつか解説していきます。
image.png

smit

IBM AIXのオペレーティングシステムにおけるシステム管理用のメニュー形式のインターフェースです。AIXの管理作業をコマンドラインで行う代わりに、より直感的に操作できるように設計されています。今回の作業ではsmitを使用した手順で解説します。

ストレージ記憶域管理 : Logical Volume Manager (LVM)

Unix系オペレーティングシステムで使用される柔軟なストレージ管理機能です。物理的なディスクを抽象化し、論理的なボリュームとして扱えるようにすることで、ストレージの拡張や管理を容易にします。
わかりやすく言うと、サーバーの「ストレージ(記憶領域)」を柔軟に管理できるしくみです。普通は1つのハードディスクをそのまま使いますが、LVMを使うと、複数のディスクをまとめたり、あとから容量を増やしたり、自由に扱えるようになります。

Namespace

NVMeデバイス上に作成される論理的なストレージ領域

ボリュームグループ:Volume Group(VG)

1つ以上のPV(物理ボリューム)で構成される仮想的なディスク領域です。
システムやアプリケーションの用途に応じて、複数のVGを作成・管理することができます。
デバイス名の例:rootvg、datavg

物理ボリューム:Physical Volume(PV)

物理的なディスク装置、またはストレージ装置のRAIDグループなどから切り出されたLUN(論理ユニット)を指します。LVM(Logical Volume Manager)において、VGの構成要素として登録されます。
デバイス名の例:hdisk0、hdisk1
※Namespaceと混ざりやすいので注意
NVMeで切り出したNamespaceを作成・アタッチした後に、それがAIXでは hdisk デバイス(PV)として認識されます。その hdisk を PV(Physical Volume)として VG に追加することで、従来のLVM構成に組み込むことができます。つまり、NVMeから切り出したボリュームをNamespace、AIXのLVMの視点ではhdisk デバイス(PV)として扱われる。

論理ボリューム:Losical Volume(LV)

実際にデータを保持するためのファイルシステムやローデバイスのコンテナとして使用されます。
LVMを用いてRAIDレベルの構成も可能です。
デバイス名の例:hd2、lv_data1

物理パーティション:Physical Partition(PP)

LVMで使用される物理的な記憶領域の最小単位です。
PVは複数のPPに分割され、これらを組み合わせてLVを構成します。
LVの作成時には、PPサイズを指定して割り当てを行います。
image.png

手順

今回はあらかじめ作成されたVIOS区画にsshでログインしている状態を前提として手順書を記載させていただきます。
作業を行う前にVIOS上でsmitを使用できるようにするために下記のコマンドを使用してください。

oem_setup_env

1.Namespaceの作成

Namespaceの作成を行います。下記のコマンドを使用してsmitのインターフェースを表示します。

smit nvme

smitのインターフェース上で下記の選択を行います。
Namespace Management and Attachment→Create a Namespace
選択後に下記画像のようにVIOSに割り当てられている物理ディスクの情報が出てくるので使用するディスクを選択します。
image.png
するとNamespaceの作成画面が表示されます。
この画面で使用するNamespaceのサイズなどを設定することができます。
今回使用するLVの合計容量が2.4TB(400GB×6本)なので余裕を持って3TB割り当てます。
image.png

Enterボタンを押下すると下記のように表示されて作成完了です。
image.png

作成されたNamespaceの確認

# lspv
hdisk0          00c460d1a1192f2f                    rootvg          active
hdisk5          none                                None

今回はhdisk5という名前でNamespaceが作成されたことが確認できます。
まだこのNamespaceはどのVGにも割り当てれていないのでnoneと表示されています。
また、Namespaceのサイズを確認したい場合は下記のコマンドで確認することができます。

# bootinfo -s hdisk5
2861023

MBでの表記になっておりますので、約2.9TBのNamespaceの作成ができたことが確認できます。

2.VGの作成

下記のコマンドを使用してsmitのインターフェースを表示します。

# smit vg

smitのインターフェース上で下記の選択を行います。
Add a Volume Group→Add a Scalable Volume Group
すると下記画面のVG作成用のメニューが表示されます。
image.png
今回はVGの名前にzlibtestという名前をつけました。
(-vgという名前にしたほうが管理しやすいので任意で決めてください)
PHYSICAL VOLUME namesに先ほど作成したNamespaceの名前を入力してください。今回はhdisk5を使用します。(F4キーを使用して選択することもできます)
設定後にEnterキーを押して下記画面が表示されたらVGの作成は完了です。
image.png

作成されたVGの確認

下記コマンドを使用することでVGの名前を確認可能です。

# lsvg
rootvg
zlibtest

またVGの詳細情報を確認する場合は下記のコマンドを使用します。
この画面でPPサイズなども確認できます。PP SIZEが1024 megabyte(s) と表記されているのでLVにボリュームを割り当てる際にはPPは400にして割り当てれば問題ないことが確認できます。

# lspv hdisk5
PHYSICAL VOLUME:    hdisk5                   VOLUME GROUP:     zlibtest
PV IDENTIFIER:      00c460d1233cb9ab VG IDENTIFIER     00c460d100004b000000019a233cb9d1
PV STATE:           active
STALE PARTITIONS:   0                        ALLOCATABLE:      yes
PP SIZE:            1024 megabyte(s)         LOGICAL VOLUMES:  6
TOTAL PPs:          2793 (2860032 megabytes) VG DESCRIPTORS:   2
FREE PPs:           393 (402432 megabytes)   HOT SPARE:        no
USED PPs:           2400 (2457600 megabytes) MAX REQUEST:      256 kilobytes
FREE DISTRIBUTION:  159..00..00..00..234
USED DISTRIBUTION:  400..559..558..558..325
MIRROR POOL:        None                     ENCRYPTION:       no

hdisk5がzlibtestのメンバーであることを確認するには下記のコマンドを使用します。zlibtestはVGの名前です。

#lsvg -p zlibtest
zlibtest:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk5            active            2793        2793        559..559..558..558..559

まだLVを作成していないので当たり前ですが、作成したVGにはLVが存在しないことを確認するには下記のコマンドを使用します。

# lsvg -l zlibtest
zlibtest:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT

3.LVの作成

下記のコマンドを使用してsmitのインターフェースを表示します。

# smit lv

smitのインターフェース上で下記の選択を行います。
Add a Logical Volume
下記の画面で使用するVGの名前を聞かれるので先ほど作成したVG名を入力してEnterキーを押下します。
image.png
するとLV作成用のメニューが下記のように表示されます。
下記画面では以下の項目を設定します。
Logical Volume Name:zlib0
Number of LOGICAL PARTITIONS:400
image.png
AIXなどのOSを使用する際はLogical Volume TypeはJFS2などを選択してファイルシステムの指定しますが今回の環境はIBM i で使用するので設定しません。
上記画面でEnterキーを押下するとLVの作成が行われます。
今回はLVを6本作成するので同様の操作を6回繰り返します。

作成されたLVの確認

下記コマンドを使用してVGに存在するLVを確認することができます。

# lsvg -l zlibtest
zlibtest:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
zlib0               jfs2       400     400     1    closed/syncd  N/A
zlib1               jfs2       400     400     1    closed/syncd  N/A
zlib2               jfs2       400     400     1    closed/syncd  N/A
zlib3               jfs2       400     400     1    closed/syncd  N/A
zlib4               jfs2       400     400     1    closed/syncd  N/A
zlib5               jfs2       400     400     1    closed/syncd  N/A

LV1つ1つの情報を確認する場合は下記のコマンドを使用します。

# lslv zlib0
LOGICAL VOLUME:     zlib0                  VOLUME GROUP:   zlibtest
LV IDENTIFIER:      00c460d100004b000000019a233cb9d1.1 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs2                   WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        1024 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                400                    PPs:            400
STALE PPs:          0                      BB POLICY:      non-relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    10
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
ENCRYPTION:         no

以上でVIOSでLVを作成する場合の手順となります。
VIOS上でRAIDの設定も可能ですが今回はIBM i のOSの機能を使用してミラーリング等の設定を行います。

HMCでの表記

HMCのGUI画面で作成されたVGやLVの情報を確認してみます。
HMCでは作成されたボリュームは下記のように表示されています。
VG→ストレージプール
LV→仮想ディスク
image.png
image.png

参考

※注意:HMCのGUI画面で作成されたストレージプールと今回の手順で作成したVGについては異なりますのでご注意ください。

SSP(Shared Storage Pool)のLUミラーリングについて:アプリケーションが誤ってデータを破壊した場合、その内容が即座にミラー先にも反映されるため、「破損のミラーリング」が発生するリスクがあります。
下記ドキュメントには、ストレージプールにはRAID構成済みのデバイスのみを使用してくださいと記載されております。

AIXのLVMミラーリングについて:障害が発生したディスクを切り離し、健全なミラーコピーで運用を継続できます。以下のドキュメントでは、ミラー構成の一部で障害が発生した場合のディスク交換手順も紹介されています。

最後に

今回は下記の手順でLVの作成を行いました。

NVMeからNamespaceとしてPV(hdisk5)を切り出す
↓
PV(hdisk5)をVG(zlibtest)に割り当てる
↓
VG(zlibtest)からLV(zlib0~5)を作成

NVMe(物理ディスク)からPV(物理ボリューム)を切り出すというのがイメージが湧きにくく、最初は理解に困っておりました。(LVと混ざっておりました)
1つのVGに1つのPVを割り当てて今回は設定したのですが、複数のPVを使用してVGの作成することや、後からPVの追加をすることもLVMを使用することで可能ですのでぜひお試しください。

3
0
2

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
3
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?