SYB日志文件占满了文件系统导致M2000无法使用

发布时间:  2014-06-21 浏览次数:  526 下载次数:  0
问题描述
XX局WiMAX网络中,客户告知M2000客户端无法打开,但是在客户端电脑上能够ping通M2000服务器IP地址。

M2000版本信息:V200R009SPC260
告警信息
由于M2000客户端软件无法登陆,无法判断是否有告警产生。
处理过程
1、 查看M2000是否起了服务。在root用户下执行su – omcuser,提示没有此目录。使用omcuser登陆服务器,发现无法查看服务,同时提示磁盘阵列存在I/O问题,如下

2、重启M2000服务,使磁阵重新注册到M2000服务器上,按照先停止服务,再重启的流程来执行。
停止服务过程中,如下:
root@osssvr-1 # stop_svc
Traceback (most recent call last):
  File "/opt/OMC/bin/script/stop_svc.py", line 10, in ?
    f = open(TMPFILE,'a')
IOError: [Errno 5] I/O error: '/opt/OMC/var/logs/iMAP.TOOLS.trace'

发现问题还是由于IO读写有问题,导致无法停止服务,则直接重启服务器。
root@osssvr-1 # sync; sync; sync; sync; sync; sync
root@osssvr-1 # /usr/sbin/shutdown -y -g0 -i6

重启了服务器之后,M2000服务还是无法起来,如下:
-bash-3.00$ svc_adm -cmd status

Apr 21 15:29:48 osssvr-1 su: 'su root' succeeded for root on /dev/???

手动启动M2000服务:
root@osssvr-1 # start_svc
============================ Starting System...
============================ Starting Daem...
testDB catch an unknown database exception.
ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failed

^C============================ Finished Starting System.

无法启动M2000服务。先看看是不是Sybase数据库没起来,发现的确是数据库没起来:
-bash-3.00$ cd /opt/sybase/ASE-15_0/install
-bash-3.00$ ./showserver
     UID   PID  PPID   C    STIME TTY         TIME CMD
  dbuser  2634  2633   0 15:26:18 ?           0:00 /opt/sybase/ASE-15_0/bin/backupserver -SSYB_back -e/opt/sybase/ASE-15_0/install
-bash-3.00$
            WARNING: Log Archiving unable to communicate with archive host 192.168.8.11

启动数据库:
-bash-3.00$ ./startserver -f ./RUN_SYB
-bash-3.00$ 00:00000:00000:2014/04/21 16:13:49.92 kernel  SySAM: Using licenses from: /opt/sybase/SYSAM-2_0/licenses
Apr 21 16:13:49 osssvr-1 ufs: NOTICE: alloc: /: file system full
00:00000:00000:2014/04/21 16:13:49.96 kernel  SySAM: Checked out license for 1 ASE_CORE (2010.08100/permanent/1DF6 911E 1987 9DC7).
.......
00:00000:00000:2014/04/21 16:13:50.00 kernel  os_get_shmid: write to /opt/sybase/ASE-15_0/SYB.krg failed: No space left on device

提示alloc: /: file system full,表明文件系统已满,导致SYB.krg failed。

执行df – k,查看文件系统的使用率情况,发现/dev/md/dsk/d10占用率为100%:
root@osssvr-1 # df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d10      110943020 109856962       0   100%    /
/devices                   0       0       0     0%    /devices

查看SYB的日志,发现文件98. 794594304G大小,占满了空间,打印10000行看看是什么信息,需要清除这些日志。
root@osssvr-1 #  [Kroot@osssvr-1 # cd /opt/sybs ase/S ASE*in  .inst     . /install
root@osssvr-1 # ls -al SYB.log
-rw-r-----   1 dbuser   staff    98794594304 Apr 18 12:52 SYB.log
root@osssvr-1 # tail -10000 SYB.log
00:00000:00020:2014/04/18 12:52:24.79 server  Checkpoint process detected hardware error writing logical page '3408', device 0, virtual page 13636 for dbid 1, cache 'default data cache'. It will sleep until write completes successfully.
00:00000:00000:2014/04/18 12:52:24.79 kernel  sddone: write error on virtual disk 0 blo
....................

以上的日志是因为磁盘阵列的自身缺陷引起的,在公司预警中已有说明。
http://support.huawei.com/support/pages/kbcenter/view/product.do?actionFlag=detailManuscript&web_doc_id=SC0000810426&doc_type=TechPost&doc_type=TechPost

3、为了解决问题,先通过清除SYB log日志来预留空间。执行命令如下:
echo “” >/opt/sybase/ASE*/install/SYB.log

清除完之后,重新启动Sybase,重启M2000服务后客户端恢复正常。

根因
1、M2000客户端电脑故障。

1)排查客户端电脑是否有问题。经现场咨询客户,客户端电脑没有做任何其他操作,也没有木马中毒现象。另外一台电脑同时也安装了M2000客户端,也遇到同样的问题,同时可以排除掉电脑中毒瘫痪问题。
2)客户端电脑可以PING通M2000服务器的IP地址,表明客户端与服务器的链路没有问题,同时客户说明了网络没有调整过,所以排除了网络的原因。


2、M2000服务器故障。
建议与总结
1、此问题的出现是有历史原因的,根本原因在于磁盘阵列S2600的缺陷,公司已经下发了预警,但是由于各种原因没有看到,没有及时整改,导致M2000服务器一直不断的写日志,使得日志最终堆满了文件系统。所以需要及时的掌握公司的预警信息和及时整改。

2、对于M2000的维护,由于行业部分客户没有太严谨的维护经验,导致没有办法及时观察网元的告警,所以平日里需要加强可以网络维护的培训。

END