VMwareで仮想マシンのディスク(VMDK)を拡張し、その後仮想マシン側でLVMのルートパーティションを拡張する手順のメモです。
拡張した仮想ディスクの認識の際に reboot が1回必要ですが、それ以外はノンストップで実施可能でした。尚、実施したマシンのOSはCentOS 7です。
ちなみに前提としてすでに仮想マシンの編集にてディスク拡張を実施した後の作業を想定しています。
fdiskコマンドで拡張
まずはfdiskコマンドで拡張します。
現在の fdisk の結果は下記で、今回の対象は /dev/sda2 になります。
# fdisk -l Disk /dev/sda: 274.9 GB, 274877906944 bytes, 536870912 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x00036cfb デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 125829119 61864960 8e Linux LVM ←★ 今回の対象 Disk /dev/mapper/root: 54.8 GB, 54756638720 bytes, 106946560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk /dev/mapper/swap: 8589 MB, 8589934592 bytes, 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
続いて fdisk コマンドで実際にパーティションを拡張します。
ちなみにコマンドの実行結果については省略してます。多いので。
# fdisk /dev/sda コマンド (m でヘルプ): p ←★ 現在の設定を確認 コマンド (m でヘルプ): d ←★ パーティションを削除 パーティション番号 (1,2, default 2): 2 ←★ ルートパーティション(sda2)を削除 Partition 2 is deleted コマンド (m でヘルプ): n ←★ パーティションを新規作成 Select (default p): p ←★ primaryパーティションで作成 パーティション番号 (2-4, default 2): ←★ パーティション2(sda2)で作成 最初 sector (2099200-536870911, 初期値 2099200): ←★ そのままEnter Last sector, +sectors or +size{K,M,G} (2099200-536870911, 初期値 536870911): ←★ そのままEnter コマンド (m でヘルプ): p ←★ 適用する状態を確認 コマンド (m でヘルプ): w ←★ 書き込み # reboot
再起動が完了したらとりあえず続いてLVMの拡張です。
LVMパーティションを拡張する
まずは pvresize コマンドで物理ボリュームのサイズを拡張します。
not resized と表示されてますがとりあえずこれでOK。
# pvresize /dev/sdba2 Physical volume "/dev/sda2" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
続いて lvextend コマンドで論理ボリュームのサイズを拡張します。
# lvextend -l +100%FREE /dev/mapper/root Size of logical volume root changed from <51.00 GiB (13055 extents) to <247.00 GiB (63231 extents). Logical volume root successfully resized.
これで完了。最後に xfs_growfs コマンドでマウント中の XFS ファイルシステムを拡大します。
# xfs_growfs /dev/mapper/root meta-data=/dev/mapper/root isize=512 agcount=4, agsize=3342080 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=13368320, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=6527, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13368320 to 64748544
無事に拡張できました!
最後に念の為に df コマンドで確認してもらえればと思います。