更多: zhilu jiaocheng

解决文件系统已满的情况

这篇文章主要是为了处理操作系统文件系统(例如 root、var 和 usr),但它也可以用来解决其他文件系统的故障。
有很多方法可以找到填充文件系统的内容,有时这可能是一个困难的过程。
一个问题是文件系统可能被一个或者几个非常大的文件(通常很容易找到)或者数千个较小的文件(很难找到并查明原因)填满。

首先,我们需要弄清楚哪些文件正在填满文件系统。
列出文件系统中文件大小的一种非常有用的方法是使用 du 命令。
以下示例从根文件系统上的最大到最小列出文件:

$ du -akd / | sort -nr

其中:
-d 防止 du 跨越分区边界。

-a 告诉 du 报告文件大小(没有这个选项 du 只报告每个目录中使用的空间量。

-k 告诉 du 以千字节而不是 512 字节块报告。
在 Solaris 9 或者更高版本上,如果我们更喜欢人类可读的输出,请将 k 替换为 h,即根据报告的数字以千字节、兆字节或者千兆字节为单位的输出。

-nr 此排序选项将文件按相反的数字顺序排列。

当然,这可以用于 root 以外的文件系统,只需在“du”命令中将/替换为所需的路径即可。
命令“du -skd”总结了用于文件系统的千字节数。
如果这与 df -k 命令报告的不同。

首先要看的标准文件系统是:

/tmp

如果 /tmp 已满或者包含大文件,则重新启动将清除此目录。
如我们在 df 命令的输出中所见,默认的 Solaris 安装共享 /tmp 和 swap 的磁盘空间。

/dev

尝试使用不正确的设备名称写入设备时,大文件可能会出现在此处。
例如 /dev/rmt/o(字母“o”)而不是 /dev/rmt/0(磁带驱动器的数字“零”。
如果机器没有连接磁带驱动器并且有人使用像 tar 或者 ufsdump 这样的磁带命令。
这只会在 /dev/rmt/ 中创建一个大文件。
所以一定要检查 /dev 目录中的实际链接,而不是文件。

/

寻找核心文件。
检查 /.wastebasket 和 /lost+found 目录是否有大文件。
检查 root 中的 .CPR 文件,这是由电源暂停/恢复软件放在那里的。

/var

第三方软件包有时会在 /var/sadm/pkg 目录中留下 tar 文件。
如果 /var 已满(并且是一个单独的文件系统)或者 /var 目录是我们确定占用根目录中大部分空间的目录,请检查以下内容。

清除(但不删除;文件应该被截断为零长度)以下文件可能会为我们获得一些空间。
这里要小心,因为你会丢失各种日志信息。
例如,utmp[x] 和 wtmp[x] 文件包含用户访问和记帐信息:

/var/cron/log
/var/spool/lp/logs
/var/adm/utmp
/var/adm/utmpx
/var/adm/wtmp
/var/adm/wtmpx
/var/log/syslog*
/var/adm/messages.*

要将文件归零,请使用以下命令。

# cat /dev/null > filename

注意:对于 Solaris 9 或者更高版本,请参阅 logadm 以获取管理日志文件的有用工具。

检查 /var/saf 检查 _log 以及 tcp 和 zsmon 目录。
将有 _log 文件,我们可以使用“cat /dev/null > filename”将它们清零。

如果系统被用作打印机主机,请检查 /var/lp/logs 中的文件,如果它们已被打印或者因系统崩溃或者打印机问题而遗留下来,则可以将其删除。
检查 /var/preserve 。
检查 /var/spool/* 目录。
“lp”或者“mqueue”等子目录用于假脱机。

检查 /var/crash 是否有任何系统内核。
还要检查 /var/tmp 中不需要的文件。
/var/tmp 不会在重新启动时清除。

关于 /var/sadm 目录的注意事项。
该目录包含包和补丁信息,一般不应触及。

也可能是 inode 用完了,并且消息文件系统已满。

# /usr/bin/df -F ufs -o i [directory | special]
处理Solaris 中file system full问题

文件系统变满的原因有多种。
需要考虑的一件重要事情是在安装期间如何设置文件系统。
需要注意每个文件系统使用了多少空间并提前考虑。

通过前瞻性思维,文件系统不太可能变满,但不会阻止文件系统变满。
这篇文章将展示文件系统可能变满的最常见原因以及如何处理它们。
当文件系统已满时,可能会看到以下错误:
在系统控制台上:

vmunix  : file system full
WARNING: file system full
NOTICE: alloc:  file system full no space left on device

在 /var/adm/messages 中:

WARNING: /: filesystem full
日期:2020-09-17 00:15:19 来源:oir作者:oir