在检查AIX系统的时候发现一个报错,报错信息如下:
#errpt more
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
CAC5259E 1029051709 I O SYSJ2 UNABLE TO ALLOCATE SPACE IN FILE SYSTEM
#errpt -aj CAC5259E
---------------------------------------------------------------------------
LABEL: J2_FS_FULL
IDENTIFIER: CAC5259E
Date/Time: Thu Oct 29 05:17:36 BEIST 2009
Sequence Number: 8586
Machine Id: 00CBD43F4C00
Node Id: ptcapp
Class: O
Type: INFO
Resource Name: SYSJ2
Description
UNABLE TO ALLOCATE SPACE IN FILE SYSTEM
Probable Causes
FILE SYSTEM FULL
Recommended Actions
INCREASE THE SIZE OF THE ASSOCIATED FILE SYSTEM
REMOVE UNNECESSARY DATA FROM FILE SYSTEM
USE FUSER UTILITY TO LOCATE UNLINKED FILES STILL REFERENCED
Detail Data
JFS2 MAJOR/MINOR DEVICE NUMBER
0030 0003
#df -g --检查文件系统空间,并没有发现异常。
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/hd4 1.00 0.76 25% 2651 2% /
/dev/hd2 4.38 2.06 53% 39002 8% /usr
/dev/hd9var 2.00 1.86 7% 1753 1% /var
/dev/hd3 0.88 0.61 30% 1983 2% /tmp
/dev/hd1 0.12 0.12 1% 75 1% /home
/proc - - - - - /proc
/dev/hd10opt 0.25 0.09 63% 4645 18% /opt
/dev/lv00 0.12 0.12 4% 18 1% /var/adm/csd
/dev/bakapplv 51.88 22.57 57% 18136 1% /bakapp
/dev/fslv06 3.00 2.13 29% 3281 1% /oracleapp
/dev/fslv08 1000.00 151.34 85% 1938430 6% /pdmdataapp
/dev/ptclv 42.00 21.37 50% 228873 5% /ptc
--确认一下是哪个设备导致这样的报错,errpt里已经给出了提示:
JFS2 MAJOR/MINOR DEVICE NUMBER0030 0003
#bc
obase=10 --输出10进制
ibase=16 --输入16进制
0030
48
0003
3
quit
#ls -al /dev grep '48, 3' --注意逗号后面有两个空格
brw-rw---- 1 root system 48, 3 Nov 01 2008 bakapplv
crw-rw---- 1 root system 48, 3 Nov 01 2008 rbakapplv
--bakapplv对应的是/bakapp文件系统。但这个文件系统的空间还有20几G的剩余。唯一的可能就是某个程序运行的时候需要申请/bakapp的空间而申请的空间大于20几G。照着这个思路继续往下查,最后发现是一个日志备份的调度程序引起的。日志的条目很多ftp日志到备份服务器之后用rm *的命令会报错。这样导致磁盘备份日志的目录占用空间越来越大,当要产生一个日志tar文件的时候,空间不足就会产生。查看了一下日志目录的大小已经是23G了。显然上传到备份服务器上的日志tar文件也是不完整的。错误的根源是这个命令:
tar cvf log_`date +"%y%m%d"`.tar log