출처: How to extend the root filesystem in RHEL 8 / CentOS 8? - UnixArena
How to extend the root filesystem in RHEL 8 / CentOS 8?
JANUARY 29, 2022 BY LINGESH 3 COMMENTS
How to extend / (root) filesystem without reinstalling the operating system ?. Is it possible to extend the root filesystem without destroying data? Is it possible to extend on the fly? The answer is yes if you are using LVM. This article will walk you through extending the root filesystem on Redhat Linux 8 (RHEL 8 / CentOS 8). In this LAB, I have used VMware virtual machine where RHEL8 is up and running. My root disk size is 40GB and it got full. In any hypervisor or Cloud, you can extend the disk by stopping the VM or on the fly. This procedure is applicable to all the environments including public clouds (AWS, Azure, GCP).
Let’s quickly have look at the root volume details.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 35G 35G 154M 100% /
[root@okd4 ~]#
The above command output shows that VM is using LVM (/dev/mapper) for the root filesystem. Let’s look at the partition details.
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 39G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]#
Let’s look at the LVM details.
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
[root@okd4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel_okd4 -wi-ao---- <35.00g
swap rhel_okd4 -wi-ao---- 4.00g
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <39.00g 0
[root@okd4 ~]#
Install packages:
1. To extend the disk partition, you need growpart utility. Let’s install the “growpart” package.
[lingesh@okd4 ~]$ sudo su -
[root@okd4 ~]# yum install cloud-utils-growpart -y
Updating Subscription Management repositories.
Repository google-chrome is listed more than once in the configuration
Last metadata expiration check: 3:19:54 ago on Tue 29 Mar 2022 07:50:58 PM IST.
Dependencies resolved.
====================================================================================
Package Architecture Version Repository Size
====================================================================================
Installing:
cloud-utils-growpart noarch 0.31-3.el8 rhel-8-for-x86_64-appstream-rpms 32 k
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 32 k
Installed size: 63 k
Downloading Packages:
cloud-utils-growpart-0.31-3.el8.noarch.rpm 63 kB/s | 32 kB 00:00
------------------------------------------------------------------------------------
Total 63 kB/s | 32 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Running scriptlet: cloud-utils-growpart-0.31-3.el8.noarch 1/1
Verifying : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Installed products updated.
Installed:
cloud-utils-growpart-0.31-3.el8.noarch
Complete!
2. Run the “growpart” with help to understand various options.
[root@okd4 ~]# growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
must supply partition-number
Extend root disk & filesystem
1. Ensure that root disk size has been increased from the hypervisor. (ex: VirtualBox, VMware ). My current disk size is 40GB and I have increased it to 60GB.
2. Run the “growpart” command with the dry run option.
[root@okd4 ~]# growpart /dev/nvme0n1 2 -N
CHANGE: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
# === old sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 81786880, type=8e
# === new sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 123729887, type=8e
[root@okd4 ~]#
3. If no errors are reported in the dry run, you can execute the growpart command to extend the partition. Note: Partition 1 is a swap. I am passing “2” to represent partition 2.
[root@okd4 ~]# growpart /dev/nvme0n1 2
CHANGED: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 59G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
4. You need to explicitly run the “pvresize” command to extend the PV.
[root@okd4 ~]# pvresize /dev/nvme0n1p2
Physical volume "/dev/nvme0n1p2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@okd4 ~]#
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <59.00g 20.00g
[root@okd4 ~]#
5. You can see that vgs command shows 20GB of free space.
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <59.00g 20.00g
[root@okd4 ~]#
6. Let’s extend the Logical Volume (lv) with available free space in the volume group. (100% represents available free space in the VG).
- -l – extend or set the logical volume size in units of logical extent
- –r – Resize the underlying filesystem together with the logical volume
[root@okd4 ~]# lvextend -r -l +100%FREE /dev/rhel_okd4/root
Size of logical volume rhel_okd4/root changed from <35.00 GiB (8959 extents) to <55.00 GiB (14079 extents).
Logical volume rhel_okd4/root successfully resized.
meta-data=/dev/mapper/rhel_okd4-root isize=512 agcount=4, agsize=2293504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=9174016, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=4479, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9174016 to 14416896
[root@okd4 ~]#
7. We have successfully extended the root filesystem in RedHat 8 /CentOS 8.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 55G 35G 21G 64% /
[root@okd4 ~]#
Hope this article is informative to you.
How to extend the root filesystem in RHEL 8 / CentOS 8?
JANUARY 29, 2022 BY LINGESH 3 COMMENTS
How to extend / (root) filesystem without reinstalling the operating system ?. Is it possible to extend the root filesystem without destroying data? Is it possible to extend on the fly? The answer is yes if you are using LVM. This article will walk you through extending the root filesystem on Redhat Linux 8 (RHEL 8 / CentOS 8). In this LAB, I have used VMware virtual machine where RHEL8 is up and running. My root disk size is 40GB and it got full. In any hypervisor or Cloud, you can extend the disk by stopping the VM or on the fly. This procedure is applicable to all the environments including public clouds (AWS, Azure, GCP).
Let’s quickly have look at the root volume details.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 35G 35G 154M 100% /
[root@okd4 ~]#
The above command output shows that VM is using LVM (/dev/mapper) for the root filesystem. Let’s look at the partition details.
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 39G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]#
Let’s look at the LVM details.
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
[root@okd4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel_okd4 -wi-ao---- <35.00g
swap rhel_okd4 -wi-ao---- 4.00g
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <39.00g 0
[root@okd4 ~]#
Install packages:
1. To extend the disk partition, you need growpart utility. Let’s install the “growpart” package.
[lingesh@okd4 ~]$ sudo su -
[root@okd4 ~]# yum install cloud-utils-growpart -y
Updating Subscription Management repositories.
Repository google-chrome is listed more than once in the configuration
Last metadata expiration check: 3:19:54 ago on Tue 29 Mar 2022 07:50:58 PM IST.
Dependencies resolved.
====================================================================================
Package Architecture Version Repository Size
====================================================================================
Installing:
cloud-utils-growpart noarch 0.31-3.el8 rhel-8-for-x86_64-appstream-rpms 32 k
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 32 k
Installed size: 63 k
Downloading Packages:
cloud-utils-growpart-0.31-3.el8.noarch.rpm 63 kB/s | 32 kB 00:00
------------------------------------------------------------------------------------
Total 63 kB/s | 32 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Running scriptlet: cloud-utils-growpart-0.31-3.el8.noarch 1/1
Verifying : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Installed products updated.
Installed:
cloud-utils-growpart-0.31-3.el8.noarch
Complete!
2. Run the “growpart” with help to understand various options.
[root@okd4 ~]# growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
must supply partition-number
Extend root disk & filesystem
1. Ensure that root disk size has been increased from the hypervisor. (ex: VirtualBox, VMware ). My current disk size is 40GB and I have increased it to 60GB.
2. Run the “growpart” command with the dry run option.
[root@okd4 ~]# growpart /dev/nvme0n1 2 -N
CHANGE: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
# === old sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 81786880, type=8e
# === new sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 123729887, type=8e
[root@okd4 ~]#
3. If no errors are reported in the dry run, you can execute the growpart command to extend the partition. Note: Partition 1 is a swap. I am passing “2” to represent partition 2.
[root@okd4 ~]# growpart /dev/nvme0n1 2
CHANGED: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 59G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
4. You need to explicitly run the “pvresize” command to extend the PV.
[root@okd4 ~]# pvresize /dev/nvme0n1p2
Physical volume "/dev/nvme0n1p2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@okd4 ~]#
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <59.00g 20.00g
[root@okd4 ~]#
5. You can see that vgs command shows 20GB of free space.
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <59.00g 20.00g
[root@okd4 ~]#
6. Let’s extend the Logical Volume (lv) with available free space in the volume group. (100% represents available free space in the VG).
- -l – extend or set the logical volume size in units of logical extent
- –r – Resize the underlying filesystem together with the logical volume
[root@okd4 ~]# lvextend -r -l +100%FREE /dev/rhel_okd4/root
Size of logical volume rhel_okd4/root changed from <35.00 GiB (8959 extents) to <55.00 GiB (14079 extents).
Logical volume rhel_okd4/root successfully resized.
meta-data=/dev/mapper/rhel_okd4-root isize=512 agcount=4, agsize=2293504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=9174016, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=4479, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9174016 to 14416896
[root@okd4 ~]#
7. We have successfully extended the root filesystem in RedHat 8 /CentOS 8.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 55G 35G 21G 64% /
[root@okd4 ~]#
Hope this article is informative to you.
How to extend the root filesystem in RHEL 8 / CentOS 8?
JANUARY 29, 2022 BY LINGESH 3 COMMENTS
How to extend / (root) filesystem without reinstalling the operating system ?. Is it possible to extend the root filesystem without destroying data? Is it possible to extend on the fly? The answer is yes if you are using LVM. This article will walk you through extending the root filesystem on Redhat Linux 8 (RHEL 8 / CentOS 8). In this LAB, I have used VMware virtual machine where RHEL8 is up and running. My root disk size is 40GB and it got full. In any hypervisor or Cloud, you can extend the disk by stopping the VM or on the fly. This procedure is applicable to all the environments including public clouds (AWS, Azure, GCP).
Let’s quickly have look at the root volume details.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 35G 35G 154M 100% /
[root@okd4 ~]#
The above command output shows that VM is using LVM (/dev/mapper) for the root filesystem. Let’s look at the partition details.
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 39G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]#
Let’s look at the LVM details.
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
[root@okd4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel_okd4 -wi-ao---- <35.00g
swap rhel_okd4 -wi-ao---- 4.00g
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <39.00g 0
[root@okd4 ~]#
Install packages:
1. To extend the disk partition, you need growpart utility. Let’s install the “growpart” package.
[lingesh@okd4 ~]$ sudo su -
[root@okd4 ~]# yum install cloud-utils-growpart -y
Updating Subscription Management repositories.
Repository google-chrome is listed more than once in the configuration
Last metadata expiration check: 3:19:54 ago on Tue 29 Mar 2022 07:50:58 PM IST.
Dependencies resolved.
====================================================================================
Package Architecture Version Repository Size
====================================================================================
Installing:
cloud-utils-growpart noarch 0.31-3.el8 rhel-8-for-x86_64-appstream-rpms 32 k
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 32 k
Installed size: 63 k
Downloading Packages:
cloud-utils-growpart-0.31-3.el8.noarch.rpm 63 kB/s | 32 kB 00:00
------------------------------------------------------------------------------------
Total 63 kB/s | 32 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Running scriptlet: cloud-utils-growpart-0.31-3.el8.noarch 1/1
Verifying : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Installed products updated.
Installed:
cloud-utils-growpart-0.31-3.el8.noarch
Complete!
2. Run the “growpart” with help to understand various options.
[root@okd4 ~]# growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
must supply partition-number
Extend root disk & filesystem
1. Ensure that root disk size has been increased from the hypervisor. (ex: VirtualBox, VMware ). My current disk size is 40GB and I have increased it to 60GB.
2. Run the “growpart” command with the dry run option.
[root@okd4 ~]# growpart /dev/nvme0n1 2 -N
CHANGE: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
# === old sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 81786880, type=8e
# === new sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 123729887, type=8e
[root@okd4 ~]#
3. If no errors are reported in the dry run, you can execute the growpart command to extend the partition. Note: Partition 1 is a swap. I am passing “2” to represent partition 2.
[root@okd4 ~]# growpart /dev/nvme0n1 2
CHANGED: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 59G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
4. You need to explicitly run the “pvresize” command to extend the PV.
[root@okd4 ~]# pvresize /dev/nvme0n1p2
Physical volume "/dev/nvme0n1p2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@okd4 ~]#
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <59.00g 20.00g
[root@okd4 ~]#
5. You can see that vgs command shows 20GB of free space.
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <59.00g 20.00g
[root@okd4 ~]#
6. Let’s extend the Logical Volume (lv) with available free space in the volume group. (100% represents available free space in the VG).
- -l – extend or set the logical volume size in units of logical extent
- –r – Resize the underlying filesystem together with the logical volume
[root@okd4 ~]# lvextend -r -l +100%FREE /dev/rhel_okd4/root
Size of logical volume rhel_okd4/root changed from <35.00 GiB (8959 extents) to <55.00 GiB (14079 extents).
Logical volume rhel_okd4/root successfully resized.
meta-data=/dev/mapper/rhel_okd4-root isize=512 agcount=4, agsize=2293504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=9174016, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=4479, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9174016 to 14416896
[root@okd4 ~]#
7. We have successfully extended the root filesystem in RedHat 8 /CentOS 8.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 55G 35G 21G 64% /
[root@okd4 ~]#
Hope this article is informative to you.
How to extend the root filesystem in RHEL 8 / CentOS 8?
JANUARY 29, 2022 BY LINGESH 3 COMMENTS
How to extend / (root) filesystem without reinstalling the operating system ?. Is it possible to extend the root filesystem without destroying data? Is it possible to extend on the fly? The answer is yes if you are using LVM. This article will walk you through extending the root filesystem on Redhat Linux 8 (RHEL 8 / CentOS 8). In this LAB, I have used VMware virtual machine where RHEL8 is up and running. My root disk size is 40GB and it got full. In any hypervisor or Cloud, you can extend the disk by stopping the VM or on the fly. This procedure is applicable to all the environments including public clouds (AWS, Azure, GCP).
Let’s quickly have look at the root volume details.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 35G 35G 154M 100% /
[root@okd4 ~]#
The above command output shows that VM is using LVM (/dev/mapper) for the root filesystem. Let’s look at the partition details.
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 39G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]#
Let’s look at the LVM details.
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
[root@okd4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel_okd4 -wi-ao---- <35.00g
swap rhel_okd4 -wi-ao---- 4.00g
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <39.00g 0
[root@okd4 ~]#
Install packages:
1. To extend the disk partition, you need growpart utility. Let’s install the “growpart” package.
[lingesh@okd4 ~]$ sudo su -
[root@okd4 ~]# yum install cloud-utils-growpart -y
Updating Subscription Management repositories.
Repository google-chrome is listed more than once in the configuration
Last metadata expiration check: 3:19:54 ago on Tue 29 Mar 2022 07:50:58 PM IST.
Dependencies resolved.
====================================================================================
Package Architecture Version Repository Size
====================================================================================
Installing:
cloud-utils-growpart noarch 0.31-3.el8 rhel-8-for-x86_64-appstream-rpms 32 k
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 32 k
Installed size: 63 k
Downloading Packages:
cloud-utils-growpart-0.31-3.el8.noarch.rpm 63 kB/s | 32 kB 00:00
------------------------------------------------------------------------------------
Total 63 kB/s | 32 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Running scriptlet: cloud-utils-growpart-0.31-3.el8.noarch 1/1
Verifying : cloud-utils-growpart-0.31-3.el8.noarch 1/1
Installed products updated.
Installed:
cloud-utils-growpart-0.31-3.el8.noarch
Complete!
2. Run the “growpart” with help to understand various options.
[root@okd4 ~]# growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
must supply partition-number
Extend root disk & filesystem
1. Ensure that root disk size has been increased from the hypervisor. (ex: VirtualBox, VMware ). My current disk size is 40GB and I have increased it to 60GB.
2. Run the “growpart” command with the dry run option.
[root@okd4 ~]# growpart /dev/nvme0n1 2 -N
CHANGE: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
# === old sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 81786880, type=8e
# === new sfdisk -d ===
label: dos
label-id: 0xd2e428c6
device: /dev/nvme0n1
unit: sectors
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=83, bootable
/dev/nvme0n1p2 : start= 2099200, size= 123729887, type=8e
[root@okd4 ~]#
3. If no errors are reported in the dry run, you can execute the growpart command to extend the partition. Note: Partition 1 is a swap. I am passing “2” to represent partition 2.
[root@okd4 ~]# growpart /dev/nvme0n1 2
CHANGED: partition=2 start=2099200 old: size=81786880 end=83886080 new: size=123729887 end=125829087
[root@okd4 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 780M 0 rom
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 59G 0 part
├─rhel_okd4-root 253:0 0 35G 0 lvm /
└─rhel_okd4-swap 253:1 0 4G 0 lvm [SWAP]
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <39.00g 0
4. You need to explicitly run the “pvresize” command to extend the PV.
[root@okd4 ~]# pvresize /dev/nvme0n1p2
Physical volume "/dev/nvme0n1p2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@okd4 ~]#
[root@okd4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel_okd4 lvm2 a-- <59.00g 20.00g
[root@okd4 ~]#
5. You can see that vgs command shows 20GB of free space.
[root@okd4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel_okd4 1 2 0 wz--n- <59.00g 20.00g
[root@okd4 ~]#
6. Let’s extend the Logical Volume (lv) with available free space in the volume group. (100% represents available free space in the VG).
- -l – extend or set the logical volume size in units of logical extent
- –r – Resize the underlying filesystem together with the logical volume
[root@okd4 ~]# lvextend -r -l +100%FREE /dev/rhel_okd4/root
Size of logical volume rhel_okd4/root changed from <35.00 GiB (8959 extents) to <55.00 GiB (14079 extents).
Logical volume rhel_okd4/root successfully resized.
meta-data=/dev/mapper/rhel_okd4-root isize=512 agcount=4, agsize=2293504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=9174016, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=4479, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9174016 to 14416896
[root@okd4 ~]#
7. We have successfully extended the root filesystem in RedHat 8 /CentOS 8.
[root@okd4 ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel_okd4-root 55G 35G 21G 64% /
[root@okd4 ~]#
Hope this article is informative to you.
참고
# resize the last partition to utilize the free disk space
growpart /dev/sda 3
# resize the physical volume to match the partition size
pvresize /dev/sda3
# extend the logical volume to utilize the additional space of the physical volume
lvextend -l +100%FREE /dev/centos/root
# resize the filesystem to match the size of the logical volume
xfs_growfs /dev/centos/root
출처: migration - How to increase the size for /dev/mapper/centos-root without data loss - Server Fault
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
Adobe 어도비 비정품 알림 제거 방법 (0) | 2024.02.13 |
---|---|
어도비 Adobe genuine software integrity service 제거 삭제 방법 (1) | 2024.02.06 |
파일 시스템 확장하기 (1) | 2024.02.06 |
VirtualBox 에서 가상 디스크 용량 증설 (0) | 2024.02.06 |
VirtualBox 에서 디스크 크기 변경하기 (1) | 2024.02.06 |