今までは、サーバのディスク増強といえば、物理ディスク(デバイス)を増やして行っていました。
近年では、仮想サーバを構築することが多く、物理ディスク(デバイス)を増やすのではなく、論理的なディスク(デバイス)すなわち仮想ディスクを提供し、その仮想ディスクを拡張することでディスク容量を増やすことが多くなってきています。
■今までのディスク増強イメージ
■近年のディスク増強イメージ
この仮想ディスクのメリットを最大限に活かす方法として「ディスク拡張を簡単にするパーティションを設定しないLVMの設定」を解説します。
パーティションを設定しないLVM設定とは
通常、下図のようにディスクのパーティション(sdb1)を設定してLVMを作成しますが、パーティションを設定せず(sdb)にLVMを作成します。
仮想サーバの環境化で、LVMで論理ボリューム作成するときにパーティションを設定せずに構成するとディスク拡張(増強)が非常に簡単になります。
すなわち、「fdisk」・「gdisk」・「parted」コマンドによるパーティションの設定をせずに、LVMで論理ボリュームを作成するため手順が少なくてすみます。
■パーティションを設定しないLVM設定イメージ
パーティションを設定しないLVM設定手順
1.PV(Physical Volume)を作成 ※物理ボリュームをLVMに割当
fdisk -l /dev/sdb
pvcreate /dev/sdb
pvdisplay
2.VG(Volume Group)を作成 ※ボリュームグループを作成
vgcreate vg-sdb /dev/sdb
vgdisplay
3.LV(Logical Volume)を作成 ※論理ボリュームを作成
lvcreate -n lv-sdb -l 100%FREE vg-sdb
lvdisplay
4.xfsのファイルシステムを作成 ※フォーマット
xfs、ext4など利用したいファイルシステムに合わせてフォーマットします。
今回は、xfsでファイルシステムを作成します。
※xfsが主流
mkfs.xfs /dev/vg-sdb/lv-sdb
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での仮想ディスク拡張例
2.仮想サーバを起動して仮想ディスク(デバイス:sdb)が拡張されたことを確認
fdisk -l /dev/sdb
「1G」だったディスクが「2G」として「/dev/sdb」が認識されました。
※lvm設定はまだ「1G」のままとなっています。
■【補足】仮想ディスク(/dev/sdb)拡張直後のLVM設定
3.PV(Physical Volume)を拡張
デバイス(/dev/sdb)が拡張されたのでPVを拡張します。
※パーティション(/dev/sdbX)の拡張が不要
もし、パーティションを設定していてPVが「/dev/sdb1」だった場合は、パーティションを拡張してからPVを拡張する必要があり、1ステップ作業が増えます。
パーティションを設定していないことで、以降の拡張作業が簡単に実施することができます。
pvdisplay
pvresize /dev/sdb
pvdisplay
4.LV(Logical Volume)を拡張 ※VG(Volume Group)の設定は不要
VGを増やすわけではないので、PVを拡張するとVGは拡張されます。
VGで確認した空き容量をLVに割り当てて拡張します。
vgdisplay
lvdisplay
lvextend -l +100%FREE /dev/vg-sdb/lv-sdb
lvdisplay
5.ファイルシステムの拡張(xfs_growfs)
df -h
xfs_growfs /lv-data
df -h
まとめ
■おススメの設定
lvm設定をするときは、ディスクデバイス(/dev/sdb)を指定して「pvcreate」を実行する。
※パーティション設定は不要となります。
pvcreate /dev/sdb
■おススメしない設定
「fdisk /dev/sdb」で「/dev/sdb1」のパーティションを設定してから「pvcreate」を実行しない。
#pvcreate /dev/sdb1
コメント