CentOS7.9 调整/Home磁盘分区与/根分区大小
在 CentOS 7.9 中,如果您选择默认分区设置,根目录/的分区大小只有50GB,swap分区大小与系统内存大小相同,其余所有的可用空间都会放在/home分区下。这是因为在默认分区设置中,CentOS 7 使用 LVM(逻辑卷管理)来管理磁盘空间。
LVM 允许您将多个硬盘分区或物理磁盘合并成一个逻辑卷,并使用逻辑卷管理分配磁盘空间。在默认分区设置中,CentOS 7 创建了一个逻辑卷组并将所有可用磁盘空间分配给该逻辑卷组。然后,它使用逻辑卷管理器将逻辑卷组分成根逻辑卷/、swap逻辑卷和/home逻辑卷。
如果您想更改默认的分区设置,可以在安装 CentOS 7 时手动配置分区(虚拟化环境下手动分区安装有概率无法启动系统,这是个玄学)。如果您已经安装了 CentOS 7 并想更改分区设置,则可以使用命令行工具如 fdisk、parted、lvextend、resize2fs 和 lvreduce 等来管理分区。请注意,更改分区设置可能会导致数据丢失,因此在执行任何更改之前,务必备份重要数据。
1.首先查看磁盘分区的默认初始情况
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 17M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.9G 48G 6% /
/dev/vda1 1014M 181M 834M 18% /boot
/dev/mapper/centos-home 142G 33M 142G 1% /home
tmpfs 2.6G 0 2.6G 0% /run/user/0
2.使用 lsblk 命令,列出所有可用块设备的信息
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 973M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
└─centos-home 253:2 0 141.2G 0 lvm
3.卸载/home分区
[root@localhost ~]# umount /home
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 973M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
4.删除逻辑/Home卷
[root@localhost ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 973M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos-root 253:0 0 50G 0 lvm /
└─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
5.重新创建逻辑home卷,并设置分区大小,我这里设置50G
[root@localhost ~]# lvcreate -L 50G -n home centos
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/centos/home.
Logical volume "home" created.
6.格式化home分区
[root@localhost ~]# mkfs.xfs /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
7.挂载home分区
[root@localhost ~]# mount /dev/mapper/centos-home /home
8.将home分区压缩下来的空间 全部放到根分区下
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <181.25 GiB (46399 extents).
Logical volume centos/root successfully resized.
9.扩展/root文件系统
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
10.重新查看磁盘分区信息
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 17M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.9G 48G 6% /
/dev/vda1 1014M 181M 834M 18% /boot
tmpfs 2.6G 0 2.6G 0% /run/user/0
/dev/mapper/centos-home 10G 33M 10G 1% /home
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 973M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos-root 253:0 0 181.3G 0 lvm /
├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
└─centos-home 253:2 0 10G 0 lvm /home
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 973M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos-root 253:0 0 181.3G 0 lvm /
├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
└─centos-home 253:2 0 10G 0 lvm /home