Oracle Cloud Infrastructure (OCI) コンピュートへアタッチした Block Volumeをストライプ化論理ボリューム(LVM)で構成した後、Block Volume サイズを 100MBから 1500MB へ拡張して、パフォーマンスが向上することを確認してみてみます。
そして、変更前に復元できるよう 複数ボリュームをグループ化してバックアップしときます。
コンピュート作成とストライプ化論理ボリューム(LVM) + XFS構成
Block Volume 拡張前 FIO パフォーマンス測定
Volume Group 作成とバックアップ
Block Volume と LVM + XFS 拡張
Block Volume 拡張後 FIO パフォーマンス測定
(おまけ)切り戻し作業: Volume Group リストア
参考
■ コンピュート作成とストライプ化論理ボリューム(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であることを確認します。
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 ( 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を使用してインスタンスを手動で停止してください。
● Volume Group 作成とバックアップ
次を参考に Volume Group 作成とバックアップします。
■ Block Volume と LVM + XFS 拡張
● Block Volume の Online Size 変更
1) Block Volume画面
ナビゲーション・メニューを開き、「ストレージ」を選択します。「ブロック・ストレージ」で、「ブロック・ボリューム」を選択します。
[ブロック・ボリューム]リストで、サイズを変更するブロック・ボリュームの右側をクリックし、[Edit]をクリック
2) Edit Volume 画面
[ボリューム・サイズ(GB)]に新しいサイズを指定します。ブロック・ボリュームの現在のサイズより大きい値を指定する必要があります。そして、[変更の保存] をクリック
これにより、ボリュームのプロビジョニング後に実行する必要があるディスクを再スキャンするコマンドがリストされたダイアログが開きます。オペレーティング・システムが拡張ボリューム・サイズを識別できるように、これらのコマンドを実行する必要があります。「コピー」リンクをクリックしてコマンドをコピーし、「閉じる」をクリックしてダイアログを閉じます。
3) Resize Block Volume 画面
インスタンスのOSにログオンし、前のステップでコピーした再スキャン・コマンドをインスタンス・セッション・ウィンドウに貼り付けて実行します。再スキャン・コマンドは、Linuxベースのインスタンスにアタッチされたボリュームのディスクの再スキャンにも記載されています。
3) Block Volume Resize確認
100GBから1500GBにサイズ変更されたことを確認できます。
3) 残りの Block Volume Resize確認
同様に他の Block Volumeも拡張します。
● 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 ( 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コマンド