Rocky Linuxにディスクを追加してLVMで利用する方法(新規作成・既存ボリューム拡張手順)
追加した物理ディスクを、LVM(Logical Volume Manager)を使用したRocky Linuxで利用するための手順です。
新規のボリュームやファイルシステムとして利用する手順と、既存のボリュームやファイルシステムを拡張して利用する手順の2つについて確認します。
パーティション作成、物理ボリューム作成、ボリュームグループの作成または拡張、論理ボリュームの作成または拡張、XFSファイルシステムの作成または拡張、ファイルシステムのマウントまでの、OSから領域として認識し利用可能にする手順を紹介します。
確認にはAzure環境上に構築したNVMeタイプの仮想マシンを利用しています。
また仮想マシンは起動した状態で手順確認しています。
※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事内では、Azure Managed Disks(マネージドディスク)をディスクとして表記しています。
※本記事内では、Logical Volume ManagerをLVMとして表記しています。
※Rocky Linux release 9.6 (Blue Onyx)の仮想マシンを利用しています。
※パーティションテーブルには GPT(GUID Partition Table)を利用しています。
標準のパーティション管理を利用している場合の手順については、こちらで紹介しています。
データディスクの作成から仮想マシン(Azure VM)への追加までの手順
ディスクのリソース作成から仮想マシンへのアタッチ(追加)までの手順については、こちらで紹介しています。
今回は仮想マシンにデータディスク(32GiB)を追加しています。
Rocky Linuxに追加したディスクをLVMの新規ボリュームとして利用する手順
追加したディスクの認識状況を確認
lsblk、gdisk、df コマンドを利用して、追加されたディスクの認識状況を確認します。
追加したディスクは/dev/nvme0n2として認識されていることが確認できます。
パーティションは未作成であり、OSからもマウントされていない状態であることが分かります。
|
[root@vm-01 ~]#
lsblk [root@vm-01 ~]#
gdisk -l /dev/nvme0n2 Number Start (sector) End (sector) Size Code Name [root@vm-01 ~]#
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rocky-lvroot xfs 8.8G 1.1G 7.7G 13% /
/dev/nvme0n1p3 xfs 936M 272M 665M 30% /boot
|
※コマンド実行結果は抜粋して記載しています。
パーティションを新規作成
パーティション作成には、partedコマンドを利用します。
今回は、追加したディスクの全領域を1つのパーティションとして利用しています。
パーティション名(ラベル)は、data-disk-01としています。
-
- parted : パーティションの作成や削除、サイズ変更、情報表示
- mklabel : パーティションテーブルのラベル(GPTなど)を指定して新規作成
- mkpart : パーティションを作成
- set : フラグを設定
- parted : パーティションの作成や削除、サイズ変更、情報表示
※今回は、確認しながら作業を進めるため、1つずつコマンドを実行しています。
※partprobeは、パーティションテーブルの作成をシステムに認識させるために使用しています。
|
[root@vm-01 ~]#
parted /dev/nvme0n2 Number Start End Size File system Name Flags (parted)
mkpart “data-disk-01" 0% 100%
(parted)
set 1 lvm on
(parted)
print
Model: MSFT NVMe Accelerator v1.0 (nvme)
Disk /dev/nvme0n2: 34.4GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 34.4GB 34.4GB data-disk-01 lvm #パーティションが作成されています
(parted)
quit |
※–script(-s)オプションを利用すると、引数にコマンドを指定することで対話せずにpartedコマンドを実行できます。
※コマンド実行結果は抜粋して記載しています。
LVMの物理ボリューム(PV)を新規作成
作成したパーティションに、LVMの物理ボリュームを作成します。
LVMの物理ボリュームを作成することで、LVMから管理できるようになります。
|
[root@vm-01 ~]#
pvs |
※コマンド実行結果は抜粋して記載しています。
ボリュームグループ(VG)を新規作成
追加した物理ボリューム上に、ボリュームグループを新規作成します。
ボリュームグループを作成することで、LVMの論理ボリュームを作成できるようになります。
|
[root@vm-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rocky 1 1 0 wz–n- <8.92g 132.00m
[root@vm-01 ~]#
vgcreate rocky_data_01 /dev/nvme0n2p1
Not creating system devices file due to existing VGs.
Volume group “rocky_data_01" successfully created
[root@vm-01 ~]#
vgs
VG #PV #LV #SN Attr VSize VFree
rocky 1 1 0 wz–n- <8.92g 132.00m
rocky_data_01 1 0 0 wz–n- <32.00g <32.00g # ボリュームグループが作成されています
|
※コマンド実行結果は抜粋して記載しています。
論理ボリューム(LV)を新規作成
追加したボリュームグループ上に、論理ボリュームを新規作成します。
論理ボリュームを作成することで、ファイルシステムを作成できるようになります。
| [root@vm-01 ~]#
lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvroot rocky -wi-ao—- <8.79g [root@vm-01 ~]# lvcreate -n lv_data_01 -l 100%FREE rocky_data_01 Logical volume “lv_data_01" created. [root@vm-01 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvroot rocky -wi-ao—- <8.79g lv_data_01 rocky_data_01 -wi-a—– <32.00g # 論理ボリュームが作成されています |
※コマンド実行結果は抜粋して記載しています。
XFSファイルシステムを新規作成
作成した論理ボリュームにファイルシステムを新規作成します。
ファイルシステムにはxfsを利用します。
-
- mkfs.xfs : XFSファイルシステムの作成
|
[root@vm-01 ~]#
mkfs.xfs /dev/rocky_data_01/lv_data_01 |
※コマンド実行結果は抜粋して記載しています。
ファイルシステムをOSからマウント
XFS形式で作成したファイルシステムをOSからマウントします。
マウントすることで、追加したディスクをOSから利用できるようになります。
マウントポイントは/datadisk01としています。
ファイルシステムのマウントについては、Red Hat社のサイトに詳しい説明があります。
|
[root@vm-01 ~]#
mkdir /datadisk01 |
fstabに追記してファイルシステムのマウントを永続化
mountのみでは一時的なマウントとなり、OS再起動後はマウントが解除されます。
/etc/fstabに追記することで、マウントを永続化(再起動時にもマウント)できます。
fstabで指定するUUIDはlsblkコマンドで確認できます。
ディスクを取り外してしまうと、マウントエラーが発生し、OSが起動できなくなることがあります。
fstabに追記する際にnofailオプションを追加することで、ディスクを取り外してもOSが正常に起動できるようになります。
/etc/fstabへのファイルシステムの追加については、Red Hat社のサイトに詳しい説明があります。
|
[root@vm-01 ~]#
lsblk –fs /dev/nvme0n2p1 [root@vm-01]# vi /etc/fstab # OS再起動後にマウント状況を確認 |
—広告—
Rocky Linuxに追加したディスクをLVMの既存ボリューム拡張に利用する手順
新規にデータディスク(32GiB)を仮想マシンに追加し、先ほど作成したLVMのボリュームを64GiBまで拡張します。
追加したディスクの認識状況を確認
lsblkコマンドを利用して、追加されたディスクの認識状況を確認します。
追加したディスクは/dev/nvme0n3として認識されていることが確認できます。
-
- lsblk : ブロックデバイスの情報を一覧表示
|
[root@vm-01 ~]#
lsblk |
※コマンド実行結果は抜粋して記載しています。
パーティションを新規作成
追加したディスクの全領域を、1つのパーティションとして作成します。
パーティション名(ラベル)は、data-disk-02としています。
-
- parted : パーティションの作成や削除、サイズ変更、情報表示
- mklabel : パーティションテーブルのラベル(GPTなど)を指定して新規作成
- mkpart : パーティションを作成
- set : フラグを設定
- parted : パーティションの作成や削除、サイズ変更、情報表示
※今回は、確認しながら作業を進めるため、1つずつコマンドを実行しています。
※partprobeは、パーティションテーブルの作成をシステムに認識させるために使用しています。
|
[root@vm-01 ~]#
parted /dev/nvme0n3
GNU Parted 3.5
Using /dev/nvme0n3
Welcome to GNU Parted! Type 'help’ to view a list of commands.
(parted)
mklabel gpt
(parted)
mkpart “data-disk-02" 0% 100%
(parted)
set 1 lvm on
(parted)
print
Model: MSFT NVMe Accelerator v1.0 (nvme)
Disk /dev/nvme0n3: 34.4GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 34.4GB 34.4GB data-disk-02 lvm # パーティションが作成されています
[root@vm-01 ~]# partprobe /dev/nvme0n3 |
※–script(-s)オプションを利用すると、引数にコマンドを指定することで対話せずにpartedコマンドを実行できます。
※コマンド実行結果は抜粋して記載しています。
LVMの物理ボリューム(PV)を新規作成
作成したパーティションに、LVMの物理ボリュームを作成します。
LVMの物理ボリュームを作成することで、LVMから管理できるようになります。
|
[root@vm-01 ~]#
pvs |
※コマンド実行結果は抜粋して記載しています。
作成した物理ボリューム(PV)を既存のボリュームグループ(VG)に追加
作成した物理ボリュームを既存のボリュームグループに追加して拡張します。
ボリュームグループを拡張することで、LVMの論理ボリュームも拡張できるようになります。
|
[root@vm-01 ~]#
vgs
VG #PV #LV #SN Attr VSize VFree
rocky 1 1 0 wz–n- <8.92g 132.00m
rocky_data_01 1 1 0 wz–n- <32.00g 0
[root@vm-01 ~]#
vgextend rocky_data_01 /dev/nvme0n3p1
Volume group “rocky_data_01" successfully extended
[root@vm-01 ~]#
vgs
VG #PV #LV #SN Attr VSize VFree
rocky 1 1 0 wz–n- <8.92g 132.00m
rocky_data_01 2 1 0 wz–n- 63.99g <32.00g # ボリュームグループが拡張されています
[root@vm-01 ~]#
df -Th | grep datadisk01
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rocky_data_01-lv_data_01 xfs 32G 261M 32G 1% /datadisk01 # 論理ボリューム拡張前なので変化はありません
|
※コマンド実行結果は抜粋して記載しています。
論理ボリューム(LV)とファイルシステムを拡張
論理ボリュームとフィルシステムのサイズを拡張します。
lvextendコマンドの-rオプションを利用することで、論理ボリュームの拡張に合わせて自動でファイルシステムもリサイズされます。
ファイルシステムも併せて拡張することで、OSから追加領域が認識され利用できるようになります。
|
[root@vm-01 ~]#
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lvroot rocky -wi-ao—- <8.79g
lv_data_01 rocky_data_01 -wi-ao—- <32.00g
[root@vm-01 ~]#
lvextend -r -l +100%FREE /dev/rocky_data_01/lv_data_01
File system xfs found on rocky_data_01/lv_data_01 mounted at /datadisk01.
Size of logical volume rocky_data_01/lv_data_01 changed from <32.00 GiB (8191 extents) to 63.99 GiB (16382 extents).
Extending file system xfs to 63.99 GiB (68711088128 bytes) on rocky_data_01/lv_data_01…
xfs_growfs /dev/rocky_data_01/lv_data_01
xfs_growfs done
Extended file system xfs on rocky_data_01/lv_data_01.
Logical volume rocky_data_01/lv_data_01 successfully resized.
[root@vm-01 ~]#
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lvroot rocky -wi-ao—- <8.79g
lv_data_01 rocky_data_01 -wi-ao—- 63.99g # 論理ボリュームが拡張されています
[root@vm-01 ~]#
df -Th | grep datadisk01
/dev/mapper/rocky_data_01-lv_data_01 xfs 64G 490M 64G 1% /datadisk01 # ファイルシステムが64GiBに拡張されています
|
※コマンド実行結果は抜粋して記載しています。
—広告—
最後に
LVMで構成されたRocky Linuxの仮想マシンにディスクを追加して、OSから利用開始するまでの手順を確認しました。
今回は、新規のボリュームやファイルシステムとして利用する手順と、既存のボリュームやファイルシステムを拡張して利用する手順の2つについて確認しました。
引き続き、いろいろ試してみたいと思います。
Windows Serverの仮想マシンへのデータディスク追加手順は、こちらで紹介しています。
Azureのディスクサイズを変更する場合の手順は、こちらで紹介しています。
Rocky Linuxでディスクサイズを変更する場合の手順はこちらで紹介しています。

