Solaris下文件系统的清理与维护

最近发现一台装有SolarisSun服务器上的FTP服务突然不能使用了,我首先想到的是检查ftp服务有没有打开。svc a | grep ftp,发现ftp服务处于online状态。svcadm restart ftp重启服务后,仍然不能正常访问,但是登录系统后直接输入ftp命令是没有问题的。接下来我考虑去/etc/ftpd目录下检查ftp的配置文件。

首先简单地介绍一下几个ftp的配置文件(详情见《系统管理指南:网络服务》)

ftpusers 列出被拒绝访问 FTP 服务器的用户。

ftphosts 用于允许或拒绝从各种主机登录到FTP 服务器的各种帐户。

ftpaccess 是主 FTP 配置文件。只有使用 -a 选项调用 /etc/ftpd/ftpaccessFTP 服务器才会读取该文件。所有用户必须为允许访问 FTP 服务器的某类成员时才能使用 ftpaccess 文件。

本来打算编辑一下ftpusers文件,把文件的root用户删掉(即允许root用户使用ftp),但发现提示系统资源不足,不能编辑文件。这下可以肯定是根文件系统磁盘空间不足导致的问题了。使用df k发现,根文件系统果然已经100%被占用了。

根目录下造成占用的情况主要有:

(详情见http://swachian.javaeye.com/blog/183749)

日志文件;

core文件;

系统崩溃转储文件。

1. 清除系统日志文件

  日志文件主要存在于/usr/var 两个目录下,包含了系统运行及用户访问系统的信息,系统在运行过程中,会不断地把新的信息添加到日志文件,因此日志文件会急剧增多

2. 删除core文件

  当系统中一些进程由于收到一些信号而非正常结束时,系统便建立一个core文件,记录进程当时的一些信息,包括进 程状态、数据以及硬件寄存器的值等。在这些core文件没有用的时候,可以考虑删除它们。core文件的删除,应该首先确认要删除的core文件是否还有 使用价值,可通过file core命令查看是由哪些进程产生的,在确认对调试程序没用的时候再进行删除,也可以通过下面的命令来删除10天内未存取过的core文件:

find / -name core –atime +10 –exec rm {} \;

我使用df时发现根文件系统下最大的就是core文件,删除了发现可用空间并没有明显的变化,可能是由于有些内容保存在内存中,需要重启才能生效。

3. 删除崩溃转储文件

比较少见的情况,但不是完全没有

# cd /var/crash/system   -- 崩溃转储目录

# rm

# ls         -- 验证以删除

为了解决根文件系统空间不足的问题,我们也可以通过软链接的方式转移大目录或大文件至其它分区,具体操作如下:

1、找出根文件系统占用磁盘空间大且可以转移的目录或文件

2、找出有空闲空间的磁盘分区

3 假设我们要把根文件系统下的a文件转移到/export/home文件系统下,

mv  /a  /a.bak

cp   -r   /a.bak     /export/home/a

ln -s  /export/home/a  /a

This entry was posted in Solaris and tagged , , . Bookmark the permalink.

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>