【図解あり】Linuxのディスク拡張が簡単 -パーティションを設定しないLVM設定

【Linux】ディスクパーティションを作成しないLVMの設定メリット解説 Linuxサーバ

今までは、サーバのディスク増強といえば、物理ディスク(デバイス)を増やして行っていました。
近年では、仮想サーバを構築することが多く、物理ディスク(デバイス)を増やすのではなく、論理的なディスク(デバイス)すなわち仮想ディスクを提供し、その仮想ディスクを拡張することでディスク容量を増やすことが多くなってきています。

■今までのディスク増強イメージ

今までのディスク増強イメージ

■近年のディスク増強イメージ

近年のディスク増強イメージ

この仮想ディスクのメリットを最大限に活かす方法として「ディスク拡張を簡単にするパーティションを設定しないLVMの設定」を解説します。


スポンサーリンク

パーティションを設定しないLVM設定とは

通常、下図のようにディスクのパーティション(sdb1)を設定してLVMを作成しますが、パーティションを設定せず(sdb)にLVMを作成します。

仮想サーバの環境化で、LVMで論理ボリューム作成するときにパーティションを設定せずに構成するとディスク拡張(増強)が非常に簡単になります。

すなわち、「fdisk」・「gdisk」・「parted」コマンドによるパーティションの設定をせずに、LVMで論理ボリュームを作成するため手順が少なくてすみます。

■パーティションを設定しないLVM設定イメージ

パーティションを設定しないLVM設定イメージ



パーティションを設定しないLVM設定手順

1.PV(Physical Volume)を作成 ※物理ボリュームをLVMに割当


fdisk・gdisk・partedなどでパーティションを設定しない


fdisk -l /dev/sdb
pvcreate  /dev/sdb
pvdisplay


PV(Physical Volume)を作成 ※論理ボリュームを作成



2.VG(Volume Group)を作成 ※ボリュームグループを作成


vgcreate  vg-sdb /dev/sdb
vgdisplay


VG(Volume Group)を作成 ※ボリュームグループを作成



3.LV(Logical Volume)を作成 ※論理ボリュームを作成


lvcreate  -n  lv-sdb -l 100%FREE  vg-sdb
lvdisplay


LV(Logical Volume)を作成 ※論理ボリュームを作成



4.xfsのファイルシステムを作成 ※フォーマット

xfs、ext4など利用したいファイルシステムに合わせてフォーマットします。
今回は、xfsでファイルシステムを作成します。
※xfsが主流

mkfs.xfs  /dev/vg-sdb/lv-sdb


xfsのファイルシステムを作成 ※フォーマット



5.論理ボリュームをマウント

マウントポイントを作成してマウントする

mkdir  /lv-data
mount  /dev/vg-sdb/lv-sdb  /lv-data/
df -h


論理ボリュームをマウント

関連記事のURL
https://isleofhoso.com/linux-lvm-create/



パーティションを設定しないLVM設定によるメリット解説

ディスクの拡張時にその効果を発揮します。

1.仮想ディスクを拡張

VirtualBoxの場合、対象サーバの仮想ディスク(デバイス:sdb)を拡張したいサイズに変更します。
今回は、「1G」->「2G」に拡張します。
※VMwareであれば仮想サーバを停止しなくても仮想ディスクを拡張することが可能です。

仮想ディスクを追加するのではなく、拡張という方法でディスク容量を増やすことができます。
仮想ディスクは、ファイル形式(rhel84efi_1.vdi)になっているので、保存先のディスクが枯渇した場合は、空きのあるディスクに移行して仮想ディスクを拡張することができます。
仮想ディスクを追加する必要がなく、1つのファイルとして管理することができます。


■仮想ディスクの拡張イメージ

仮想ディスクの拡張イメージ


■VirtualBoxでの仮想ディスク拡張例

VirtualBoxでの仮想ディスク拡張例



2.仮想サーバを起動して仮想ディスク(デバイス:sdb)が拡張されたことを確認


fdisk -l /dev/sdb

「1G」だったディスクが「2G」として「/dev/sdb」が認識されました。
※lvm設定はまだ「1G」のままとなっています。


仮想サーバを起動して仮想ディスク(デバイス:sdb)が拡張されたことを確認



■【補足】仮想ディスク(/dev/sdb)拡張直後のLVM設定

■【補足】仮想ディスク(/dev/sdb)拡張直後のLVM設定



3.PV(Physical Volume)を拡張

デバイス(/dev/sdb)が拡張されたのでPVを拡張します。
※パーティション(/dev/sdbX)の拡張が不要

パーティションを設定していない場合、PVが「/dev/sdb」なので、すぐにPVの拡張作業を実施できます。
もし、パーティションを設定していてPVが「/dev/sdb1」だった場合は、パーティションを拡張してからPVを拡張する必要があり、1ステップ作業が増えます。
パーティションを設定していないことで、以降の拡張作業が簡単に実施することができます。


pvdisplay
pvresize  /dev/sdb
pvdisplay


PV(Physical Volume)を拡張



4.LV(Logical Volume)を拡張 ※VG(Volume Group)の設定は不要

VGを増やすわけではないので、PVを拡張するとVGは拡張されます。
VGで確認した空き容量をLVに割り当てて拡張します。

vgdisplay
lvdisplay
lvextend -l +100%FREE /dev/vg-sdb/lv-sdb
lvdisplay


VG(Volume Group)の設定は不要
LV(Logical Volume)を拡張



5.ファイルシステムの拡張(xfs_growfs)


df -h
xfs_growfs  /lv-data
df -h


ファイルシステムの拡張(xfs_growfs)



まとめ

■おススメの設定
lvm設定をするときは、ディスクデバイス(/dev/sdb)を指定して「pvcreate」を実行する
パーティション設定は不要となります。

pvcreate  /dev/sdb


■おススメしない設定
「fdisk /dev/sdb」で「/dev/sdb1」のパーティションを設定してから「pvcreate」を実行しない

#pvcreate /dev/sdb1

コメント

タイトルとURLをコピーしました