我的 RHEL 7 根分区已满,但我不明白出了什么问题:
/dev/mapper/lvm01-root.vol 5.9G 5.9G 272K 100% /
索引节点为 98%:
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/lvm01-root.vol 70656 68716 1940 98% /
/dev/mapper/lvm01-tmp.vol 3072000 24 3071976 1% /tmp
/dev/vda1 128016 347 127669 1% /boot
/dev/mapper/lvm01-var.vol 8192000 4805 8187195 1% /var
/dev/mapper/lvm01-opt.vol 3072000 5124 3066876 1% /opt
/dev/mapper/lvm01-home.vol 3072000 3964 3068036 1% /home
# vgs
VG #PV #LV #SN Attr VSize VFree
lvm01 1 8 0 wz--n- <41.51g 13.09g
lvm02 1 9 0 wz--n- <200.00g 129.89g
有人可以帮助我了解问题所在以及如何解决吗?谢谢你,卢卡斯
答案1
根据您提供的信息,您拥有完整的根文件系统。你能做的就是从 VG ( ) 中的可用空间中扩展它lvm01
。程序是:
lvextend -L+2GB /dev/mapper/lvm01-root.vol
resize2fs /dev/mapper/lvm01-root.vol
第一个命令将 root LV 扩展为 2GB(适度是明智的)。第二个命令扩展文件系统。您可能需要添加-f
第二个命令来强制执行该操作,因为它的/
文件系统。
如果你的根文件系统是 ixXFS
你应该使用命令
xfs_growfs /
扩展文件系统。
要检查哪个目录填写它执行
du -skx /*
然后深入到更大的目录
答案2
您的根文件系统几乎已满。您仍然可以将大量文件存储到 /tmp
、/boot
、/var
和/opt
/或/home
,或这些目录的任何子目录(以及子子目录等),但存储其他任何文件可能很快就会出现问题。
为什么满了?那么,根据您在操作系统安装过程中所做的选择,根文件系统可能已创建为仅适合安装时选择的软件(具有一些备用容量)。如果此后您安装了更多软件包,则可能会因为安装更多软件而耗尽空间。
或者,如果您在根文件系统中创建了一个非标准目录,例如/projects
,那么这些文件将全部占用根文件系统,因为您显然没有为此类目录(或目录层次结构)安装单独的文件系统。
或者您可能犯了一些错误,导致在根文件系统中创建了一些大文件。
要找出根文件系统中填充的内容,您可以执行以下操作:
du -kx / | sort -rn | less
这将创建一个目录列表,并按大小对其进行排序。显然/
将位于顶部,因为其他所有内容都在其中,但如果列表顶部附近有一个长的多层目录路径,则该目录包含足够的数据,可以单独占据文件系统的很大一部分。因此,通过此列表,您可以首先查看最大的磁盘占用量,以确定它们是否合法。
您rpm -qf <pathname>
可以查询指定的文件是否是任何 RPM 包的一部分(以及它来自哪个包)。如果您在某个不应该用于数据文件的目录中发现不属于任何软件包的大文件,并且您知道自己尚未安装任何非 RPM 软件包的软件,那么您很可能发现了具有以下属性的文件:被错误地创建或移动到那里。
幸运的是,您的根文件系统位于逻辑卷管理 (LVM) 逻辑卷 (LV) 上,并且包含根文件系统的 LVM 卷组 (VG) 有足够的未分配空间,可以使当前根文件系统大小增加一倍甚至三倍,而无需添加任何空间。新的物理磁盘。您无需重新排列分区甚至卸载任何东西就可以做到这一点,当系统正在使用时。
请注意,RHEL 7 默认使用 XFS 类型的文件系统。在 RHEL 7 中,XFS 文件系统很容易在线扩展(事实上,它可以仅有的可以在线扩展),但如果不备份内容并重新创建文件系统(“重新格式化”),则根本无法缩小它。因此,您可能不想使根文件系统变得不必要的大,因为您可以在需要时随时进一步扩展它。
您的文件系统现在大小约为 6 GB。如果您没有任何特定要求(例如要安装的新大型软件包),那么根文件系统上大约 20% 的保留容量应该可以为您的常规使用提供足够的空间。因此,现在将根文件系统扩展到 8 GB 可能是一个好主意。您可以使用 root 身份使用单个命令来完成此操作:
lvextend --resizefs -L 8G /dev/mapper/lvm01-root.vol
或者如果你想表达为“增加当前容量2GB”,也可以这样做:
lvextend --resizefs -L +2G /dev/mapper/lvm01-root.vol
这--resizefs
是 RHEL 7 及更高版本的新选项。在较旧的系统上,基于 LVM 的文件系统扩展的标准方法需要两个命令:首先是lvextend
不带--resizefs
选项的命令,然后使用特定于文件系统类型的命令(xfs_growfs /
在扩展 XFS 根文件系统的情况下)。