"File System on Control Domain Full","Disk usage for the Control Domain on server "XXX' has reached 92.0%. XenServer's performance will be critically affected if this disk becomes full. Log files or other non-essential (user created) files should be removed.","Control domain on host: XXX.com","2013/8/6 11:19"
Xen Server 服务器经过半年或者一年使用后,XenServer产生了很多日志文件。XenServer默认是4G系统空间,而这些日志文件会占用很大的系统空间,日志文件占满,将导致系统出现问题:xapi崩溃,或者系统卡死,重启也无效。因此,定期检查清理系统的日志文件,是有效保证系统正常运行的重要方法。
1.检查分区空间
df -hal
2.查看根目录下,各个目录的大小
du -sh /* | sort -nr
3.检查var目录,各个目录的大小
du -sh /var/* | sort -nr //在这里你可以看到日志文件log占用空间最大
4.查看log日志文件
cd log
ls
5.删除log日志文件
可以删除下面全部文件了
rm -rf ./* (请确定当前目录位于/var/log/目录下)
rm -rf 文件名 (在不确定的情况下,可以一个文件一个文件删除)
6.重启xapi
删除后,需要重启下xapi
service xapi restart
注意:删除后日志空间没有释放
重启系统日志进程
service syslog restart
----------------------------------------------------------
查看XenServer使用进程
#xe task-list
不让xensource.log*搞瘫你的XenServer
(2011-09-18 01:40:11)相信很多人被Xenserver日志填满磁盘空间,导致机器最终挂掉的问题所困扰,我遇见了2次(有一次是pool master挂掉,200号人1个小时无法办公)。
前些天,又发现三个池的Pool Master同时出现/var/log/xensource.log* 狂增的现象,差不多1小时会吃掉150MB磁盘空间
这样2GB的free空间,一天就会填满,Pool Master挂掉可是最要命的,500多台虚拟机将全部挂掉!
通过下面方法暂时停止了Xensource日志
1、修改/etc/xensource/log.conf,注释掉下面4行(前面加个#号)
2、重启服务前日志是不断递增的,然后用xe-toolstack-restart重启相应的守护进程和xapi服务
观察了一下日志内容均为程序异常debug信息,开了个Case,现在尝无结论。
------------------------------
[20110913T14:49:03.922Z|debug|hqcnctxxsd022l|2627576 inet_rpc|dispatch:host.get_uuid D:08622df260d0|backtrace] Raised at pervasiveext.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|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised at db_cache_types.ml:75.27-76 -> db_cache_types.ml:118.2-40 -> pervasiveext.ml:22.2-9
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|backtrace] Raised at pervasiveext.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|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|dispatcher] Server_helpers.exec exception_handler: Got exception HANDLE_INVALID: [ host; OpaqueRef:NULL ]
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|dispatcher] Raised at string.ml:150.25-34 -> stringext.ml:108.13-29
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|backtrace] Raised at string.ml:150.25-34 -> stringext.ml:108.13-29
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised at server_helpers.ml:92.14-15 -> pervasiveext.ml:22.2-9
[20110913T14:49:03.962Z|debug|hqcnctxxsd022l|2627576 inet_rpc|host.get_uuid D:f8d52f8467ec|xapi] Raised at pervasiveext.ml:26.22-25 -> pervasiveext.ml:22.2-9
-------------------------------
可以用du命令查看当前目录下的子目录所占空间大小
如果统一用MB作为单位, 可以用命令 du -hm --max-depth=1
有时日志增长较快的是/var/log下的messages或daemon日志, 可以使用service syslog stop将它们停止下来, 以避免空间耗尽.
我通常习惯删除日志时保留前2个日志(如./messages是当前正在写的日志和./messages.1上一个归档的日志),但要是当前日志很大想要删除掉, 可以把它们先改名, 然后service syslog start再启动一次,以自动生成当前日志,就像下面这样: