11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Cloud: Linux LVM + XFS 構成した Block Volume サイズを変更してパフォーマンスUP してみてみた

Last updated at Posted at 2025-06-04

Oracle Cloud Infrastructure (OCI) コンピュートへアタッチした Block Volumeをストライプ化論理ボリューム(LVM)で構成した後、Block Volume サイズを 100MBから 1500MB へ拡張して、パフォーマンスが向上することを確認してみてみます。
そして、変更前に復元できるよう 複数ボリュームをグループ化してバックアップしときます。

 :white_check_mark: コンピュート作成とストライプ化論理ボリューム(LVM) + XFS構成
 :white_check_mark: Block Volume 拡張前 FIO パフォーマンス測定
 :white_check_mark: Volume Group 作成とバックアップ
 :white_check_mark: Block Volume と LVM + XFS 拡張
 :white_check_mark: Block Volume 拡張後 FIO パフォーマンス測定
 :white_check_mark: (おまけ)切り戻し作業: Volume Group リストア
 :white_check_mark: 参考

■ コンピュート作成とストライプ化論理ボリューム(LVM) + XFS構成

今回使用する OCIコンピュートは、最大 Network Bandwidth 40 Gbpsの VM.Optimized3.Flex
Block Volume は、VPU=120 の 超高パフォーマンス(UHP) を 3本使用して Logical Volume Manager (LVM) で ストライプ化 してみてみます。

超高パフォーマンスの ボリューム・サイズとパフォーマンスから、超高パフォーマンス・レベル(120VPU)のボリューム・サイズに基づいて、ブロック・ボリューム・サービスのスループットとIOPSのパフォーマンス数値は、3本ストライプにすると次のように 1,500GBサイズにすると 8,040MB/秒であると机上計算できます。ということで FIO して確かめてみてみます。

VPU ボリューム・サイズ 1本あたり最大スループット 3本ストライプ最大スループット
120 100GB 180MB/秒 540MB/秒
120 1,500GB 2,680MB/秒 8,040MB/秒

● Compute作成

1) Oracle Linux Computeと UHP Block Volumeアタッチ確認
UHP Block VolumeのためのComputeインスタンスを作成して, 3つの 100GB UHP Block Volume をアタッチしておきます。
今回、UHPなので、Attached block Volumeの欄にあるものがすべて Mulripath = Yesであることを確認します。
01_AttachBlockVolume04.jpg

2) Device Path と Multi Path有効化確認
ここでは、アタッチした UHP Block Volume の Device Pathは次の3つであることと、Multipath が Yesであることが確認できます。

/dev/oracleoci/oraclevdb
/dev/oracleoci/oraclevdc
/dev/oracleoci/oraclevdd

● Device File確認 

Oracle Cloud Infrastructureでは、互換性のあるLinuxベース・インスタンスにアタッチされたブロック・ボリュームに対して、一貫性のあるデバイス・パスがサポートされています。
ブロック・ボリュームをインスタンスにアタッチするときには、インスタンスの再起動後も一貫性が保たれるデバイス・パスを選択できます。これにより、次のようなタスクを実行するためにボリュームを参照する場合に、一貫性のあるデバイス・パスを使用できます。
UHPのデバイスファイルは、マルチパスで構成されているので、対応する /dev/dm-? を確認しておきます。

1) Device File: /dev/oracleoci 確認

[opc@vm-ol9 ~]$ sudo -i
[root@vm-ol9 ~]# ls -l /dev/oracleoci/oraclevd[b-d]
lrwxrwxrwx. 1 root root 18 May 31 03:08 /dev/oracleoci/oraclevdb -> /dev/mapper/mpatha
lrwxrwxrwx. 1 root root 18 May 31 03:10 /dev/oracleoci/oraclevdc -> /dev/mapper/mpathb
lrwxrwxrwx. 1 root root 18 May 31 03:11 /dev/oracleoci/oraclevdd -> /dev/mapper/mpathc

2) Device Fileにリンクされているマルチパス・デバイスファイル確認

[root@vm-ol9 ~]# ls -l /dev/mapper/mpath[a,b,c]
total 0
crw-------. 1 root root 10, 236 May 31 02:46 control
lrwxrwxrwx. 1 root root       7 May 31 03:08 mpatha -> ../dm-2
lrwxrwxrwx. 1 root root       7 May 31 03:10 mpathb -> ../dm-3
lrwxrwxrwx. 1 root root       7 May 31 03:11 mpathc -> ../dm-4

● Block Device と UUID確認

1) lsblk 確認
利用可能なブロックデバイスの一覧を表示

[root@vm-ol9 ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda                  8:0    0   50G  0 disk
├─sda1               8:1    0  100M  0 part  /boot/efi
├─sda2               8:2    0    2G  0 part  /boot
└─sda3               8:3    0 44.5G  0 part
  ├─ocivolume-root 252:0    0 29.5G  0 lvm   /
  └─ocivolume-oled 252:1    0   15G  0 lvm   /var/oled
sdb                  8:16   0  100G  0 disk
└─mpatha           252:2    0  100G  0 mpath
sdc                  8:32   0  100G  0 disk
└─mpatha           252:2    0  100G  0 mpath
sdd                  8:48   0  100G  0 disk
└─mpatha           252:2    0  100G  0 mpath
sde                  8:64   0  100G  0 disk
└─mpatha           252:2    0  100G  0 mpath
sdf                  8:80   0  100G  0 disk
└─mpatha           252:2    0  100G  0 mpath
sdg                  8:96   0  100G  0 disk
└─mpathb           252:3    0  100G  0 mpath
sdh                  8:112  0  100G  0 disk
└─mpathb           252:3    0  100G  0 mpath
sdi                  8:128  0  100G  0 disk
└─mpathb           252:3    0  100G  0 mpath
sdj                  8:144  0  100G  0 disk
└─mpathb           252:3    0  100G  0 mpath
sdk                  8:160  0  100G  0 disk
└─mpathb           252:3    0  100G  0 mpath
sdl                  8:176  0  100G  0 disk
└─mpathc           252:4    0  100G  0 mpath
sdm                  8:192  0  100G  0 disk
└─mpathc           252:4    0  100G  0 mpath
sdn                  8:208  0  100G  0 disk
└─mpathc           252:4    0  100G  0 mpath
sdo                  8:224  0  100G  0 disk
└─mpathc           252:4    0  100G  0 mpath
sdp                  8:240  0  100G  0 disk
└─mpathc           252:4    0  100G  0 mpath

2) blkid
利用可能なブロックデバイスに関する情報を表示し UUID確認

[root@vm-ol9 ~]# blkid | sort
	/dev/mapper/ocivolume-oled: UUID="f7366542-63bb-4cff-b1b6-b65c4f94c326" TYPE="xfs"
	/dev/mapper/ocivolume-root: UUID="70ae9ecd-3b27-444f-ba7c-40288c014e37" TYPE="xfs"
	/dev/sda1: SEC_TYPE="msdos" UUID="86DC-3526" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="2a2320b9-aa64-48a8-8375-feb666cacb28"
	/dev/sda2: UUID="230c0730-695d-4ab9-9877-a105c43dd840" TYPE="xfs" PARTUUID="3303d07f-1da0-43a0-b5be-c899dcbfff84"
	/dev/sda3: UUID="mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O" TYPE="LVM2_member" PARTUUID="89ed5a37-947f-4aa3-a865-7252ee54350a"

3) lvmdiskscan
lvmdiskscan コマンドを使用して、物理ボリュームとして使用できるブロックデバイスをスキャンできます。

ここでは、  0 LVM physical volume whole disks のため使用できる physical volume がないことを確認
[root@vm-ol9 ~]# lvmdiskscan
  /dev/sda1                [     100.00 MiB]
  /dev/sda2                [       2.00 GiB]
  /dev/oracleoci/oraclevdb [     100.00 GiB]
  /dev/sda3                [      44.50 GiB] LVM physical volume
  /dev/oracleoci/oraclevdc [     100.00 GiB]
  /dev/oracleoci/oraclevdd [     100.00 GiB]
  3 disks
  2 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

● Physical Volume(PV)初期化

pvcreate コマンドを使用して、物理ボリュームとして使用するブロックデバイスを初期化します。初期化は、ファイルシステムのフォーマットと同様

1) PV確認

[root@vm-ol9 ~]# pvs -a
  PV                       VG        Fmt  Attr PSize  PFree
  /dev/oracleoci/oraclevdb                ---      0     0
  /dev/oracleoci/oraclevdc                ---      0     0
  /dev/oracleoci/oraclevdd                ---      0     0
  /dev/sda1                               ---      0     0
  /dev/sda2                               ---      0     0
  /dev/sda3                ocivolume lvm2 a--  44.50g    0

2) PV初期化
pvcreate コマンドを使用して、物理ボリュームとして使用するブロックデバイスを初期化します。初期化は、ファイルシステムのフォーマットと同様です。
以下のコマンドは、 /dev/oracleoci/oraclevdb、 /dev/oracleoci/oraclevdc、および /dev/oracleoci/oraclevdd を LVM 物理ボリュームとして初期化し、後で LVM 論理ボリュームとして使用します。

[root@vm-ol9 ~]# pvcreate -v /dev/oracleoci/oraclevd[b,c,d]
  Wiping signatures on new PV /dev/oracleoci/oraclevdb.
  Wiping signatures on new PV /dev/oracleoci/oraclevdc.
  Wiping signatures on new PV /dev/oracleoci/oraclevdd.
  Set up physical volume for "/dev/oracleoci/oraclevdb" with 209715200 available sectors.
  Zeroing start of device /dev/oracleoci/oraclevdb.
  Writing physical volume data to disk "/dev/oracleoci/oraclevdb".
  Physical volume "/dev/oracleoci/oraclevdb" successfully created.
  Set up physical volume for "/dev/oracleoci/oraclevdc" with 209715200 available sectors.
  Zeroing start of device /dev/oracleoci/oraclevdc.
  Writing physical volume data to disk "/dev/oracleoci/oraclevdc".
  Physical volume "/dev/oracleoci/oraclevdc" successfully created.
  Set up physical volume for "/dev/oracleoci/oraclevdd" with 209715200 available sectors.
  Zeroing start of device /dev/oracleoci/oraclevdd.
  Writing physical volume data to disk "/dev/oracleoci/oraclevdd".
  Physical volume "/dev/oracleoci/oraclevdd" successfully created.
  Not creating system devices file due to existing VGs.

3) pv初期化確認

[root@vm-ol9 ~]# pvs -a
  PV                       VG        Fmt  Attr PSize   PFree
  /dev/oracleoci/oraclevdb           lvm2 ---  100.00g 100.00g
  /dev/oracleoci/oraclevdc           lvm2 ---  100.00g 100.00g
  /dev/oracleoci/oraclevdd           lvm2 ---  100.00g 100.00g
  /dev/sda1                               ---       0       0
  /dev/sda2                               ---       0       0
  /dev/sda3                ocivolume lvm2 a--   44.50g      0

4) lvmdiskscan
lvmdiskscan コマンドを使用して、物理ボリュームとして使用できるブロックデバイスをスキャンできます。
ここでは、 3つの /dev/sdb, /dev/sdc, /dev/sdd が LVM physical volume として使用できることを確認

[root@vm-ol9 ~]# lvmdiskscan
  /dev/sda1                [     100.00 MiB]
  /dev/sda2                [       2.00 GiB]
  /dev/oracleoci/oraclevdb [     100.00 GiB] LVM physical volume
  /dev/sda3                [      44.50 GiB] LVM physical volume
  /dev/oracleoci/oraclevdc [     100.00 GiB] LVM physical volume
  /dev/oracleoci/oraclevdd [     100.00 GiB] LVM physical volume
  0 disks
  2 partitions
  3 LVM physical volume whole disks
  1 LVM physical volume

● Volume Groupe(VG) 作成

1 つまたは複数の物理ボリュームからボリュームグループを作成するには、vgcreate コマンドを使用します。vgcreate コマンドは、名前で新しいボリュームグループを作成し、そこに物理ボリュームを 1 つ以上追加

1) VG確認
ここでは、何も作成していないため Null

[root@vm-ol9 ~]# vgs -a
  VG        #PV #LV #SN Attr   VSize  VFree
  ocivolume   1   2   0 wz--n- 44.50g    0

2) VG作成
以下のコマンドは、物理ボリューム /dev/sdb, /dev/sdc および /dev/sded を含む volgroup01 という名前のボリュームグループを作成

[root@vm-ol9 ~]# vgcreate -v volgroup01 /dev/oracleoci/oraclevd[b,c,d]
  Wiping signatures on new PV /dev/oracleoci/oraclevdb.
  Wiping signatures on new PV /dev/oracleoci/oraclevdc.
  Wiping signatures on new PV /dev/oracleoci/oraclevdd.
  Not creating system devices file due to existing VGs.
  Adding physical volume '/dev/oracleoci/oraclevdb' to volume group 'volgroup01'
  Adding physical volume '/dev/oracleoci/oraclevdc' to volume group 'volgroup01'
  Adding physical volume '/dev/oracleoci/oraclevdd' to volume group 'volgroup01'
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 1).
  Volume group "volgroup01" successfully created

3) VG作成確認
VG が作成されたことを確認

[root@vm-ol9 ~]# vgs -a
  VG         #PV #LV #SN Attr   VSize    VFree
  ocivolume    1   2   0 wz--n-   44.50g       0
  volgroup01   3   0   0 wz--n- <299.99g <299.99g

4) VGディスクスキャン
vgscan コマンド:システム内で対応しているすべてのディスクデバイスをスキャンし、LVM 物理ボリュームおよびボリュームグループを検索します。これにより、/etc/lvm/cache/.cache ファイルに LVM キャッシュファイルが作成され、現在の LVM デバイスのリストを維持します。
LVM は、システムの起動時に、vgcreate コマンドを実行するとき、LVM が不整合を検出したときなど、システム起動時やその他のタイミングで vgscan コマンドを自動的に実行します。

[root@vm-ol9 ~]# vgscan
  Found volume group "ocivolume" using metadata type lvm2
  Found volume group "volgroup01" using metadata type lvm2

5) UUID確認

[root@vm-ol9 ~]# blkid | sort
/dev/mapper/mpatha: UUID="bh4K6X-N4ue-C70z-TA86-RI9E-mst3-5GyEpk" TYPE="LVM2_member"
/dev/mapper/mpathb: UUID="Hg2rf1-8xKS-RO2S-k5zi-qkax-iuRi-gDwhlv" TYPE="LVM2_member"
/dev/mapper/mpathc: UUID="pTMe1V-yvjy-91Cd-le0k-zHif-oiIr-ICQDZN" TYPE="LVM2_member"
/dev/mapper/ocivolume-oled: UUID="f7366542-63bb-4cff-b1b6-b65c4f94c326" TYPE="xfs"
/dev/mapper/ocivolume-root: UUID="70ae9ecd-3b27-444f-ba7c-40288c014e37" TYPE="xfs"
/dev/sda1: SEC_TYPE="msdos" UUID="86DC-3526" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="2a2320b9-aa64-48a8-8375-feb666cacb28"
/dev/sda2: UUID="230c0730-695d-4ab9-9877-a105c43dd840" TYPE="xfs" PARTUUID="3303d07f-1da0-43a0-b5be-c899dcbfff84"
/dev/sda3: UUID="mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O" TYPE="LVM2_member" PARTUUID="89ed5a37-947f-4aa3-a865-7252ee54350a"

● ストライプ化論理ボリューム(LV)作成

連続的な読み取りと書き込みが大量に行われる場合は、ストライプ化論理ボリュームを作成すると、データ I/O が効率が上がります。ストライプ化ボリュームに関する一般的な情報は、「ストライプ化論理ボリューム」 を参照してください。

1) Logical Volume(LV) 確認

[root@vm-ol9 ~]# lvs -a
  LV   VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  oled ocivolume -wi-ao---- 15.00g
  root ocivolume -wi-ao---- 29.50g

2) Logical Volume(LV) 作成
ストライプ化 LV を作成するときは、ストライプの数とサイズを考慮することが重要です。ストライプの数は、データが分散される PV の数です。ストライプの数を増やすと、複数のディスクを同時に利用してパフォーマンスを向上できます。ストライプのサイズは、次のディスクに移動するまでにストライプセット内の各ディスクに書き込まれるデータチャンクのサイズであり、キロバイト (KB) 単位で指定されます。最適なストライプのサイズは、ワークロードとファイルシステムのブロックサイズによって異なります。デフォルトは 64KB ですが、調整可能です。
ストライプサイズが 64 キロバイトの 3 つのストライプがある、100%全てのボリューム・サイズを使用するストライプ化ボリューム(LV)を作成します。

[root@vm-ol9 ~]# lvcreate -v -i 3 -l 100%FREE -n striped_logical_volume volgroup01
  Using default stripesize 64.00 KiB.
  Converted 100% of FREE (76797) extents into 76797 (with mimages 1 and stripes 3 for segtype striped).
  Creating logical volume striped_logical_volume
  Archiving volume group "volgroup01" metadata (seqno 1).
  Activating logical volume volgroup01/striped_logical_volume.
  activation/volume_list configuration setting not defined: Checking only host tags for volgroup01/striped_logical_volume.
  Creating volgroup01-striped_logical_volume
  Loading table for volgroup01-striped_logical_volume (252:5).
  Resuming volgroup01-striped_logical_volume (252:5).
  Wiping known signatures on logical volume volgroup01/striped_logical_volume.
  Initializing 4.00 KiB of logical volume volgroup01/striped_logical_volume with value 0.
  Logical volume "striped_logical_volume" created.
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 2).

3) LV作成確認
論理ボリューム情報を設定可能な形式で提供して、1 つの論理ボリュームにつき 1 行ずつ表示

[root@vm-ol9 ~]# lvs -ao +lv_full_name,devices,segtype,stripe_size
  LV                     VG         Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert LV                                Devices                                                                             Type    Stripe
  oled                   ocivolume  -wi-ao----   15.00g                                                     ocivolume/oled                    /dev/sda3(0)                                                                        linear      0
  root                   ocivolume  -wi-ao----   29.50g                                                     ocivolume/root                    /dev/sda3(3840)                                                                     linear      0
  striped_logical_volume volgroup01 -wi-a----- <299.99g                                                     volgroup01/striped_logical_volume /dev/oracleoci/oraclevdb(0),/dev/oracleoci/oraclevdc(0),/dev/oracleoci/oraclevdd(0) striped 64.00k

4) LV詳細表示
論理ボリュームのプロパティー (サイズ、レイアウト、マッピングなど) を表示

[root@vm-ol9 ~]#  lvdisplay /dev/volgroup01 -v
  --- Logical volume ---
  LV Path                /dev/volgroup01/striped_logical_volume
  LV Name                striped_logical_volume
  VG Name                volgroup01
  LV UUID                PADYLe-mDHb-5Jph-8ZTL-ZBvY-X7iZ-Iwn8TH
  LV Write Access        read/write
  LV Creation host, time vm-ol9, 2025-05-31 03:39:36 +0000
  LV Status              available
  # open                 0
  LV Size                <299.99 GiB
  Current LE             76797
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     768
  Block device           252:5

5) LV一覧表示
システム内のすべての論理ボリュームをスキャンし、以下の例のようにそれらを一覧表示

[root@vm-ol9 ~]# lvscan
  ACTIVE            '/dev/ocivolume/oled' [15.00 GiB] inherit
  ACTIVE            '/dev/ocivolume/root' [29.50 GiB] inherit
  ACTIVE            '/dev/volgroup01/striped_logical_volume' [<299.99 GiB] inherit

6) ブロックデバイス一覧表示

[root@vm-ol9 ~]# lsblk
NAME                                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda                                     8:0    0   50G  0 disk
├─sda1                                  8:1    0  100M  0 part  /boot/efi
├─sda2                                  8:2    0    2G  0 part  /boot
└─sda3                                  8:3    0 44.5G  0 part
  ├─ocivolume-root                    252:0    0 29.5G  0 lvm   /
  └─ocivolume-oled                    252:1    0   15G  0 lvm   /var/oled
sdb                                     8:16   0  100G  0 disk
└─mpatha                              252:2    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdc                                     8:32   0  100G  0 disk
└─mpatha                              252:2    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdd                                     8:48   0  100G  0 disk
└─mpatha                              252:2    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sde                                     8:64   0  100G  0 disk
└─mpatha                              252:2    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdf                                     8:80   0  100G  0 disk
└─mpatha                              252:2    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdg                                     8:96   0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdh                                     8:112  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdi                                     8:128  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdj                                     8:144  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdk                                     8:160  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdl                                     8:176  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdm                                     8:192  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdn                                     8:208  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdo                                     8:224  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm
sdp                                     8:240  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm

7) ブロックデバイス一覧と UUID確認
Universally Unique Identifier (UUID) 、ファイルシステムタイプ(TYPE)、ボリュームラベル(LABEL)などの属性を表示

[root@vm-ol9 ~]# blkid | sort
	/dev/mapper/mpatha: UUID="bh4K6X-N4ue-C70z-TA86-RI9E-mst3-5GyEpk" TYPE="LVM2_member"
	/dev/mapper/mpathb: UUID="Hg2rf1-8xKS-RO2S-k5zi-qkax-iuRi-gDwhlv" TYPE="LVM2_member"
	/dev/mapper/mpathc: UUID="pTMe1V-yvjy-91Cd-le0k-zHif-oiIr-ICQDZN" TYPE="LVM2_member"
	/dev/mapper/ocivolume-oled: UUID="f7366542-63bb-4cff-b1b6-b65c4f94c326" TYPE="xfs"
	/dev/mapper/ocivolume-root: UUID="70ae9ecd-3b27-444f-ba7c-40288c014e37" TYPE="xfs"
	/dev/sda1: SEC_TYPE="msdos" UUID="86DC-3526" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="2a2320b9-aa64-48a8-8375-feb666cacb28"
	/dev/sda2: UUID="230c0730-695d-4ab9-9877-a105c43dd840" TYPE="xfs" PARTUUID="3303d07f-1da0-43a0-b5be-c899dcbfff84"
	/dev/sda3: UUID="mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O" TYPE="LVM2_member" PARTUUID="89ed5a37-947f-4aa3-a865-7252ee54350a"

[root@vm-ol9 ~]# ls -l /dev/oracleoci/
	total 0
	lrwxrwxrwx. 1 root root  6 May 31 02:46 oraclevda -> ../sda
	lrwxrwxrwx. 1 root root  7 May 31 02:46 oraclevda1 -> ../sda1
	lrwxrwxrwx. 1 root root  7 May 31 02:46 oraclevda2 -> ../sda2
	lrwxrwxrwx. 1 root root  7 May 31 02:46 oraclevda3 -> ../sda3
	lrwxrwxrwx. 1 root root 18 May 31 03:08 oraclevdb -> /dev/mapper/mpatha
	lrwxrwxrwx. 1 root root 18 May 31 03:10 oraclevdc -> /dev/mapper/mpathb
	lrwxrwxrwx. 1 root root 18 May 31 03:11 oraclevdd -> /dev/mapper/mpathc

● LVM へ Volume へ XFS ファイルシステムの作成

XFS は、拡張性が高く、高性能で堅牢な、成熟した 64 ビットのジャーナリングファイルシステムで、1 台のホストで非常に大きなファイルおよびファイルシステムに対応します。Red Hat Enterprise Linux 9 ではデフォルトのファイルシステムになります。

1) XFSファイルシステム作成

[root@vm-ol9 ~]# mkfs.xfs /dev/volgroup01/striped_logical_volume
meta-data=/dev/volgroup01/striped_logical_volume isize=512    agcount=16, agsize=4914992 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=78639872, imaxpct=25
         =                       sunit=16     swidth=48 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=38398, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.

2) 変更登録待機実行
udevadm settle コマンドを使用して、システムが新しいデバイスノードを登録するまで待機します。

[root@VM-OL9 ~]#  udevadm settle
[root@VM-OL9 ~]#

● XFS マウント

1) マウントディレクトリ作成

[root@vm-ol9 ~]# mkdir /xfs

2) Mount

[root@vm-ol9 ~]# mount /dev/volgroup01/striped_logical_volume /xfs

3) Mount確認

[root@vm-ol9 ~]# mount | grep striped_logical_volume
	/dev/mapper/volgroup01-striped_logical_volume on /xfs type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,sunit=128,swidth=384,noquota)

4) Mount Disk確認

[root@vm-ol9 ~]# df -hT | grep striped_logical_volume
/dev/mapper/volgroup01-striped_logical_volume xfs       300G  2.2G  298G   1% /xfs

■ FIO パフォーマンス測定

● FIO インストール

1) install fio
Oracle LinuxまたはCentOSシステムにFIOをインストールして構成するには、次のコマンドを実行します

[root@vm-ol9 ~]# dnf install fio -y
Last metadata expiration check: 0:33:07 ago on Sat 31 May 2025 03:17:02 AM GMT.
Dependencies resolved.
======================================================================================================================================================================================================================
 Package                                               Architecture                               Version                                                 Repository                                             Size
======================================================================================================================================================================================================================
Installing:
 fio                                                   x86_64                                     3.35-1.el9                                              ol9_appstream                                         6.4 M
Installing dependencies:
 boost-iostreams                                       x86_64                                     1.75.0-10.el9                                           ol9_appstream                                          36 k
 libnbd                                                x86_64                                     1.20.3-1.el9                                            ol9_appstream                                         178 k
 librados2                                             x86_64                                     2:16.2.4-5.0.3.el9                                      ol9_appstream                                         3.4 M
 librbd1                                               x86_64                                     2:16.2.4-5.0.3.el9                                      ol9_appstream                                         3.0 M
 librdmacm                                             x86_64                                     51.0-1.el9                                              ol9_baseos_latest                                      74 k
Installing weak dependencies:
 fio-engine-http                                       x86_64                                     3.35-1.el9                                              ol9_appstream                                          17 k
 fio-engine-libaio                                     x86_64                                     3.35-1.el9                                              ol9_appstream                                          14 k
 fio-engine-nbd                                        x86_64                                     3.35-1.el9                                              ol9_appstream                                          13 k
 fio-engine-rados                                      x86_64                                     3.35-1.el9                                              ol9_appstream                                          15 k
 fio-engine-rbd                                        x86_64                                     3.35-1.el9                                              ol9_appstream                                          15 k
 fio-engine-rdma                                       x86_64                                     3.35-1.el9                                              ol9_appstream                                          19 k

Transaction Summary
======================================================================================================================================================================================================================
Install  12 Packages

・・・

Installed:
  boost-iostreams-1.75.0-10.el9.x86_64 fio-3.35-1.el9.x86_64             fio-engine-http-3.35-1.el9.x86_64 fio-engine-libaio-3.35-1.el9.x86_64 fio-engine-nbd-3.35-1.el9.x86_64  fio-engine-rados-3.35-1.el9.x86_64
  fio-engine-rbd-3.35-1.el9.x86_64     fio-engine-rdma-3.35-1.el9.x86_64 libnbd-1.20.3-1.el9.x86_64        librados2-2:16.2.4-5.0.3.el9.x86_64 librbd1-2:16.2.4-5.0.3.el9.x86_64 librdmacm-51.0-1.el9.x86_64

Complete!

2) FIO インストール確認

[root@vm-ol9 ~]# fio -v
	fio-3.35

● 順次読取りのテスト

1) FIO実行

[root@vm-ol9 ~]# fio --directory=/xfs --size=10G --direct=1 --rw=read --bs=256k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=25 --time_based --group_reporting --name=read_throughput --eta-newline=1
read_throughput: (g=0): rw=read, bs=(R) 256KiB-256KiB, (W) 256KiB-256KiB, (T) 256KiB-256KiB, ioengine=libaio, iodepth=64
...
fio-3.35
Starting 25 processes
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
Jobs: 25 (f=25): [R(25)][2.5%][r=528MiB/s][r=2113 IOPS][eta 01m:57s]
Jobs: 25 (f=25): [R(25)][4.2%][r=529MiB/s][r=2114 IOPS][eta 01m:55s]
Jobs: 25 (f=25): [R(25)][5.8%][r=528MiB/s][r=2113 IOPS][eta 01m:53s]
Jobs: 25 (f=25): [R(25)][6.7%][r=528MiB/s][r=2111 IOPS][eta 01m:52s]
Jobs: 25 (f=25): [R(25)][8.3%][r=528MiB/s][r=2111 IOPS][eta 01m:50s]
Jobs: 25 (f=25): [R(25)][10.0%][r=527MiB/s][r=2107 IOPS][eta 01m:48s]
Jobs: 25 (f=25): [R(25)][11.7%][r=527MiB/s][r=2108 IOPS][eta 01m:46s]
Jobs: 25 (f=25): [R(25)][13.3%][r=527MiB/s][r=2107 IOPS][eta 01m:44s]
Jobs: 25 (f=25): [R(25)][15.0%][r=528MiB/s][r=2110 IOPS][eta 01m:42s]
Jobs: 25 (f=25): [R(25)][16.7%][r=528MiB/s][r=2110 IOPS][eta 01m:40s]
Jobs: 25 (f=25): [R(25)][18.3%][r=525MiB/s][r=2101 IOPS][eta 01m:38s]
Jobs: 25 (f=25): [R(25)][20.0%][r=526MiB/s][r=2105 IOPS][eta 01m:36s]
Jobs: 25 (f=25): [R(25)][21.7%][r=528MiB/s][r=2111 IOPS][eta 01m:34s]
Jobs: 25 (f=25): [R(25)][23.3%][r=528MiB/s][r=2113 IOPS][eta 01m:32s]
Jobs: 25 (f=25): [R(25)][25.0%][r=526MiB/s][r=2104 IOPS][eta 01m:30s]
Jobs: 25 (f=25): [R(25)][26.7%][r=529MiB/s][r=2114 IOPS][eta 01m:28s]
Jobs: 25 (f=25): [R(25)][28.3%][r=530MiB/s][r=2120 IOPS][eta 01m:26s]
Jobs: 25 (f=25): [R(25)][30.0%][r=526MiB/s][r=2104 IOPS][eta 01m:24s]
Jobs: 25 (f=25): [R(25)][31.7%][r=529MiB/s][r=2114 IOPS][eta 01m:22s]
Jobs: 25 (f=25): [R(25)][33.3%][r=527MiB/s][r=2106 IOPS][eta 01m:20s]
Jobs: 25 (f=25): [R(25)][35.0%][r=528MiB/s][r=2113 IOPS][eta 01m:18s]
Jobs: 25 (f=25): [R(25)][36.7%][r=527MiB/s][r=2108 IOPS][eta 01m:16s]
Jobs: 25 (f=25): [R(25)][38.3%][r=527MiB/s][r=2107 IOPS][eta 01m:14s]
Jobs: 25 (f=25): [R(25)][40.0%][r=526MiB/s][r=2104 IOPS][eta 01m:12s]
Jobs: 25 (f=25): [R(25)][41.7%][r=529MiB/s][r=2115 IOPS][eta 01m:10s]
Jobs: 25 (f=25): [R(25)][43.3%][r=529MiB/s][r=2114 IOPS][eta 01m:08s]
Jobs: 25 (f=25): [R(25)][45.0%][r=527MiB/s][r=2107 IOPS][eta 01m:06s]
Jobs: 25 (f=25): [R(25)][45.8%][r=527MiB/s][r=2106 IOPS][eta 01m:05s]
Jobs: 25 (f=25): [R(25)][47.5%][r=529MiB/s][r=2115 IOPS][eta 01m:03s]
Jobs: 25 (f=25): [R(25)][49.2%][r=528MiB/s][r=2111 IOPS][eta 01m:01s]
Jobs: 25 (f=25): [R(25)][50.8%][r=527MiB/s][r=2109 IOPS][eta 00m:59s]
Jobs: 25 (f=25): [R(25)][52.5%][r=527MiB/s][r=2108 IOPS][eta 00m:57s]
Jobs: 25 (f=25): [R(25)][54.2%][r=528MiB/s][r=2111 IOPS][eta 00m:55s]
Jobs: 25 (f=25): [R(25)][55.8%][r=527MiB/s][r=2106 IOPS][eta 00m:53s]
Jobs: 25 (f=25): [R(25)][57.5%][r=530MiB/s][r=2118 IOPS][eta 00m:51s]
Jobs: 25 (f=25): [R(25)][59.2%][r=528MiB/s][r=2111 IOPS][eta 00m:49s]
Jobs: 25 (f=25): [R(25)][60.8%][r=528MiB/s][r=2110 IOPS][eta 00m:47s]
Jobs: 25 (f=25): [R(25)][62.5%][r=529MiB/s][r=2115 IOPS][eta 00m:45s]
Jobs: 25 (f=25): [R(25)][64.2%][r=527MiB/s][r=2107 IOPS][eta 00m:43s]
Jobs: 25 (f=25): [R(25)][65.8%][r=528MiB/s][r=2111 IOPS][eta 00m:41s]
Jobs: 25 (f=25): [R(25)][67.5%][r=528MiB/s][r=2113 IOPS][eta 00m:39s]
Jobs: 25 (f=25): [R(25)][68.3%][r=526MiB/s][r=2103 IOPS][eta 00m:38s]
Jobs: 25 (f=25): [R(25)][70.0%][r=528MiB/s][r=2110 IOPS][eta 00m:36s]
Jobs: 25 (f=25): [R(25)][70.8%][r=530MiB/s][r=2118 IOPS][eta 00m:35s]
Jobs: 25 (f=25): [R(25)][72.5%][r=529MiB/s][r=2114 IOPS][eta 00m:33s]
Jobs: 25 (f=25): [R(25)][74.2%][r=529MiB/s][r=2116 IOPS][eta 00m:31s]
Jobs: 25 (f=25): [R(25)][75.8%][r=527MiB/s][r=2108 IOPS][eta 00m:29s]
Jobs: 25 (f=25): [R(25)][77.5%][r=528MiB/s][r=2110 IOPS][eta 00m:27s]
Jobs: 25 (f=25): [R(25)][79.2%][r=527MiB/s][r=2107 IOPS][eta 00m:25s]
Jobs: 25 (f=25): [R(25)][80.8%][r=526MiB/s][r=2105 IOPS][eta 00m:23s]
Jobs: 25 (f=25): [R(25)][82.5%][r=526MiB/s][r=2104 IOPS][eta 00m:21s]
Jobs: 25 (f=25): [R(25)][84.3%][r=527MiB/s][r=2109 IOPS][eta 00m:19s]
Jobs: 25 (f=25): [R(25)][86.0%][r=527MiB/s][r=2109 IOPS][eta 00m:17s]
Jobs: 25 (f=25): [R(25)][87.6%][r=530MiB/s][r=2118 IOPS][eta 00m:15s]
Jobs: 25 (f=25): [R(25)][89.3%][r=529MiB/s][r=2115 IOPS][eta 00m:13s]
Jobs: 25 (f=25): [R(25)][90.9%][r=526MiB/s][r=2105 IOPS][eta 00m:11s]
Jobs: 25 (f=25): [R(25)][91.7%][r=528MiB/s][r=2111 IOPS][eta 00m:10s]
Jobs: 25 (f=25): [R(25)][93.4%][r=529MiB/s][r=2116 IOPS][eta 00m:08s]
Jobs: 25 (f=25): [R(25)][95.0%][r=527MiB/s][r=2109 IOPS][eta 00m:06s]
Jobs: 25 (f=25): [R(25)][96.7%][r=527MiB/s][r=2108 IOPS][eta 00m:04s]
Jobs: 25 (f=25): [R(25)][98.3%][r=527MiB/s][r=2106 IOPS][eta 00m:02s]
Jobs: 25 (f=25): [R(25)][100.0%][r=528MiB/s][r=2110 IOPS][eta 00m:00s]
read_throughput: (groupid=0, jobs=25): err= 0: pid=55059: Sat May 31 04:11:38 2025
  read: IOPS=2119, BW=530MiB/s (556MB/s)(62.2GiB/120212msec)
    slat (usec): min=10, max=243232, avg=11770.36, stdev=21681.52
    clat (msec): min=23, max=1518, avg=742.72, stdev=170.74
     lat (msec): min=25, max=1528, avg=754.49, stdev=172.31
    clat percentiles (msec):
     |  1.00th=[  368],  5.00th=[  481], 10.00th=[  531], 20.00th=[  600],
     | 30.00th=[  651], 40.00th=[  693], 50.00th=[  735], 60.00th=[  785],
     | 70.00th=[  827], 80.00th=[  885], 90.00th=[  961], 95.00th=[ 1028],
     | 99.00th=[ 1167], 99.50th=[ 1217], 99.90th=[ 1318], 99.95th=[ 1351],
     | 99.99th=[ 1435]
   bw (  KiB/s): min=205233, max=1062230, per=99.55%, avg=540281.74, stdev=5911.99, samples=5999
   iops        : min=  798, max= 4147, avg=2108.07, stdev=23.10, samples=5999
  lat (msec)   : 50=0.06%, 100=0.09%, 250=0.19%, 500=6.37%, 750=46.36%
  lat (msec)   : 1000=40.01%, 2000=6.93%
  cpu          : usr=0.03%, sys=0.31%, ctx=92067, majf=0, minf=568
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.2%, 32=0.3%, >=64=99.4%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=254848,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=530MiB/s (556MB/s), 530MiB/s-530MiB/s (556MB/s-556MB/s), io=62.2GiB (66.8GB), run=120212-120212msec

Disk stats (read/write):
    dm-5: ios=1019392/17, merge=0/0, ticks=212101794/304, in_queue=212102098, util=100.00%, aggrios=339797/5, aggrmerge=0/0, aggrticks=70745044/101, aggrin_queue=70745146, aggrutil=100.00%
    dm-4: ios=339795/3, merge=0/0, ticks=70810781/55, in_queue=70810836, util=100.00%, aggrios=65463/0, aggrmerge=2496/0, aggrticks=13442923/11, aggrin_queue=13442934, aggrutil=91.80%
  sdo: ios=65487/1, merge=2324/0, ticks=13448211/23, in_queue=13448235, util=91.63%
  sdm: ios=65384/0, merge=2475/0, ticks=13444046/0, in_queue=13444046, util=91.39%
  sdn: ios=65576/2, merge=2495/0, ticks=13442915/33, in_queue=13442948, util=91.63%
  sdl: ios=65338/0, merge=2674/0, ticks=13434723/0, in_queue=13434723, util=91.49%
  sdp: ios=65532/0, merge=2515/0, ticks=13444720/0, in_queue=13444720, util=91.80%
    dm-2: ios=339798/12, merge=0/0, ticks=70380632/212, in_queue=70380844, util=100.00%, aggrios=65681/2, aggrmerge=2279/0, aggrticks=13437709/28, aggrin_queue=13437738, aggrutil=91.51%
  sdf: ios=65706/2, merge=2239/1, ticks=13442896/21, in_queue=13442918, util=91.44%
  sdd: ios=65721/4, merge=2375/0, ticks=13432887/53, in_queue=13432940, util=91.15%
  sdb: ios=65694/3, merge=2261/0, ticks=13437616/32, in_queue=13437649, util=91.44%
  sde: ios=65590/0, merge=2229/0, ticks=13439102/0, in_queue=13439102, util=91.51%
  sdc: ios=65694/2, merge=2294/0, ticks=13436048/35, in_queue=13436081, util=91.32%
    dm-3: ios=339799/2, merge=0/0, ticks=71043721/37, in_queue=71043758, util=100.00%, aggrios=65345/0, aggrmerge=2615/0, aggrticks=13447038/7, aggrin_queue=13447046, aggrutil=91.66%
  sdk: ios=65293/1, merge=2564/0, ticks=13448639/12, in_queue=13448651, util=91.49%
  sdi: ios=65384/0, merge=2472/0, ticks=13455423/0, in_queue=13455422, util=91.53%
  sdg: ios=65278/1, merge=2764/0, ticks=13445748/26, in_queue=13445774, util=91.24%
  sdj: ios=65429/0, merge=2687/0, ticks=13440161/0, in_queue=13440162, util=91.23%
  sdh: ios=65344/0, merge=2589/0, ticks=13445221/0, in_queue=13445222, util=91.66%

2) FIO実行確認
順次読取りのテスト結果

次の bw 行を見ると、avg=540281.74 KiB/s = 553.25MB/秒 であることを確認できます。
UHP(超高パフォーマンス)の ボリューム・サイズとパフォーマンスから、
ボリューム・サイズ 100GBあたり 180MB/秒 の最大スループットがるので、3つで、3倍の 540MB/秒 が FIO の 平均値(avg)から データシート値がでていることを確認できます。

bw行
   bw (  KiB/s): min=205233, max=1062230, per=99.55%, avg=540281.74, stdev=5911.99, samples=5999

3) /xfs へ FIOテストファイル作成確認
FIO実行時に指定した --numjobs=25 と --group_reporting の名前と数分のファイルが作成されたことを確認できます。
必要に応じて削除しておきます。

[root@vm-ol9 ~]# ls -lh /xfs
total 250G
-rw-r--r--. 1 root root 10G May 31 04:00 read_throughput.0.0
-rw-r--r--. 1 root root 10G May 31 04:09 read_throughput.1.0
-rw-r--r--. 1 root root 10G May 31 04:06 read_throughput.10.0
-rw-r--r--. 1 root root 10G May 31 04:05 read_throughput.11.0
-rw-r--r--. 1 root root 10G May 31 04:05 read_throughput.12.0
-rw-r--r--. 1 root root 10G May 31 04:04 read_throughput.13.0
-rw-r--r--. 1 root root 10G May 31 04:04 read_throughput.14.0
-rw-r--r--. 1 root root 10G May 31 04:04 read_throughput.15.0
-rw-r--r--. 1 root root 10G May 31 04:03 read_throughput.16.0
-rw-r--r--. 1 root root 10G May 31 04:03 read_throughput.17.0
-rw-r--r--. 1 root root 10G May 31 04:03 read_throughput.18.0
-rw-r--r--. 1 root root 10G May 31 04:02 read_throughput.19.0
-rw-r--r--. 1 root root 10G May 31 04:08 read_throughput.2.0
-rw-r--r--. 1 root root 10G May 31 04:02 read_throughput.20.0
-rw-r--r--. 1 root root 10G May 31 04:02 read_throughput.21.0
-rw-r--r--. 1 root root 10G May 31 04:01 read_throughput.22.0
-rw-r--r--. 1 root root 10G May 31 04:01 read_throughput.23.0
-rw-r--r--. 1 root root 10G May 31 04:00 read_throughput.24.0
-rw-r--r--. 1 root root 10G May 31 04:08 read_throughput.3.0
-rw-r--r--. 1 root root 10G May 31 04:08 read_throughput.4.0
-rw-r--r--. 1 root root 10G May 31 04:07 read_throughput.5.0
-rw-r--r--. 1 root root 10G May 31 04:07 read_throughput.6.0
-rw-r--r--. 1 root root 10G May 31 04:07 read_throughput.7.0
-rw-r--r--. 1 root root 10G May 31 04:06 read_throughput.8.0
-rw-r--r--. 1 root root 10G May 31 04:06 read_throughput.9.0

■ Volume Group 作成とバックアップ

Block Volumeサービスを使用すると、多数のボリュームを1つのボリューム・グループにグループ化できます。ボリューム・グループには、コンピュート・インスタンス用のシステム・ディスクであるブート・ボリューム、およびデータ・ストレージ用のブロック・ボリュームの両方のタイプのボリュームを含めることができます。
ということで、コンピュートを構成している Boot Volume と 複数の Block Volume を グループ化してバックアップして、Block Volume の Online Size 変更する前に切り戻しできるようにしておきます。

● コンピュート OS停止

そして、今回、ストライプ化した複数ボリュームで構成されたファイルシステムなので生合成とれるバックアップにするため、コンピュートとOSを正常停止してから、バックアップを実行します。

1) コンピュート画面
[Action] > [Stop]をクリックして コンピュート停止します。

インスタンスを停止すると、オペレーティング・システムに停止コマンドが送信されます。OSが停止するまで15分間待った後、インスタンスの電源が切断されます。
このインスタンスのアプリケーションが停止するのに15分を超える時間がかかった場合は、不適切に停止される可能性があり、結果としてデータの破損が発生します。これを回避するには、コンソールでインスタンスを停止する前に、OSを使用してインスタンスを手動で停止してください。

13_VGバックアップ作成前OS停止01.jpg

● Volume Group 作成とバックアップ

次を参考に Volume Group 作成とバックアップします。

■ Block Volume と LVM + XFS 拡張

● Block Volume の Online Size 変更

1) Block Volume画面
ナビゲーション・メニューを開き、「ストレージ」を選択します。「ブロック・ストレージ」で、「ブロック・ボリューム」を選択します。
[ブロック・ボリューム]リストで、サイズを変更するブロック・ボリュームの右側をクリックし、[Edit]をクリック
21_BlockVolume拡張02.jpg

2) Edit Volume 画面
[ボリューム・サイズ(GB)]に新しいサイズを指定します。ブロック・ボリュームの現在のサイズより大きい値を指定する必要があります。そして、[変更の保存] をクリック

21_BlockVolume拡張03.jpg

これにより、ボリュームのプロビジョニング後に実行する必要があるディスクを再スキャンするコマンドがリストされたダイアログが開きます。オペレーティング・システムが拡張ボリューム・サイズを識別できるように、これらのコマンドを実行する必要があります。「コピー」リンクをクリックしてコマンドをコピーし、「閉じる」をクリックしてダイアログを閉じます。

3) Resize Block Volume 画面
インスタンスのOSにログオンし、前のステップでコピーした再スキャン・コマンドをインスタンス・セッション・ウィンドウに貼り付けて実行します。再スキャン・コマンドは、Linuxベースのインスタンスにアタッチされたボリュームのディスクの再スキャンにも記載されています。
21_BlockVolume拡張04.jpg

3) Block Volume Resize確認
100GBから1500GBにサイズ変更されたことを確認できます。
21_BlockVolume拡張05.jpg

3) 残りの Block Volume Resize確認
同様に他の Block Volumeも拡張します。
21_BlockVolume拡張06.jpg

● Linux Instance にアタッチされた Volume Disk 再スキャン

インスタンスのOSにログオンし、前のステップでコピーした再スキャン・コマンドをインスタンス・セッション・ウィンドウに貼り付けて実行します。再スキャン・コマンドは、Linuxベースのインスタンスにアタッチされたボリュームのディスクの再スキャンにも記載されています。

1) 再スキャン・コマンド編集
コピーした再スキャン・コマンドは、今回用にマルチパス・デバイス・パスを修正する必要があります。
今回のマルチパス・デバイス・パスは上記 lsblk コマンドで確認できた mpatha, mpathb, mpathc を構成する /dev/sdb ~ /dev/sdp のデバイス・ファイルへ実施します。

前のステップでコピーした再スキャン・コマンド
ステップ1: マルチパス・デバイス内のすべてのパス(例: sdb)に対して次のコマンドを実行します
	sudo dd iflag=direct if=/dev/<device_name> of=/dev/null count=1
	echo "1" | sudo tee /sys/class/block/<device_name>/device/rescan

ステップ2: 次のコマンドを実行して、マルチパス・デバイスのサイズを変更します
	sudo multipathd resize map /dev/oracleoci/oraclevdb
今回用に修正した再スキャン・コマンド
ステップ1: マルチパス・デバイス内のすべてのパス(例: sdb)に対して次のコマンドを実行します
	sudo dd iflag=direct if=/dev/sdb of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdc of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdd of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sde of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdf of=/dev/null count=1

	sudo dd iflag=direct if=/dev/sdg of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdh of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdi of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdj of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdk of=/dev/null count=1

	sudo dd iflag=direct if=/dev/sdl of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdm of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdn of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdo of=/dev/null count=1
	sudo dd iflag=direct if=/dev/sdp of=/dev/null count=1

	echo "1" | sudo tee /sys/class/block/sdb/device/rescan
	echo "1" | sudo tee /sys/class/block/sdc/device/rescan
	echo "1" | sudo tee /sys/class/block/sdd/device/rescan
	echo "1" | sudo tee /sys/class/block/sde/device/rescan
	echo "1" | sudo tee /sys/class/block/sdf/device/rescan

	echo "1" | sudo tee /sys/class/block/sdg/device/rescan
	echo "1" | sudo tee /sys/class/block/sdh/device/rescan
	echo "1" | sudo tee /sys/class/block/sdi/device/rescan
	echo "1" | sudo tee /sys/class/block/sdj/device/rescan
	echo "1" | sudo tee /sys/class/block/sdk/device/rescan

	echo "1" | sudo tee /sys/class/block/sdl/device/rescan
	echo "1" | sudo tee /sys/class/block/sdm/device/rescan
	echo "1" | sudo tee /sys/class/block/sdn/device/rescan
	echo "1" | sudo tee /sys/class/block/sdo/device/rescan
	echo "1" | sudo tee /sys/class/block/sdp/device/rescan


ステップ2: 次のコマンドを実行して、マルチパス・デバイスのサイズを変更します
	sudo multipathd resize map /dev/dm-2
	sudo multipathd resize map /dev/dm-3
	sudo multipathd resize map /dev/dm-4

2) Volume Disk 再スキャン実行

[root@vm-ol9 ~]# sudo dd iflag=direct if=/dev/sdb of=/dev/null count=1
	1+0 records in
	1+0 records out
	512 bytes copied, 0.000439722 s, 1.2 MB/s
[root@vm-ol9 ~]# sudo dd iflag=direct if=/dev/sdc of=/dev/null count=1
	1+0 records in
	1+0 records out
	512 bytes copied, 0.000583357 s, 878 kB/s
[root@vm-ol9 ~]# sudo dd iflag=direct if=/dev/sdd of=/dev/null count=1
	1+0 records in
	1+0 records out
	512 bytes copied, 0.000453984 s, 1.1 MB/s
[root@vm-ol9 ~]# sudo dd iflag=direct if=/dev/sde of=/dev/null count=1
	1+0 records in
	1+0 records out
	512 bytes copied, 0.00089093 s, 575 kB/s
[root@vm-ol9 ~]# sudo dd iflag=direct if=/dev/sdf of=/dev/null count=1
	1+0 records in
	1+0 records out
	512 bytes copied, 0.000470512 s, 1.1 MB/s


[root@vm-ol9 ~]# echo "1" | sudo tee /sys/class/block/sdb/device/rescan
    1
[root@vm-ol9 ~]# echo "1" | sudo tee /sys/class/block/sdc/device/rescan
    1
[root@vm-ol9 ~]# echo "1" | sudo tee /sys/class/block/sdd/device/rescan
    1
[root@vm-ol9 ~]# echo "1" | sudo tee /sys/class/block/sde/device/rescan
    1
[root@vm-ol9 ~]# echo "1" | sudo tee /sys/class/block/sdf/device/rescan
    1


[root@vm-ol9 ~]# sudo multipathd resize map /dev/dm-2
ok

同様に残りのマルチパス・デバイスも再スキャン・コマンドを実施します。

● LVM: PV Size変更

ブロックデバイスのサイズを変更する必要がある場合は、pvresize コマンドを使用して LVM のサイズを更新します。

▼ 1つ目: /dev/oracleoci/oraclevdb 拡張

1) pvresize実行

[root@vm-ol9 ~]# pvresize -v /dev/oracleoci/oraclevdb
  Resizing volume "/dev/oracleoci/oraclevdb" to 3145728000 sectors.
  Resizing physical volume /dev/oracleoci/oraclevdb from 25599 to 383999 extents.
  Updating physical volume "/dev/oracleoci/oraclevdb"
  Archiving volume group "volgroup01" metadata (seqno 4).
  Physical volume "/dev/oracleoci/oraclevdb" changed
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 5).
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

2) pvresize実行確認

[root@vm-ol9 ~]# pvs -v
  PV                       VG         Fmt  Attr PSize    PFree  DevSize PV UUID
  /dev/oracleoci/oraclevdb volgroup01 lvm2 a--     1.46t <1.37t   1.46t bh4K6X-N4ue-C70z-TA86-RI9E-mst3-5GyEpk
  /dev/oracleoci/oraclevdc volgroup01 lvm2 a--  <100.00g     0  100.00g Hg2rf1-8xKS-RO2S-k5zi-qkax-iuRi-gDwhlv
  /dev/oracleoci/oraclevdd volgroup01 lvm2 a--  <100.00g     0  100.00g pTMe1V-yvjy-91Cd-le0k-zHif-oiIr-ICQDZN
  /dev/sda3                ocivolume  lvm2 a--    44.50g     0   44.50g mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O

3) lsblk拡張確認
pvresize実行した、/dev/oracleoci/oraclevdb を構成するデバイス sdb, sdc, sdd, sde, sda も拡張されていることを確認

[root@vm-ol9 ~]# lsblk
NAME                                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda                                     8:0    0   50G  0 disk
├─sda1                                  8:1    0  100M  0 part  /boot/efi
├─sda2                                  8:2    0    2G  0 part  /boot
└─sda3                                  8:3    0 44.5G  0 part
  ├─ocivolume-root                    252:0    0 29.5G  0 lvm   /
  └─ocivolume-oled                    252:1    0   15G  0 lvm   /var/oled
sdb                                     8:16   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdc                                     8:32   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdd                                     8:48   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sde                                     8:64   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdf                                     8:80   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdg                                     8:96   0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdh                                     8:112  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdi                                     8:128  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdj                                     8:144  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdk                                     8:160  0  100G  0 disk
└─mpathb                              252:3    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdl                                     8:176  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdm                                     8:192  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdn                                     8:208  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdo                                     8:224  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdp                                     8:240  0  100G  0 disk
└─mpathc                              252:4    0  100G  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs

▼ 残り: /dev/oracleoci/oraclevdc ,oraclevdd 拡張

/dev/oracleoci/oraclevdb と同様に 残りのデバイスも拡張します。

[root@vm-ol9 ~]# pvresize -v /dev/oracleoci/oraclevdc
  Resizing volume "/dev/oracleoci/oraclevdc" to 3145728000 sectors.
  Resizing physical volume /dev/oracleoci/oraclevdc from 25599 to 383999 extents.
  Updating physical volume "/dev/oracleoci/oraclevdc"
  Archiving volume group "volgroup01" metadata (seqno 5).
  Physical volume "/dev/oracleoci/oraclevdc" changed
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 6).
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

[root@vm-ol9 ~]# pvresize -v /dev/oracleoci/oraclevdd
  Resizing volume "/dev/oracleoci/oraclevdd" to 3145728000 sectors.
  Resizing physical volume /dev/oracleoci/oraclevdd from 25599 to 383999 extents.
  Updating physical volume "/dev/oracleoci/oraclevdd"
  Archiving volume group "volgroup01" metadata (seqno 6).
  Physical volume "/dev/oracleoci/oraclevdd" changed
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 7).
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

[root@vm-ol9 ~]# pvs -v
  PV                       VG         Fmt  Attr PSize  PFree  DevSize PV UUID
  /dev/oracleoci/oraclevdb volgroup01 lvm2 a--   1.46t <1.37t   1.46t bh4K6X-N4ue-C70z-TA86-RI9E-mst3-5GyEpk
  /dev/oracleoci/oraclevdc volgroup01 lvm2 a--   1.46t <1.37t   1.46t Hg2rf1-8xKS-RO2S-k5zi-qkax-iuRi-gDwhlv
  /dev/oracleoci/oraclevdd volgroup01 lvm2 a--   1.46t <1.37t   1.46t pTMe1V-yvjy-91Cd-le0k-zHif-oiIr-ICQDZN
  /dev/sda3                ocivolume  lvm2 a--  44.50g     0   44.50g mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O

[root@vm-ol9 ~]# lsblk
NAME                                  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda                                     8:0    0   50G  0 disk
├─sda1                                  8:1    0  100M  0 part  /boot/efi
├─sda2                                  8:2    0    2G  0 part  /boot
└─sda3                                  8:3    0 44.5G  0 part
  ├─ocivolume-root                    252:0    0 29.5G  0 lvm   /
  └─ocivolume-oled                    252:1    0   15G  0 lvm   /var/oled
sdb                                     8:16   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdc                                     8:32   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdd                                     8:48   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sde                                     8:64   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdf                                     8:80   0  1.5T  0 disk
└─mpatha                              252:2    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdg                                     8:96   0  1.5T  0 disk
└─mpathb                              252:3    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdh                                     8:112  0  1.5T  0 disk
└─mpathb                              252:3    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdi                                     8:128  0  1.5T  0 disk
└─mpathb                              252:3    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdj                                     8:144  0  1.5T  0 disk
└─mpathb                              252:3    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdk                                     8:160  0  1.5T  0 disk
└─mpathb                              252:3    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdl                                     8:176  0  1.5T  0 disk
└─mpathc                              252:4    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdm                                     8:192  0  1.5T  0 disk
└─mpathc                              252:4    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdn                                     8:208  0  1.5T  0 disk
└─mpathc                              252:4    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdo                                     8:224  0  1.5T  0 disk
└─mpathc                              252:4    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs
sdp                                     8:240  0  1.5T  0 disk
└─mpathc                              252:4    0  1.5T  0 mpath
  └─volgroup01-striped_logical_volume 252:5    0  300G  0 lvm   /xfs

● VG 拡張

PV拡張で、VGも拡張されていることを確認
1) VG拡張確認

[root@vm-ol9 ~]# vgs -v -a
  VG         Attr   Ext   #PV #LV #SN VSize  VFree VG UUID                                VProfile
  ocivolume  wz--n- 4.00m   1   2   0 44.50g    0  kMj4A0-JG1d-J3wl-8shl-kEAy-d1TC-8MuQHb
  volgroup01 wz--n- 4.00m   3   1   0  4.39t 4.10t zMHvsn-J7Wy-tYL3-qltd-e3Hd-ejxo-x6zpfu

● LV 拡張

1) LV 拡張前確認
LV 拡張する前の状態を確認

[root@vm-ol9 ~]# lvs
  LV                     VG         Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  oled                   ocivolume  -wi-ao----   15.00g
  root                   ocivolume  -wi-ao----   29.50g
  striped_logical_volume volgroup01 -wi-ao---- <299.99g


[root@vm-ol9 ~]# lvs -ao +lv_full_name,devices,segtype,stripe_size -v
  LV                     VG         #Seg Attr       LSize    Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile LV                                Devices                                                                             Type    Stripe
  oled                   ocivolume     1 -wi-ao----   15.00g  -1  -1  252    1                                                     QefVxn-MgHG-dMha-IQdJ-X7sw-6eJR-oA2Pz5          ocivolume/oled                    /dev/sda3(0)                                                                        linear      0
  root                   ocivolume     1 -wi-ao----   29.50g  -1  -1  252    0                                                     DVkyyE-aryO-hNLY-7NPc-sMmE-or3u-LKJzzK          ocivolume/root                    /dev/sda3(3840)                                                                     linear      0
  striped_logical_volume volgroup01    1 -wi-ao---- <299.99g  -1  -1  252    5                                                     PADYLe-mDHb-5Jph-8ZTL-ZBvY-X7iZ-Iwn8TH          volgroup01/striped_logical_volume /dev/oracleoci/oraclevdb(0),/dev/oracleoci/oraclevdc(0),/dev/oracleoci/oraclevdd(0) striped 64.00k


[root@vm-ol9 ~]# lvs -ao +lv_full_name,devices,segtype,stripe_size
  LV                     VG         Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert LV                                Devices                                                                             Type    Stripe
  oled                   ocivolume  -wi-ao----   15.00g                                                     ocivolume/oled                    /dev/sda3(0)                                                                        linear      0
  root                   ocivolume  -wi-ao----   29.50g                                                     ocivolume/root                    /dev/sda3(3840)                                                                     linear      0
  striped_logical_volume volgroup01 -wi-ao---- <299.99g                                                     volgroup01/striped_logical_volume /dev/oracleoci/oraclevdb(0),/dev/oracleoci/oraclevdc(0),/dev/oracleoci/oraclevdd(0) striped 64.00k

2) LV 拡張
論理ボリュームのサイズを拡張するには、lvextend コマンドを使用します。
論理ボリュームを拡張する場合、そのボリュームの追加容量または拡張後のサイズを指定することができます。
今回は、空き領域全てを使用して拡張します。

[root@vm-ol9 ~]# lvextend -l +100%FREE volgroup01/striped_logical_volume
  Using stripesize of last segment 64.00 KiB
  Size of logical volume volgroup01/striped_logical_volume changed from <299.99 GiB (76797 extents) to 4.39 TiB (1151997 extents).
  Logical volume volgroup01/striped_logical_volume successfully resized.

3) LV 拡張確認

[root@vm-ol9 ~]# lvs
  LV                     VG         Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  oled                   ocivolume  -wi-ao---- 15.00g
  root                   ocivolume  -wi-ao---- 29.50g
  striped_logical_volume volgroup01 -wi-ao----  4.39t


[root@vm-ol9 ~]# lvs -ao +lv_full_name,devices,segtype,stripe_size
  LV                     VG         Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert LV                                Devices                                                                             Type    Stripe
  oled                   ocivolume  -wi-ao---- 15.00g                                                     ocivolume/oled                    /dev/sda3(0)                                                                        linear      0
  root                   ocivolume  -wi-ao---- 29.50g                                                     ocivolume/root                    /dev/sda3(3840)                                                                     linear      0
  striped_logical_volume volgroup01 -wi-ao----  4.39t                                                     volgroup01/striped_logical_volume /dev/oracleoci/oraclevdb(0),/dev/oracleoci/oraclevdc(0),/dev/oracleoci/oraclevdd(0) striped 64.00k

4) PV 拡張確認
PVの空き領域すべて使用されて PFree=0 であることを確認

[root@vm-ol9 ~]# pvs -v
  PV                       VG         Fmt  Attr PSize  PFree DevSize PV UUID
  /dev/oracleoci/oraclevdb volgroup01 lvm2 a--   1.46t    0    1.46t bh4K6X-N4ue-C70z-TA86-RI9E-mst3-5GyEpk
  /dev/oracleoci/oraclevdc volgroup01 lvm2 a--   1.46t    0    1.46t Hg2rf1-8xKS-RO2S-k5zi-qkax-iuRi-gDwhlv
  /dev/oracleoci/oraclevdd volgroup01 lvm2 a--   1.46t    0    1.46t pTMe1V-yvjy-91Cd-le0k-zHif-oiIr-ICQDZN
  /dev/sda3                ocivolume  lvm2 a--  44.50g    0   44.50g mx3wJr-gCYB-c519-p4XT-kvHP-V7VU-gh0t7O

● XFS拡張

xfs_growfs コマンドを使用して、マウントしたまま XFS ファイルシステムを大きくすることができます。

1) XFS拡張前確認

[root@vm-ol9 ~]# df -hT | grep volgroup01-striped_logical_volume
	/dev/mapper/volgroup01-striped_logical_volume xfs       300G  253G   48G  85% /xfs


[root@vm-ol9 ~]# xfs_info /xfs
meta-data=/dev/mapper/volgroup01-striped_logical_volume isize=512    agcount=241, agsize=4914992 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=1179644928, imaxpct=25
         =                       sunit=16     swidth=48 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=38398, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

2) 拡張実行

[root@vm-ol9 ~]# xfs_growfs /xfs
meta-data=/dev/mapper/volgroup01-striped_logical_volume isize=512    agcount=16, agsize=4914992 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=78639872, imaxpct=25
         =                       sunit=16     swidth=48 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=38398, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 78639872 to 1179644928

2) 拡張確認
マウントされた XFS ファイルシステムが拡張されていることを確認

[root@vm-ol9 ~]# df -hT | grep volgroup01-striped_logical_volume
	/dev/mapper/volgroup01-striped_logical_volume xfs       4.4T  282G  4.2T   7% /xfs

[root@vm-ol9 ~]# xfs_info /xfs
meta-data=/dev/mapper/volgroup01-striped_logical_volume isize=512    agcount=241, agsize=4914992 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=1179644928, imaxpct=25
         =                       sunit=16     swidth=48 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=38398, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3) XFSディレクトリ 既存ファイル確認
FIOで作成されファイルがあることを確認
一応これで、拡張後も既存ファイルが生存していることを確認できました。

[root@vm-ol9 ~]# ls -lh /xfs/
	total 250G
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.0.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.1.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.10.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.11.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.12.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.13.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.14.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.15.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.16.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.17.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.18.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.19.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.2.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.20.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.21.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.22.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.23.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.24.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.3.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.4.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.5.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.6.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.7.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.8.0
	-rw-r--r--. 1 root root 10G May 31 05:20 read_throughput.9.0

■ Block Volume 拡張後 FIO パフォーマンス測定

Block Volumeを 100MB から 1500MB へサイズ変更したことによって、パフォーマンスが向上したことを確認します。
今回、VPU 120 の 超高パフォーマンス(UHP)ドキュメントから、最大スループット 180MB/秒から、2,680MB/秒へ向上します。

1) FIO実行

[root@vm-ol9 ~]# fio --size=10G --directory=/xfs  --direct=1 --rw=read --bs=256k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=25 --time_based --group_reporting --name=read_throughput --eta-newline=1 --readonly
read_throughput: (g=0): rw=read, bs=(R) 256KiB-256KiB, (W) 256KiB-256KiB, (T) 256KiB-256KiB, ioengine=libaio, iodepth=64
...
fio-3.35
Starting 25 processes
Jobs: 25 (f=25): [R(25)][2.5%][r=5018MiB/s][r=20.1k IOPS][eta 01m:57s]
Jobs: 25 (f=25): [R(25)][4.2%][r=4704MiB/s][r=18.8k IOPS][eta 01m:55s]
Jobs: 25 (f=25): [R(25)][5.8%][r=4638MiB/s][r=18.6k IOPS][eta 01m:53s]
Jobs: 25 (f=25): [R(25)][7.5%][r=4686MiB/s][r=18.7k IOPS][eta 01m:51s]
Jobs: 25 (f=25): [R(25)][9.2%][r=4724MiB/s][r=18.9k IOPS][eta 01m:49s]
Jobs: 25 (f=25): [R(25)][10.9%][r=4712MiB/s][r=18.8k IOPS][eta 01m:46s]
Jobs: 25 (f=25): [R(25)][12.5%][r=4725MiB/s][r=18.9k IOPS][eta 01m:45s]
Jobs: 25 (f=25): [R(25)][14.2%][r=4721MiB/s][r=18.9k IOPS][eta 01m:43s]
Jobs: 25 (f=25): [R(25)][15.8%][r=4744MiB/s][r=19.0k IOPS][eta 01m:41s]
Jobs: 25 (f=25): [R(25)][17.5%][r=4704MiB/s][r=18.8k IOPS][eta 01m:39s]
Jobs: 25 (f=25): [R(25)][19.2%][r=4716MiB/s][r=18.9k IOPS][eta 01m:37s]
Jobs: 25 (f=25): [R(25)][20.8%][r=4763MiB/s][r=19.1k IOPS][eta 01m:35s]
Jobs: 25 (f=25): [R(25)][22.5%][r=4714MiB/s][r=18.9k IOPS][eta 01m:33s]
Jobs: 25 (f=25): [R(25)][24.2%][r=4702MiB/s][r=18.8k IOPS][eta 01m:31s]
Jobs: 25 (f=25): [R(25)][26.1%][r=4728MiB/s][r=18.9k IOPS][eta 01m:28s]
Jobs: 25 (f=25): [R(25)][27.5%][r=4755MiB/s][r=19.0k IOPS][eta 01m:27s]
Jobs: 25 (f=25): [R(25)][29.2%][r=4741MiB/s][r=19.0k IOPS][eta 01m:25s]
Jobs: 25 (f=25): [R(25)][31.1%][r=4753MiB/s][r=19.0k IOPS][eta 01m:22s]
Jobs: 25 (f=25): [R(25)][32.8%][r=4744MiB/s][r=19.0k IOPS][eta 01m:20s]
Jobs: 25 (f=25): [R(25)][34.2%][r=4714MiB/s][r=18.9k IOPS][eta 01m:19s]
Jobs: 25 (f=25): [R(25)][35.8%][r=4728MiB/s][r=18.9k IOPS][eta 01m:17s]
Jobs: 25 (f=25): [R(25)][37.5%][r=4699MiB/s][r=18.8k IOPS][eta 01m:15s]
Jobs: 25 (f=25): [R(25)][39.2%][r=4745MiB/s][r=19.0k IOPS][eta 01m:13s]
Jobs: 25 (f=25): [R(25)][40.8%][r=4735MiB/s][r=18.9k IOPS][eta 01m:11s]
Jobs: 25 (f=25): [R(25)][42.5%][r=4675MiB/s][r=18.7k IOPS][eta 01m:09s]
Jobs: 25 (f=25): [R(25)][44.2%][r=4733MiB/s][r=18.9k IOPS][eta 01m:07s]
Jobs: 25 (f=25): [R(25)][45.8%][r=4802MiB/s][r=19.2k IOPS][eta 01m:05s]
Jobs: 25 (f=25): [R(25)][47.5%][r=4707MiB/s][r=18.8k IOPS][eta 01m:03s]
Jobs: 25 (f=25): [R(25)][49.2%][r=4722MiB/s][r=18.9k IOPS][eta 01m:01s]
Jobs: 25 (f=25): [R(25)][50.8%][r=4724MiB/s][r=18.9k IOPS][eta 00m:59s]
Jobs: 25 (f=25): [R(25)][52.5%][r=4756MiB/s][r=19.0k IOPS][eta 00m:57s]
Jobs: 25 (f=25): [R(25)][54.2%][r=4685MiB/s][r=18.7k IOPS][eta 00m:55s]
Jobs: 25 (f=25): [R(25)][55.8%][r=4717MiB/s][r=18.9k IOPS][eta 00m:53s]
Jobs: 25 (f=25): [R(25)][57.5%][r=4680MiB/s][r=18.7k IOPS][eta 00m:51s]
Jobs: 25 (f=25): [R(25)][59.2%][r=4714MiB/s][r=18.9k IOPS][eta 00m:49s]
Jobs: 25 (f=25): [R(25)][60.8%][r=4745MiB/s][r=19.0k IOPS][eta 00m:47s]
Jobs: 25 (f=25): [R(25)][62.5%][r=4726MiB/s][r=18.9k IOPS][eta 00m:45s]
Jobs: 25 (f=25): [R(25)][64.7%][r=4736MiB/s][r=18.9k IOPS][eta 00m:42s]
Jobs: 25 (f=25): [R(25)][65.8%][r=4701MiB/s][r=18.8k IOPS][eta 00m:41s]
Jobs: 25 (f=25): [R(25)][67.5%][r=4753MiB/s][r=19.0k IOPS][eta 00m:39s]
Jobs: 25 (f=25): [R(25)][69.2%][r=4756MiB/s][r=19.0k IOPS][eta 00m:37s]
Jobs: 25 (f=25): [R(25)][71.4%][r=4744MiB/s][r=19.0k IOPS][eta 00m:34s]
Jobs: 25 (f=25): [R(25)][72.5%][r=4733MiB/s][r=18.9k IOPS][eta 00m:33s]
Jobs: 25 (f=25): [R(25)][74.2%][r=4772MiB/s][r=19.1k IOPS][eta 00m:31s]
Jobs: 25 (f=25): [R(25)][75.8%][r=4698MiB/s][r=18.8k IOPS][eta 00m:29s]
Jobs: 25 (f=25): [R(25)][77.5%][r=4737MiB/s][r=18.9k IOPS][eta 00m:27s]
Jobs: 25 (f=25): [R(25)][79.2%][r=4768MiB/s][r=19.1k IOPS][eta 00m:25s]
Jobs: 25 (f=25): [R(25)][80.8%][r=4766MiB/s][r=19.1k IOPS][eta 00m:23s]
Jobs: 25 (f=25): [R(25)][82.5%][r=4744MiB/s][r=19.0k IOPS][eta 00m:21s]
Jobs: 25 (f=25): [R(25)][84.2%][r=4718MiB/s][r=18.9k IOPS][eta 00m:19s]
Jobs: 25 (f=25): [R(25)][85.8%][r=4740MiB/s][r=19.0k IOPS][eta 00m:17s]
Jobs: 25 (f=25): [R(25)][87.5%][r=4724MiB/s][r=18.9k IOPS][eta 00m:15s]
Jobs: 25 (f=25): [R(25)][89.9%][r=4664MiB/s][r=18.7k IOPS][eta 00m:12s]
Jobs: 25 (f=25): [R(25)][90.8%][r=4727MiB/s][r=18.9k IOPS][eta 00m:11s]
Jobs: 25 (f=25): [R(25)][93.3%][r=4793MiB/s][r=19.2k IOPS][eta 00m:08s]
Jobs: 25 (f=25): [R(25)][94.2%][r=4696MiB/s][r=18.8k IOPS][eta 00m:07s]
Jobs: 25 (f=25): [R(25)][95.8%][r=4779MiB/s][r=19.1k IOPS][eta 00m:05s]
Jobs: 25 (f=25): [R(25)][97.5%][r=4676MiB/s][r=18.7k IOPS][eta 00m:03s]
Jobs: 25 (f=25): [R(25)][99.2%][r=4903MiB/s][r=19.6k IOPS][eta 00m:01s]
Jobs: 25 (f=25): [R(25)][100.0%][r=4750MiB/s][r=19.0k IOPS][eta 00m:00s]
read_throughput: (groupid=0, jobs=25): err= 0: pid=78353: Sat May 31 14:57:54 2025
  read: IOPS=19.0k, BW=4741MiB/s (4971MB/s)(556GiB/120187msec)
    slat (usec): min=9, max=1281.9k, avg=1284.88, stdev=10628.40
    clat (usec): min=693, max=1718.2k, avg=83039.45, stdev=100506.36
     lat (usec): min=728, max=1718.2k, avg=84324.34, stdev=101373.68
    clat percentiles (msec):
     |  1.00th=[    6],  5.00th=[   13], 10.00th=[   17], 20.00th=[   26],
     | 30.00th=[   35], 40.00th=[   43], 50.00th=[   52], 60.00th=[   62],
     | 70.00th=[   73], 80.00th=[   94], 90.00th=[  236], 95.00th=[  300],
     | 99.00th=[  498], 99.50th=[  567], 99.90th=[  776], 99.95th=[  919],
     | 99.99th=[ 1334]
   bw (  MiB/s): min=  251, max=17448, per=100.00%, avg=4765.37, stdev=101.16, samples=5968
   iops        : min= 1005, max=69792, avg=19059.84, stdev=404.65, samples=5968
  lat (usec)   : 750=0.01%, 1000=0.01%
  lat (msec)   : 2=0.04%, 4=0.49%, 10=2.36%, 20=10.97%, 50=34.38%
  lat (msec)   : 100=33.59%, 250=9.12%, 500=8.08%, 750=0.84%, 1000=0.09%
  lat (msec)   : 2000=0.04%
  cpu          : usr=0.12%, sys=1.90%, ctx=601080, majf=0, minf=13257
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=99.9%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=2279146,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=4741MiB/s (4971MB/s), 4741MiB/s-4741MiB/s (4971MB/s-4971MB/s), io=556GiB (597GB), run=120187-120187msec

Disk stats (read/write):
    dm-5: ios=9272371/0, merge=0/0, ticks=93516815/0, in_queue=93516815, util=100.00%, aggrios=3090791/0, aggrmerge=0/0, aggrticks=31182788/0, aggrin_queue=31182788, aggrutil=99.86%
    dm-4: ios=3090789/0, merge=0/0, ticks=11278961/0, in_queue=11278961, util=99.67%, aggrios=606999/0, aggrmerge=11158/0, aggrticks=2183264/0, aggrin_queue=2183265, aggrutil=95.13%
  sdo: ios=618327/0, merge=13205/0, ticks=2206443/0, in_queue=2206444, util=94.83%
  sdm: ios=655147/0, merge=12781/0, ticks=2061741/0, in_queue=2061741, util=95.13%
  sdn: ios=607871/0, merge=9834/0, ticks=2169855/0, in_queue=2169856, util=95.04%
  sdl: ios=550612/0, merge=9538/0, ticks=2269683/0, in_queue=2269684, util=93.07%
  sdp: ios=603041/0, merge=10433/0, ticks=2208600/0, in_queue=2208600, util=94.50%
    dm-2: ios=3090796/0, merge=0/0, ticks=15924436/0, in_queue=15924436, util=99.81%, aggrios=604383/0, aggrmerge=13775/0, aggrticks=3056537/0, aggrin_queue=3056537, aggrutil=94.95%
  sdf: ios=548138/0, merge=8895/0, ticks=3196237/0, in_queue=3196237, util=93.56%
  sdd: ios=625769/0, merge=13774/0, ticks=2957449/0, in_queue=2957449, util=94.95%
  sdb: ios=601841/0, merge=13155/0, ticks=3074365/0, in_queue=3074366, util=93.61%
  sde: ios=637810/0, merge=17461/0, ticks=3087057/0, in_queue=3087057, util=93.33%
  sdc: ios=608360/0, merge=15593/0, ticks=2967581/0, in_queue=2967580, util=94.47%
    dm-3: ios=3090789/0, merge=0/0, ticks=66344967/0, in_queue=66344967, util=99.86%, aggrios=595409/0, aggrmerge=22748/0, aggrticks=12351836/0, aggrin_queue=12351836, aggrutil=99.46%
  sdk: ios=652192/0, merge=22615/0, ticks=12313527/0, in_queue=12313527, util=99.46%
  sdi: ios=351495/0, merge=12305/0, ticks=12547325/0, in_queue=12547325, util=98.42%
  sdg: ios=605974/0, merge=21256/0, ticks=12307395/0, in_queue=12307395, util=99.27%
  sdj: ios=716372/0, merge=32028/0, ticks=12274071/0, in_queue=12274071, util=99.39%
  sdh: ios=651012/0, merge=25540/0, ticks=12316863/0, in_queue=12316863, util=99.17%

2) FIO実行確認
順次読取りのテスト結果スループット・パフォーマンスは、次の bw 行を見ると、avg=4765.37 MiB/s = 40 Gbsであることを確認できます。
今回使用した VM.Optimized3.Flex Compute の最大 Network Bandwidthは、40 Gbpsであるため最大スループットが出ていることをFIOで確認できます。

bw行
   bw (  MiB/s): min=  251, max=17448, per=100.00%, avg=4765.37, stdev=101.16, samples=5968

■ (おまけ)切り戻し作業: Volume Group リストア

必要に応じて、構成変更前にバックアップした Volume Group を リストアして構成変更前に復元します。

■ 参考

・ Linux LVM + XFS作成編

 - ブロック・ボリュームの操作
 - インスタンス・シェイプのパフォーマンスの詳細
 - ブロック・ボリューム・パフォーマンス
 - メトリックとパフォーマンス・テスト
 - Linuxベース・インスタンスでブロック・ボリューム・パフォーマンス・テストを行うためのサンプルFIOコマンド
 - 超高パフォーマンス
 - Oracle Linuxでの論理ボリュームの構成
 - 超高パフォーマンス: ボリューム・サイズとパフォーマンス
 - 超高パフォーマンス・ボリューム・アタッチメントのトラブルシューティング
 - ストライプ化論理ボリュームの作成
 - XFSファイル・システムの管理
 - XFS Linux wiki

・ Volume 拡張編

 - ボリュームのサイズ変更
 - ブロック・ボリュームまたはブート・ボリュームのディスクの再スキャン
 - ブロック・ボリュームの操作
 - 物理ボリュームの管理
 - 物理ボリュームのサイズ変更
 - 論理ボリュームの拡張
 - XFS ファイルシステムのサイズの拡大
 - Error 'lvextend -l 100%FREE' resizing
 - KiB -> MB変換

・ Volume Backup & Restore編

 - ボリューム・グループの操作
 - ボリューム・グループの作成
 - ブロック・ボリューム・バックアップの概要
 - 手動ボリューム・グループ・バックアップ
 - 手動バックアップ
 - ボリューム・バックアップ・タイプ
 - ボリューム・グループ・バックアップからボリューム・グループをリストア
 - ブート・ボリュームのリストア

・ FIO パフォーマンス測定編

 - VM.Optimized3.Flex: 第3世代 Intel Xeon Ice Lake プロセッサ搭載コンピュート・インスタンス
 - インスタンス・シェイプのパフォーマンスの詳細
 - ブロック・ボリューム・パフォーマンス
 - 超高パフォーマンス
 - メトリックとパフォーマンス・テスト
 - Linuxベース・インスタンスでブロック・ボリューム・パフォーマンス・テストを行うためのサンプルFIOコマンド

11
4
0

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
11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?