環境
CentOS7.6
CentOS Linux release 7.6.1810 (Core)
ESXi6.7
6.7.0 Update 3 (Build 14320388)
作業フロー
① 既存仮想HDDの拡張
② パーティションの拡張
③ PVの拡張
④ LVの拡張
⑤ ファイルシステムの拡張
作業① 既存仮想HDDの拡張
既存HDDを10GB
から20GB
に拡張し、VMを起動します。
ディスク容量は増設されていることが確認できました。
lsblk -i
:ディスク容量確認
# lsblk -i
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk ### 増設対象 ###
|-sda1 8:1 0 1G 0 part /boot
`-sda2 8:2 0 9G 0 part
|-centos-root 253:0 0 8G 0 lvm /
`-centos-swap 253:1 0 1G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
この時点ではパーティション容量は増えていません。
parted -l
:パーティション容量確認
# parted -l
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 10.7GB 9663MB primary lvm ### 増設対象 ###
作業② パーティションの拡張
partedからパーティション容量を拡張します。
parted
:パーティション設定
# parted
GNU Parted 3.1
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) help
align-check TYPE N パーティション N のアライメント(TYPE: min|opt)をチェックする
help [コマンド] ヘルプ表示。コマンド指定でそのヘルプを表示
mklabel,mktable ラベルの種類 新しいラベル(パーティションテーブル)を作る
mkpart パーティションの種類 [ファイルシステムの種類] 開始 終了
パーティションを作る
name NUMBER 名前 パーティションに名前をつける
print [devices|free|list,all|NUMBER]
パーティションテーブルや、利用可能なデバイス、空き領域、
見つかった全てのパーティション、あるいは特定のパーティションについて表示する
quit プログラムを終了する
rescue 開始 終了 開始、終了で指定した範囲付近にあるパーティションを復活させる
resizepart NUMBER END resize partition NUMBER
rm NUMBER パーティションを削除する
select デバイス 操作するデバイスを選択
disk_set FLAG STATE 選択したデバイスの FLAG を変更
disk_toggle [FLAG] 選択したデバイスの FLAG の状態をトグル
set NUMBER フラグ 状態 ファイルシステムのフラグと状態を設定する
toggle [NUMBER [FLAG]] パーティションのフラグの状態を反転する
unit UNIT デフォルトの単位を UNIT にする
version GNU Parted のバージョンと著作権情報を表示
(parted)
(parted)
(parted) p
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 10.7GB 9663MB primary lvm ### 増設対象 ###
パーティション番号を選択してパーティションをリサイズします。
今回はディスク拡張分を残り全て割り当てします。
resizepart [part num]
:リサイズ対象パーティション選択
(parted) resizepart 2
終了? [10.7GB]? 100% ###容量ではなく割合で指定###
(parted)
拡張後の状態を確認します。
p
:パーティション情報一覧
(parted) p
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 21.5GB 20.4GB primary lvm ### 増設対象 ###
(parted)
partedを終了します。
q
:partedの終了
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
#
作業③ PVの拡張
PVを拡張します。
pvdisplay
:pvの確認
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2 ### 拡張対象のPV ###
VG Name centos
PV Size <9.00 GiB / not usable 3.00 MiB ### 拡張前の容量 ###
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2303
Free PE 0
Allocated PE 2303
PV UUID FmO1KR-inlI-wsp1-wiIv-TDtN-4fDV-i73HlM
PV拡張の事前チェックを行います。
pvresize -tv [PV Name]
:pv拡張の事前確認
-t
:チェックのみで実行を行わない
-v
:詳細出力
# pvresize -tv /dev/sda2
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Test mode: Skipping archiving of volume group.
Resizing volume "/dev/sda2" to 39843840 sectors.
Resizing physical volume /dev/sda2 from 2303 to 4863 extents.
Updating physical volume "/dev/sda2"
Test mode: Skipping backup of volume group.
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
#0 physical volume(s) not resized
とあるので問題なさそうです
PV拡張を行います。
pvresize [PV Name]
:pv拡張
# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
#0 physical volume(s) not resized
とあるので問題なさそうです
PV情報を表示します。
pvdisplay
:pvの確認
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <19.00 GiB / not usable 2.00 MiB ### 拡張前は <9.00 GiB ###
Allocatable yes
PE Size 4.00 MiB
Total PE 4863
Free PE 2560
Allocated PE 2303
PV UUID FmO1KR-inlI-wsp1-wiIv-TDtN-4fDV-i73HlM
作業④ LVの拡張
LVを拡張します。
lvdisplay
:lvの確認
# lvdisplay
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID ceMF1G-sNil-QVR2-NoQh-zuyQ-P29s-3iuauK
LV Write Access read/write
LV Creation host, time dns.test.local, 2023-04-19 05:23:27 +0900
LV Status available
# open 1
LV Size <8.00 GiB ### 増設対象 ###
Current LE 2047
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
VGを確認し、拡張可能なPE量を確認します。
vgdisplay
:vgの確認
# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863 ### PE総量 ###
Alloc PE / Size 2303 / <9.00 GiB ### 現在の使用PE量 ###
Free PE / Size 2560 / 10.00 GiB ### 割り当て可能PE量 ###
VG UUID w7qddl-S49y-C6EX-cJ7L-FAdU-Asnb-s6NgPd
Total PE
は4863となっていますが、以下設定ではもう少し小さい値となります。
PEをLVに割り当てます。
lvextend -l [Total PE] [LV]
:LVの割り当て
# lvextend -l 4600 /dev/mapper/centos-root
Size of logical volume centos/root changed from <9.00 GiB (2303 extents) to <17.97 GiB (4600 extents).
Logical volume centos/root successfully resized.
# lvextend -l 4800 /dev/mapper/centos-root
Insufficient free space: 200 extents needed, but only 7 available
# lvextend -l 4607 /dev/mapper/centos-root
Size of logical volume centos/root changed from <17.97 GiB (4600 extents) to <18.00 GiB (4607 extents).
Logical volume centos/root successfully resized.
VGを確認し、拡張可能なPEがなくなったことを確認します。
vgdisplay
:vgの確認
# vg display
-bash: vg: コマンドが見つかりません
[root@dns ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863 ### PE総量 ###
Alloc PE / Size 4863 / <19.00 GiB ### 現在の使用PE量 ###
Free PE / Size 0 / 0 ### 割り当て可能PE量 ###
VG UUID w7qddl-S49y-C6EX-cJ7L-FAdU-Asnb-s6NgPd
作業⑤ ファイルシステムの拡張
ファイルシステムの容量を確認します。
df -h
:ファイルシステム容量の確認
-h
:容量をK/M/Gなどに変換
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 8.0G 1.1G 7.0G 14% / ### 増設対象 ###
devtmpfs 484M 0 484M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 7.1M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 100M 0 100M 0% /run/user/0
ファイルシステムの拡張を実施します。
今回、ファイルシステムがXFSなのでXFS用の拡張コマンドを適用します。
xfs_growfs [FileSystem]
:ファイルシステムの拡張
xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=524032 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2096128, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2096128 to 4717568
ファイルシステムの容量を確認します。
df -h
:ファイルシステム容量の確認
-h
:容量をK/M/Gなどに変換
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 18G 1.1G 17G 7% / ### 増設対象 ###
devtmpfs 484M 0 484M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 7.1M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 100M 0 100M 0% /run/user/0
参考