★悩み★
・CentOSやRed Hat Enterprise Linuxの/の容量を拡張する手順を知りたい。
・CentOSやRHELの/homeを縮小する手順を知りたいな。
・CentOSの/homeを縮小し、/に容量を割り当てられないかな。
こういった「悩み」に答えます。
★本記事の内容★
① CentOS(RHEL)の/homeと/の現状(論理ディスク構成)をご説明
② CentOS(RHEL)の/homeを縮小し/を拡張する手順をご紹介
これからご紹介する「CentOS(RHEL)の/homeを縮小し/を拡張する手順」を実践したことで、筆者は10分以内でCentOSの/homeを縮小し/を拡張できました。
記事の前半では「本記事が対象とするCentOSの/homeと/の現状(論理ディスク構成)」を図を用いて解説しつつ、記事の後半では「/homeを縮小し/を拡張する手順」を記載します。
この記事を読み終えることで、「CentOS(RHEL)の/homeを縮小し/を拡張する手順」を把握した状態になります。
CentOS(RHEL)の/homeと/の現状(論理ディスク構成)
「対象とするCentOS(RHEL)の/homeと/の現状(論理ディスク構成)」に関して説明します。
対象とするCentOS(RHEL)の/homeと/の現状(論理ディスク構成)は、下図となります。
上記の/homeと/の現状(論理ディスク構成)を下図の状態に変更します。
上図と下図の違いは、「/home」に割り当てられている容量を「/」に割り当て、「/」の容量を拡張している点です(下図のオレンジ四角部分)。
以上が、「対象とするCentOS(RHEL)の/homeと/の現状(論理ディスク構成)」となります。
CentOS(RHEL)の/homeを縮小し/を拡張する手順
「CentOS(RHEL)の/homeを縮小し/を拡張する手順」をご紹介します。
下記の流れで/の容量を拡張することができます。
★CentOSの/homeを縮小し/を拡張する手順の流れ★
手順1:CentOSの/homeディレクトリのバックアップ
手順2:CentOSの/homeのアンマウント
手順3:CentOSの/homeに紐づく論理ボリュームを削除
手順4:CentOSの/homeディレクトリのリストア
手順5:fstabの設定変更(/homeの設定を削除)
手順6:CentOSの/を拡張
手順7:CentOSの再起動
上記の流れで、「CentOSの/homeを縮小し/を拡張」できます。
今回ご紹介する手順は、以下の環境で動作確認済みです。
動作確認済み環境:CentOS Linux release 7.8.2003 (Core)
以降で、「CentOS(RHEL)の/homeを縮小し/を拡張する手順の流れ」の各手順に関してご紹介します。
手順1:CentOSの/homeディレクトリのバックアップ
「手順1:CentOSの/homeディレクトリのバックアップ」に関してご紹介します。
/の容量拡張をするにあたり、/homeを一旦削除する必要があります。
以下のコマンドを実行し、/homeディレクトリのバックアップをしましょう。
# cp -rp /home /var/tmp
以上で、「手順1:CentOSの/homeディレクトリのバックアップ」は完了です。
手順2:CentOSの/homeのアンマウント
「手順2:CentOSの/homeのアンマウント」に関してご紹介します。
/homeに割り当てられている容量を削除するために/homeをアンマウントする必要があります。
以下のコマンドを実行し、/homeをアンマウントしましょう。
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.7M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 16G 35G 31% /
/dev/mapper/centos-home 46G 507M 45G 2% /home
/dev/sda1 1014M 193M 822M 19% /boot
tmpfs 375M 0 375M 0% /run/user/1000
tmpfs 375M 0 375M 0% /run/user/0
# umount /dev/mapper/centos-home
上記のコマンド実行後、以下のように/homeが表示されていなければ正常に/homeがアンマウントできています。
# df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 50G 16G 35G 31% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
tmpfs tmpfs 375M 0 375M 0% /run/user/0
#
以上で、「手順2:CentOSの/homeのアンマウント」は完了です。
手順3:CentOSの/homeに紐づく論理ボリュームを削除
「手順3:CentOSの/homeに紐づく論理ボリュームを削除」に関してご紹介します。
/homeに紐づく論理ボリュームを削除するために以下のコマンドを実行します。
# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
#
以下のコマンドを実行し、homeが表示されないことを確認しましょう。
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- <3.88g
#
以上で、「手順3:CentOSの/homeに紐づく論理ボリュームを削除」は完了です。
手順4:CentOSの/homeディレクトリのリストア
「手順4:CentOSの/homeディレクトリのリストア」に関してご紹介します。
以下のコマンドを実行し、/homeディレクトリを復元しましょう。
# mv /var/tmp/home /
mv: `/home' を上書きしますか? y
# ls -l /home
合計 0
drwx------ 7 hadoop hadoop 237 6月 10 21:11 hadoop
#
以上で、「手順4:CentOSの/homeディレクトリのリストア」は完了です。
手順5:fstabの設定変更(/homeの設定を削除)
「手順5:fstabの設定変更(/homeの設定を削除)」に関してご紹介します。
CentOSは、起動時にfstabファイル参照し、ディスクをマウントします。
そのため、現状のfstabファイルには、/homeに関するマウント情報が記載されています。
fstabファイルを修正しないと次回のOS起動に失敗しますので、必ず修正しましょう。
# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Mar 20 11:48:01 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=24a0d05b-c005-4984-b102-4cd36f592fdc /boot xfs defaults 0 0
#/dev/mapper/centos-home /home xfs defaults 0 0 ★ここを削除★
/dev/mapper/centos-swap swap swap defaults 0 0
#
その後、修正したfstabの情報をOSに反映させるために以下のコマンドを実行します。
# systemctl daemon-reload
以上で、「手順5:fstabの設定変更(/homeの設定を削除)」は完了です。
手順6:CentOSの/を拡張
「手順6:CentOSの/を拡張」に関してご紹介します。
/homeに割り当たっていた容量を、以下のコマンドで/に割り当てましょう。
# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 95.12 GiB (24351 extents).
Logical volume centos/root successfully resized.
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 95.12g
swap centos -wi-ao---- <3.88g
# xfs_growfs /
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 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=1
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 24935424
#
上記コマンド実行後、以下のコマンドを実行し、/に割り当たった容量が増えていることを確認しましょう。
# df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 96G 16G 80G 17% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
tmpfs tmpfs 375M 0 375M 0% /run/user/0
#
以上で、「手順6:CentOSの/を拡張」は完了です。
手順7:CentOSの再起動
最後に「手順7:CentOSの再起動」に関してご紹介します。
以下のコマンドを実行し、マシンを再起動します。
# reboot
再起動後、/が拡張されたままになっていることを以下のコマンドで確認しましょう。
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 96G 16G 80G 17% /
/dev/sda1 1014M 193M 822M 19% /boot
tmpfs 375M 0 375M 0% /run/user/0
#
以上で、「手順7:CentOSの再起動」は完了です。
上記の手順により、CentOSの/homeを縮小し/を拡張できました。
【まとめ】CentOS(RHEL)の/homeを縮小し/を拡張する手順
今回の記事を通して、「CentOS(RHEL)の/homeを縮小し/を拡張する手順」をご紹介することで、以下の悩みを解消しました。
★悩み★
・CentOSやRed Hat Enterprise Linuxの/の容量を拡張する手順を知りたい。
・CentOSやRHELの/homeを縮小する手順を知りたいな。
・CentOSの/homeを縮小し、/に容量を割り当てられないかな。
「CentOSの/homeを縮小し/を拡張する方法は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント