Archive for the ‘Tech’ Category

在哪都一样,天下大多数运维都一般寨,区别的是寨的程度。 有时候真不知道是我有洁癖呢,还是我有洁癖呢,还是我有洁癖呢。 来来,简短吐槽。。 我工作过的第一家公司,这个现在回头看相当靠谱了 部门培训我讲过《RHEL5网卡配置方法》,整整一小时,有感于配置混乱以及各种默认路由策略路由不写配置文件的囧事 觉得 eth1.475 看着不爽,非要改成 vlan475,于是在机器应该有 eth3.475 的时候直接挂掉(这个 vlan ID 很多人都熟悉的吧,不点名) 双接口同一 vlan俩 ip 默认路由是其中之一,不开 arp_filter;或者俩等价路由出去不开 arp_ignore,简直就是给我们搞监控的找麻烦,arping 直接没法使了,于是开会又讲了一次这个 InnoDB 不开 file per table 这个能吐么?给备份找不痛快。。 话说内部 IT 也算运维吧,入职第一天给了我一台病毒满天飞的机器 我工作过的第二家公司,这个主要运维人员基本都是兼职,也还能忍,小公司嘛 硬件故障靠现场看灯,这个被我强力灭了,买品牌服务器图个啥。 编译了内核改了 grub 配置放着,其它人不知情直接 reboot,挂 raid 卡硬盘固件从不升级(用过 HP G5 的都知道咋回事。。。) 啥都往 rc.local 里堆,一重启网络挂一坨乱七八糟的路由 tunnel 之类的 我工作过的第三家公司,这个是起步阶段,寨就寨吧 硬件故障靠现场看灯。嗯,只有一个能出现场的工程师,不定期巡检,我吐不出来槽了 说每台机器都配 DRAC 卡没啥必要,没用(当然现在好便宜哦,都配了) 不是所有硬盘都有热插拔抽屉。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 嗯,互联网公司哦,试图在公网出口前面加一个防火墙,跑NAT,嗯,还是个相当便宜的防火墙,还要采两台做主备,目的是,为,了,省,公,网,IP。。。 试图买两台 58 […]

Thursday, August 2nd, 2012 at 01:07 | 0 comments
Categories: Tech

简短吐槽: 1、plupload 在 IE 核伪多 tab 浏览器下就能用跨域,不然触发安全沙箱,按网上说的不 cache 貌似也没用,不知道和 swfobject 有关系没 这个改源码,import flash.utils.setTimout 之后把 init(); 改成 setTimeout(init, 0); 就搞定了,重新 build 了一版放上,果然 IETester 360 TT 遨游通杀。搜狗真猛,本来就没这问题(兼容模式) 2、backbone.js 0.5.3 在 Firefox 下有 window.location.hash 解析编码问题的 bug,看这里和这里。导致基于 hash 的 ajax 跳转直接 GET 了个 GBK 的地址过去,我晕 升级到 backbone.js 0.9.2 解决 3、backbone.js 0.9.2 依赖于 underscore.js 里的 has 函数,于是升级到 0.3.3,发现 jspacker PHP […]

Thursday, April 12th, 2012 at 05:14 | 0 comments
Categories: Tech

几件事吧。 第一件,Webkit 和 Opera 居然无视响应里的 Vary: X-Requested-With,于是华丽丽的我的页面破了,只好判断浏览器是这两种就加个?ajax并且在nginx里给他喀嚓掉防止多余的 cache 都特么二十一世纪第二个十年了,居然特么 Squid 2.7 就支持的玩意儿最新的 Chrome 都不支持,搞毛啊,IE6 也只不过是忽略 cache 直接取新的而已,Firefox 应该是去年还是前年就 fix 了。 第二件,PHP 5.4 的 htmlspecialchars() 在 GBK 下不干活了,调试了一下发现是 ext/standard/html.c 里 determine_charset() 里有个 return cs_utf8;,居然 ini 里还没的调 给丫改成 return cs_8859_15; 灭掉了这个问题。不然特么源代码正则替换了就得。。。www2 更新是贵站任何一个系统维护都烦的要死的破事儿。。。 第三件,PHP 5.4 编译完之后 PDO 不干活了,玩命 502,只要 construct 的时候设置了 PDO::ATTR_PERSISTENT => true 就一个劲儿的 segfault,php-fpm 还不好调试,加了个测试环境启单进程发现死在 zend_std_write_property() 这个函数里,放狗搜了一圈没收获。。。。。就琢磨先去了这个破参数吧。。。问问各位大神们。 […]

Tuesday, April 10th, 2012 at 03:33 | 1 comment
Categories: Tech

一言以蔽之,诚彼娘的坑爹 早上一大早起来打车捎上穆小迪童鞋跑到原来机房楼下麦当劳吃饭。吃完饭进去发通告切域名停服务下架一切顺利,十点多到了新机房 等布线等到一点多,然后开机,发现超了电,辗转腾挪又耽误半小时,总算是搞定了限电 开始挨个调试,发现线不通返工,又耽误半小时 然后主站起不来了,kernel panic。IBM 服务器诚彼娘的烂,重启一次十分钟,进了四五次 rescue 才终于想到一个 initramfs 里的旮旯配置把它弄好。 然后胡总的转换数据结构程序总是段错误,嗷嗷琢磨了半天最后神奇地主站能跑二站不能跑,现场 gdb 没调试符号真是伤人,缺一堆 debuginfo 包 sohu 源没有,centos 官方源又太慢。唉。 然后都调通就闪人了,六点多了。特地看了下各个线都正常。去吃饭。又是麦当劳。中午把我家兔忽悠了,本来是大概两点多就去港丽的。呜呜我的港丽 吃一半胡总来电话说转好了。 风风火火赶回家开站,突然开始卡了,交换机上联出方向狂丢包,像极了线虚了,赶紧联系运维接口人,人已经走了,只能明天了。。。。。 其实还有好多想说的,不过有些是不方便说的,算了。。。 贵站的维护,少有顺利,基本都是一个接一个的意外。不管是搬一半服务器莫名坏了,还是突然俩盘红灯,还是明明上次还能起来这次 panic 了,还是线不通、口不够、software NMI。。。 还好了。比去唐山强多了,至少有饭吃,不用长途奔袭,不用遭受回来都走到天津界了突然有个什么又坏了被迫折返的杯具。比前几年真是幸福很多了。 ————————感想暨广告———————— 想知道恶劣条件下运维的感受么?想拥有被上万用户指着鼻子骂又不知道该说啥的体验么? 不能分布式的情况下单机故障如何竭力避免?服务器短缺老旧机架资源还有限比如电不够的情况下如何保证运行正常? 如果你恨一个人,那么就让它来贵站当系统维护吧,也就是大家通常所说的技术站务,技站,当然,也有叫站技的,不好听而已 它需要: 具有一定的运维水平,知道网线怎么做,kernel 怎么编,服务器怎么管,怎么监控,费多少电,什么是 iLO/DRAC/IMM,熟悉 Linux 基本操作,偶尔还有 IBM 服务器插 Dell 盘柜需要刷成公版卡 具有一定的开发水平,知道咋写散列表,知道 IE6 所有常见 bug,知道 ajax 是什么玩意儿,能用 Zend API 扩展 PHP,能用一堆垃圾脚本光速完成各位站务老大们的诡异需求,友站出问题能杀出去以大公无私的精神帮助调试解决问题,偶尔还有 gcc 版本和 kernel 版本造成的诡异问题如何规避 […]

Saturday, April 7th, 2012 at 22:02 | 10 comments
Categories: Tech

今天干了两件事,都和贵站即将上线的 nForum1.1 有关 一个是又调了调 IE6 的 css 兼容性,觉得不厌其烦,深思熟虑之后把这个加上了,IE6 访问每七天(好像是,可设)会弹个小窗 一个是被 IE6-8 在页面中有 flash 的时候 document.title 会加上/变成 window.location.hash 的值,极为不爽,官方 bug 报告页面如是说: http://bugs.adobe.com/jira/browse/FP-240 https://bugbase.adobe.com/index.cfm?event=bug&id=2927932 感慨一下都这么多年了 Adobe 到底是干嘛吃的啊…… 最后我的解决方法是这样的 if ($.isIE()) { document.onpropertychange = function() { if (window.event.propertyName == ‘title’ && document.title != window.origTitle) setTimeout(function(){document.title = window.origTitle}, 1); }; }if ($.isIE()) { document.onpropertychange = function() { if (window.event.propertyName == ‘title’ […]

Wednesday, April 4th, 2012 at 21:11 | 0 comments
Categories: Tech
TOP