VMware上の仮想基盤でCentOS8をインストールした際、100GBのディスク容量を用意していたのですが、「cl-home」に半分近くの容量がとられていました。
Dockerコンテナなどで「cl-root」が使用されるので拡張するため、「cl-home」の容量を「cl-root」へ拡張します。
手順の流れを以下でメモしました。
「CentOS8」インストール時の「cl-home」を「cl-root」へ拡張する手順
CentOS8のインストール後、100GBのディスクを割り当てたのですが、ディスクパーティションは以下のようになっており、「/dev/mapper/cl-home」が多くのサイズを占有している状態になっています。
[root@centos8-test ~]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 3.8G 8.7M 3.8G 1% /run tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/mapper/cl-root 50G 2.6G 48G 6% / /dev/mapper/cl-home 41G 322M 41G 1% /home /dev/sda2 976M 202M 708M 23% /boot /dev/sda1 599M 6.9M 592M 2% /boot/efi tmpfs 777M 0 777M 0% /run/user/0
Dockerなどで使用するディスクは「/dev/mapper/cl-root」を利用しているようなので、「/dev/mapper/cl-home」を削除し、その容量分、「/dev/mapper/cl-root」のディスクパーティションを拡張させたいと思います。
また、ディスクのタイプは以下コマンドを実行し「xfs」であることが確認できます。
[root@centos8-test ~]# df -hT ファイルシス タイプ サイズ 使用 残り 使用% マウント位置 devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs tmpfs 3.8G 8.7M 3.8G 1% /run tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 50G 2.6G 48G 6% / /dev/mapper/cl-home xfs 41G 322M 41G 1% /home /dev/sda2 ext4 976M 202M 708M 23% /boot /dev/sda1 vfat 599M 6.9M 592M 2% /boot/efi tmpfs tmpfs 777M 0 777M 0% /run/user/0
「home」ディレクトリバックアップ
「home」ディレクトリをバックアップします。
ファイルシステム上の「/home」配下はOSローカルユーザのホームディレクトリが格納されており、シェルなどの設定ファイルが含まれているため、「/home」の領域を削除した後に、root領域内のディレクトリとして復元させる必要があります。
[root@centos8-test ~]# cp -p /home /tmp [root@centos8-test ~]# ls -ld /tmp/home drwxr-xr-x. 2 root root 6 11月 4 00:22 /tmp/home
「cl-home」アンマウント
以下のコマンドからは管理者権限「root」で実行します。
以下コマンドで該当のファイルシステム「/dev/mapper/cl-home」をアンマウントします。
[root@centos8-test ~]# umount /dev/mapper/cl-home
「/dev/mapper/cl-home」がアンマウントされたことを確認します。
[root@centos8-test ~]# df -Th ファイルシス タイプ サイズ 使用 残り 使用% マウント位置 devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs tmpfs 3.8G 8.7M 3.8G 1% /run tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 50G 2.6G 48G 6% / /dev/sda2 ext4 976M 202M 708M 23% /boot /dev/sda1 vfat 599M 6.9M 592M 2% /boot/efi tmpfs tmpfs 777M 0 777M 0% /run/user/0
論理ボリューム「/dev/mapper/cl-home」を削除
以下コマンドで「/dev/mapper/cl-home」の論理ボリュームを削除します。
[root@centos8-test ~]# lvremove /dev/cl/home Do you really want to remove active logical volume cl/home? [y/n]: y Logical volume "home" successfully removed
以下コマンドで論理ボリューム「home」がないことを確認します。
[root@centos8-test ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 50.00g swap cl -wi-ao---- 7.91g
「home」ディレクトリを復元
先ほどバックアップした「home」ディレクトリを「/」配下へ上書きします。
[root@centos8-test ~]# mv /tmp/home / mv: '/home' を上書きしますか? y
「/etc/fstab」でOS起動時の「/dev/mapper/cl-home」を削除
上記まで正常にできた後はOS起動時にマウントする「/dev/mapper/cl-home」の1行を削除します。
※10行目を削除
[root@centos8-test ~]# vi /etc/fstab ------中略------ /dev/mapper/cl-root / xfs defaults 0 0 UUID=377d62ca-462f-44b4-91f9-657e3d132b4f /boot ext4 defaul ts 1 2 UUID=7257-177E /boot/efi vfat umask=0077,shortname=win nt 0 2 /dev/mapper/cl-home /home xfs defaults 0 0 /dev/mapper/cl-swap swap swap defaults 0 0
fstab編集後は以下コマンドで設定ファイルの再読み込みを実施します。
[root@centos8-test ~]# systemctl daemon-reload
論理ボリューム「/dev/cl/home」の容量拡張
上記「home」のボリュームを削除した分の空き容量を使用し、以下コマンドで「root」の容量を拡張します。
[root@centos8-test ~]# lvextend -l +100%FREE /dev/mapper/cl-root Size of logical volume cl/root changed from 50.00 GiB (12800 extents) to 90.50 GiB (23168 extents). Logical volume cl/root successfully resized.
rootボリューム拡張コマンド実行後、以下コマンドでrootのサイズが拡張したことが確認できます。
[root@centos8-test ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 90.50g swap cl -wi-ao---- 7.91g
ファイルシステム拡張
論理ボリュームを拡張しても、ファイルシステムから見える「root」領域は拡張しません。
そのため以下のコマンドでファイルシステムの容量も拡張させます。
[root@centos8-test ~]# xfs_growfs / meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log 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 23724032
上記コマンド実行後、ファイルシステムの「root」領域が拡張されたことが確認できます。
[root@centos8-test ~]# df -Th ファイルシス タイプ サイズ 使用 残り 使用% マウント位置 devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs tmpfs 3.8G 8.7M 3.8G 1% /run tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 91G 2.9G 88G 4% / /dev/sda2 ext4 976M 202M 708M 23% /boot /dev/sda1 vfat 599M 6.9M 592M 2% /boot/efi tmpfs tmpfs 777M 0 777M 0% /run/user/0
CentOS8のインストール時における「home」ディレクトリの容量を「root」で拡張させる手順は以上となります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す