VMware (ESXi) で増量したディスクをLVMに組み込む方法

インフラ技術

VMware (ESXi) 上の仮想マシン CentOS 6.4 をファイルサーバとして利用していますが、標準のディスク割り当てでインストールしたところ /home 領域が過剰に大きくなってしまいました。再インストールすれば手間はかからなかったのですが、この状態でしばらく運用してしまったのでそれも面倒です。

幸い標準でLVMが採用されているので、ディスクサイズを調整して /mnt 領域の容量を確保することにしました。

現在の状態と目標

CentOS領域は1.2TBです。同一HDD内に600GBの空き容量があったので、これをCentOSに割り当てます。今回はシンプロビジョニングを利用しているのでディスクサイズの拡張としますが、新規ディスクの割り当て(増設)でもほぼ同じ手順と思われます。LVMにて2つの領域を1つであるかのように利用します。

LVM構築の大まかな流れ

  1. ディスクのパーティショニング
  2. 物理ボリューム(PV)の作成
  3. ボリュームグループ(VG)の作成
  4. 論理ボリューム(LV)の作成
  5. ファイルシステムの作成
  6. マウント

ディスクパーティショニング

vSphere clientにて仮想マシンのディスクサイズを拡張した後、拡張ディスク分の新規パーティションを作成します。ディスク拡張前後で fdisk -l を実行してサイズ変更されていることを確認すると良いです。

sudo fdisk /dev/sda

p (テーブル表示で確認)
n (新規)
p (テーブル表示で確認)
領域番号 (1-4): 3 (既に1,2があるので3を作成)
p (テーブル表示で確認)
t (LVMに変更するため)
領域番号 (1-4): 3
L
16進数コード (L コマンドでコードリスト表示): 8e
p (テーブル表示で確認)
コマンド (m でヘルプ): w
領域テーブルは交換されました!

# リブートが必要
shutdown -r now

物理ボリューム(PV)の作成とVGの拡張

パーティションが作成できたら、LVMのディスクを拡張します。

pvcreate /dev/sda3
vgextend vg_cent /dev/sda3

vg_cent はインストール時に設定された名前です。仮想マシンのホスト名から自動的に設定されています。

確認:

$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_cent
  PV Size               1.17 TiB / not usable 3.00 MiB
  Allocatable           yes (but full)

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               vg_cent
  PV Size               700.00 GiB / not usable 2.58 MiB
  Allocatable           yes
  Free PE               179199

論理ボリューム(LV)の作成

/mnt用に新規Logical Volume (lv_mnt) を作成し、ファイルシステムを作成します。

lvcreate -L 600G -n lv_mnt vg_cent
mkfs.ext4 /dev/vg_cent/lv_mnt

確認:

$ sudo lvdisplay -C
  LV      VG      Attr      LSize   Pool Origin Data%
  lv_home vg_cent -wi-ao---   1.12t
  lv_mnt  vg_cent -wi-a---- 600.00g
  lv_root vg_cent -wi-ao---  50.00g
  lv_swap vg_cent -wi-ao---   3.88g

マウントの設定

fstabに記載して再起動します。

$ sudo vi /etc/fstab
+ /dev/mapper/vg_cent-lv_mnt    /mnt        ext4    defaults        1 3

reboot

これで600GBの /mnt 領域が利用可能になりました。パーティションサイズの縮小・拡張(既存LVのリサイズ)については別記事で記載しています。

Related Posts