在这篇文章中,我将分享如何解决 CentOS 7 上根文件系统 (/) 几乎满了的问题。我们将详细讨论如何扩展根文件系统的磁盘空间,以避免系统出现存储不足的问题。
背景
在使用 CentOS 7 的过程中,我发现根文件系统 (/) 使用率达到了 99%。这会导致系统无法正常运行,例如无法启动 Docker 服务。为了确保系统能够继续正常运行,我们需要扩展根文件系统的磁盘空间。
环境
- 操作系统:CentOS 7
- 原始磁盘大小:20GB
- 扩展后的磁盘大小:40GB
问题表现
根文件系统的使用率达到了 99%:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 17G 285M 99% /
/dev/sda1 1014M 177M 838M 18% /boot
解决方案
下面是详细的解决步骤。
步骤 1:扩展磁盘
首先,我们需要扩展虚拟机的磁盘大小。在我的例子中,我将磁盘从 20GB 扩展到 40GB。
步骤 2:查看当前分区表
使用 lsblk
命令查看当前的分区表:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
步骤 3:调整分区
使用 fdisk
调整分区大小:
fdisk /dev/sda
调整分区大小:
fdisk /dev/sda
# 删除分区 2
Command (m for help): d
Partition number (1,2, default 2): 2
# 创建新分区
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-83886079, default 2048): (按回车)
Last sector, +sectors or +size{K,M,G,T,P} (2048-83886079, default 83886079): (按回车)
# 更改分区类型
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e
# 写入更改并退出
Command (m for help): w
刷新分区表:
partprobe
扩展物理卷:
pvresize /dev/sda2
扩展逻辑卷:
pvresize /dev/sda2
扩展文件系统:
对于 xfs
:
xfs_growfs /
对于 ext4
:
resize2fs /dev/mapper/centos-root
验证:
df -h
结论
通过以上步骤,我们成功地扩展了 CentOS 7 上的根文件系统空间,从而解决了磁盘空间不足的问题。希望这篇文章能对你有所帮助,如果有任何问题或建议,欢迎留言讨论。
如果你在操作过程中遇到任何问题,欢迎在评论区留言,我会尽力帮助你。谢谢阅读!