CentOS 7 の LVM構成を変更!/home を削除し / を拡張する


CentOS 7 をインストールした際、デフォルトの設定で LVM により /
(ルート)と /home
に分割されました。今回、Docker のストレージとして lvmのhomeボリューム
を活用していましたが、よくよく整理するとそれほど容量を確保していたわけではなく、特別に homeボリューム
を分ける必要がないと判断しました。
そのため、homeボリューム
の論理ボリュームを削除し、その分を /ボリューム
に統合する作業を行いました。
現在のパーティション構成
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 238G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.7G 0 lvm [SWAP]
└─centos-home 253:2 0 180.2G 0 lvm /var/lib/docker/vfs
LVM 論理ボリューム
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-a----- 180.23g root centos -wi-ao---- 50.00g swap centos -wi-ao---- <7.69g
/home
を削除して /
を拡張する手順
/home
のデータをバックアップ
/home
に重要なデータがある場合は、事前にバックアップを取ってください。今回は、dockerのイメージが置いてあっただけなので、バックアップはしてません。
$ tar -cvzf /root/home_backup.tar.gz /home
/home
をアンマウント
$ umount /home
マウント解除できない場合は、使用中のプロセスを確認し、必要に応じて停止してください。
$ lsof +D /home
$ systemctl stop docker # Docker が使用中の場合
3論理ボリューム centos-home
を削除
# lvremove /dev/centos/home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed$ lvremove /dev/centos/home
確認メッセージが表示されたら y
を入力して削除します。
ボリュームグループの空き容量を確認
# vgdisplay centos
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 6
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 237.98 GiB
PE Size 4.00 MiB
Total PE 60924
Alloc PE / Size 14768 / <57.69 GiB
Free PE / Size 46156 / <180.30 GiB
VG UUID FEeX6Q-XXX
Free PE / Size
に /home
削除後の空き容量が表示されていることを確認してください。
/
の論理ボリュームを拡張
# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <230.30 GiB (58956 extents).
Logical volume centos/root successfully resized.
# vgdisplay centos
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
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 237.98 GiB
PE Size 4.00 MiB
Total PE 60924
Alloc PE / Size 60924 / 237.98 GiB
Free PE / Size 0 / 0
VG UUID FEeX6Q-XXX
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <230.30g
swap centos -wi-ao---- <7.69g
ファイルシステムを拡張
# xfs_growfs /
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 60370944
7. 確認
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 231G 32G 200G 14% /
/dev/sda1 497M 466M 32M 94% /boot
/
の容量が拡張されていることを確認してください。
まとめ
デフォルトの CentOS 7 インストールでは /home
に大きな容量が割り当てられることがありますが、実際の運用で /home
を分ける必要がない場合は、今回のように /home
を削除して /
に統合することで、ストレージをより効率的に活用できます。
LVM を活用することで、柔軟にパーティションの管理ができるので、環境に応じた構成を見直すことも重要です。