分类存档: 服务器相关

IPFW日志竟然把服务器硬盘给撑爆了!!!

前些日子在公司的仿真系统的内网搭了一台FreeBSD的服务器,用来做业务系统的状态监测,由于需要使用到nat服务,所以把IPFW也配置上了,为了调试方便,日志最大记录数习惯性的设置了不做限制。

服务器正式上线以后,一直运行稳定,昨天突然就远程连接不上服务器了,于是进机房接上显示器一看,乖乖,1T的硬盘硬生生就撑爆了,可用空间为0了。要知道这台服务器上几乎没有任何会使用大量磁盘空间的应用,只跑了个状态监测系统,看应用目录使用了还不到100M的空间。完全有点匪夷所思啊,排查了一下各个目录,发现问题出在log文件夹下的ipfw的日志文件,一个文件就上百G啊。。。这才意识到自己挖了多大的一个坑啊。

赶紧把日志最大记录数设置上,然后删日志,重启IPFW。然后查看了一下新生成的日志文件,终于找到原因了。

出于安全考虑,我的IPFW设置的是最大安全策略,也就是只开放了几个需要使用的端口跟协议,其他的一率deny掉,为了知道都deny掉了哪些数据,自然就要把deny规则上加上日志记录。这样的设置在互联网的环境上是完全没有问题的,我以前为很多客户的web服务器都是这样做的策略。记录到的都是一些非法扫描之类的异常信息,每天的日志一般也不会超过10M。

可偏偏我们业务系统内部通讯大量使用了组播通讯,这就导致了所有的组播包都被IPFW认真的在log里给记录了下来。目测了一下,每秒能收到几千个组播包,这硬盘不爆才见鬼了呢。

MySQL数据库出现1862错误

今天是正月十五,公司上午还组织了场内部培训,直到中午11点多才结束,真是苦逼,收拾完东西,马上开车1个多小时赶回农村老家,爸妈还在家里等着我回来一起吃中午饭。

吃完午饭,突然接到客户电话说网站无法访问,还好过年回来把笔记本丢在家里没有带回去,赶紧用笔记本登陆服务器检查,发现一切都正常,nginx还有mysql都正常运行,用户是使用的是discuz搭建的论坛,报了一个(1862)notconnect 错误。但是使用客户的mysql帐号跟密码从服务器命令行登陆mysql是完全正常的。

这就有点不能理解了,服务器上登陆mysql明明是正常的,网站却无法正常连接数据库。百度了半天也没有找到任何有价值的信息。试过了N种办法,最后还是没有解决。 继续阅读 »

关于Nginx与Apache执行PHP脚本的效率问题

还记得05年刚开始接触Web服务器的时候,Web服务一直都是用的Apache,一次偶然的机会,在一篇博文中看到了Nginx这个高大上的东西,更高的负载能力、更高并发支持、更低资源占用率,这个俄国人开发的轻量级Web服务应用一下就把我折腾的兴趣给勾了起来。从此一发不可收拾,把所有自己用的跟客户用的服务器上全部换成Nginx,看着内存占用一下少了一大截,心里满满的成就感啊!这年头服务器不使用Nginx出门都不好意思跟同行打招呼!

这些年来的陪伴,有Nginx的日子并不孤单,虽然很多应用都要求配置ReWrite规则,而且官方提供的文档全是关于Apache的,但使用Nginx配置规则也可以完美实现,那就完全没有理由不使用Nginx吧。本来以为找到了终极解决方案,直到前不久的一天使用 magento建了一个外贸站,让我不得不重新思考是Nginx还是Apache的问题了。 继续阅读 »

使用rrdtool生成FreeBSD系统服务器的CPU温度曲线

机房的一台FreeBSD前阵子无故Down掉,对系统服务排查了一遍,基本上排除了是系统问题,于是没有办法,只能烤机。果然不到1个小时服务器再次毫无征兆的Down掉!再次排查硬件,在拆机的过程中,发现CPU的散热片比较烫,考虑到这台服务器是自己组装的兼容机,而且是丢在角度里做备份服务用的,出问题的时候也没有盖上机箱盖板,基本上可以确定是CPU过热保护了。

于是等服务器凉下来后再次烤机,重点观察CPU的温度变化,果然不出所料,烤机开始后CPU的温度直线上升,很快就达到了90多度!!既然问题找到了,解决起来也就有方向了,更换了机箱里的散热风扇,把机箱盖也重新盖好。再次烤机,温度基本上稳定在了55度左右。

继续阅读 »

阿里云总算是推出FreeBSD系统了,网站已经成功迁移

这几天给客户架设网站运行环境,客户也是在阿里云购买的云主机。在选择主机系统时,竟然发现了FreeBSD系统。这在国内应该算是首家了吧。

下班以后马上就开始各种的备份数据,一直折腾到半夜2点,总算是把所有的东西都成功迁移到的FreeBSD系统下面,瞬间感觉清爽了许多!

唯一的遗憾是没有对内核进行重新编译。一个是因为阿里云镜像安装的FreeBSD系统是最小化安装(这点给个赞),里面并没有包含内核编译相关的文件。另外在询问了阿里云的工程师后得到的答复是,如果使用官方内核文件重新编译内核,不保证能正常运行,建议在操作之前做好磁盘快照。看来阿里云那边也没有对这块进行相应的测试,所以给的保守的答复。所以编译内核的事,还是缓缓再说吧!