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 を活用することで、柔軟にパーティションの管理ができるので、環境に応じた構成を見直すことも重要です。
ディスカッション
コメント一覧
まだ、コメントがありません