skylove
非法关机的时候,postgresql启动故障的解决(牢骚版)
今天,网关机被人强制关机了(某同事所为...至于你要问为什么非linux管理员的同事可以有权操作linux服务器,我只能告诉你--这是在中国,这是在中国的高校)
然后呢,直接导致的结果就是postgresql 服务无法启动咯...我用了近10分钟的时间来解决这个替别人揩屁股的问题...
我先尝试直接用service postgresql start来启动服务,失败咯...然后 tail /var/log/message 的结果,只是简单地告诉我了start postgresql faile....我靠,这还不如不说呢(典型的windows日志风格,告诉你一些完全正确却全无用处的消息)
然后就上google,用关键字 postgreql 修复 作为关键字来查询,找到n多结果,但是没有我想要的...恩,看来只有自己想办法了.
su 到 postgres身份,然后执行postmaster -D 数据库....无法启动,不过这次postger给出了错误提示如下:
FATAL: pre-existing shared memory block (key 5432001, ID 0) is still in use
HINT: If you're sure there are no old server processes still running, remove the shared memory block with the command "ipcrm", or just delete the file "/var/lib/pgsql/data/postmaster.pid".
恩,这样一来就明白了...原来是因为上次停止机器的时候,是直接关电...(可怜的...既然有那台机器的密码,就登陆进去reboot一下吧...这个命令我是有给他写过的啊),因此,postgresql运行进程的pid文件没有删除...而重新启动之后,在启动postgresql服务的时候,由于postgresql查询到pid文件的存在,以为服务已经启动起来了,为了不重新加载就不再启动自己了...
既然原因找到了,那么就直接 把那个pid文件删除掉...之后再试,果然就正常咯...
为了防止这样的悲剧再次重演,我惟有在/etc/rc.local里加上一条
rm -rf /var/lib/pgsql/data/postmaster.pid 2 >; /dev/null
然后再启动postgresql服务...
这段时间电信在调整网络,所以时常会出现偶尔无法上网或者服务器无法连出的情形.可惜同事总是太信任电信,而不相信我做的网关,于是傻到一而再再而三的重新启动网关...
估计今天下午去,那同事又会问我"为什么旧区的服务器全部外界无法访问"的问题吧...拜托,服务器全部用公网ip地址,上级网关直接指向电信,本日内没有对任何服务器的网络设置做任何修改,突然全部外界无法联入,自然是电信那边调整出错导致的...怎么会是我一台内部网nat的网关的问题??难道这台普通配置的网关会有把其他同为公网ip的服务器一起down掉或者导致外界全都无法访问这么大的威力么???排除了唯一可能的arp欺骗和慢速路由攻击的问题(因为即使你在关掉我nat网关服务器的时候,其他的服务器不是外界也同样无法访问么,而当nat服务器一起,它又是能访问外界--但也不能被外界所访问),都到了这个地步,为什么还依然怀疑是我的那台可怜的nat有什么地方做得不够好,而不肯怀疑一下电信呢???电信它凭什么就不能出错,因为你每个月给了它许多钱而我的薪资很低吗?你给它钱它就一定不会出错吗?得钱的是谁?不见得是电信真正维护网络的一线人员,而且也不见得那个维护的人员是凭本事而进电信的.网络维护不象文字资料处理等事情,水平够不够一下就能现出原形的...什么叫无知?不认真分析问题就贸然处理并留下一个烂摊子就叫无知!
转自:http://bbs.iyunv.com/archiver/tid-484595.html
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com