相信很多人被Xenserver日志填满磁盘空间,导致机器最终挂掉的问题所困扰,我遇见了2次(有一次是poolmaster挂掉,200号人1个小时无法办公)。
前些天,又发现三个池的PoolMaster同时出现/var/log/xensource.log* 狂增的现象,差不多1小时会吃掉150MB磁盘空间
这样2GB的free空间,一天就会填满,Pool Master挂掉可是最要命的,500多台虚拟机将全部挂掉!
通过下面方法暂时停止了Xensource日志
1、修改/etc/xensource/log.conf,注释掉下面4行(前面加个#号)
2、重启服务前日志是不断递增的,然后用xe-toolstack-restart重启相应的守护进程和xapi服务
3、xensource.log*停止了增长
观察了一下日志内容均为程序异常debug信息,开了个Case,现在尝无结论。
------------------------------
[20110913T14:49:03.922Z|debug|hqcnctxxsd022l|2627576inet_rpc|dispatch:host.get_uuid D:08622df260d0|backtrace] Raised atpervasiveext.ml:26.22-25 ->server_helpers.ml:152.10-106 ->server.ml:10336.19-171 ->server_helpers.ml:118.4-7
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised atdb_cache_types.ml:75.27-76 ->db_cache_types.ml:118.2-40 ->pervasiveext.ml:22.2-9
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|backtrace] Raised atpervasiveext.ml:26.22-25 -> db_actions.ml:4271.26-67-> rbac.ml:227.16-23 ->rbac.ml:236.10-15 -> server_helpers.ml:74.11-23
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|dispatcher]Server_helpers.exec exception_handler: Got exceptionHANDLE_INVALID: [ host; OpaqueRef:NULL ]
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|dispatcher] Raised atstring.ml:150.25-34 -> stringext.ml:108.13-29
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|backtrace] Raised atstring.ml:150.25-34 -> stringext.ml:108.13-29
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised atserver_helpers.ml:92.14-15 ->pervasiveext.ml:22.2-9
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised atpervasiveext.ml:26.22-25 ->pervasiveext.ml:22.2-9
-------------------------------
可以用du命令查看当前目录下的子目录所占空间大小
如果统一用MB作为单位, 可以用命令 du -hm --max-depth=1
有时日志增长较快的是/var/log下的messages或daemon日志, 可以使用service syslogstop将它们停止下来, 以避免空间耗尽.
我通常习惯删除日志时保留前2个日志(如./messages是当前正在写的日志和./messages.1上一个归档的日志),但要是当前日志很大想要删除掉,可以把它们先改名, 然后service syslog start再启动一次,以自动生成当前日志,就像下面这样: