Tags
- Airchina
- Anti-Spam
- bugs
- cgroups
- ChinaSouthern
- Django
- DNS
- Enterprise
- fastcgi
- France
- Hainanair
- HAM
- HongKong
- InnoDB
- iSCSI
- kubernetes
- large-scale
- lighty
- Linux
- Logging
- Macao
- Meituan
- MM
- MySQL
- nginx
- Oracle
- Outdoor
- Percona
- Photo
- postfix
- Python
- RedHat
- redis
- Saltstack
- Sentry
- Traffic
- Travel
- UK
- Virtualization
- xtrabackup
- 信用卡
- 奥运
- 美食
- 规范化
Meta
Blogroll
Mine
Category Archives: 默认分类
有人忘记在 ifcfg 里写 NETMASK 了,结果……
我的好兄弟、大学同学谢某人,在虚拟机里玩 RHEL+Oracle 的时候,遇到一个诡异的事情,就是 RHEL 开机后 IP 地址会自动变化。我原以为是他装 Oracle 的时候某个开机自动执行的命令更改了地址,所以就在开机的各 rc 脚本之间夹带执行一次 ifconfig 命令,发现在开机过程中 IP 地址始终都是没有变化的。持续 ping 该机器,发现在出现登录提示符后才 ping 不通,并且提示符后还出现了 iscsi-initiator 关于断开和 target 的网络连接的错误提示信息。 没办法,看日志吧。/var/log/messages 日志明明白白的写着:NetworkManger 认为长度为零的 IP prefix 是无效的,因此接管了该网卡,并按 Auto eth0 设置了该网卡。看了看 ifcfg 文件,里面果然是没写掩码。此时谢同学不服气的嚷嚷,说另一个虚拟机也是这么写的,就不会自动变 IP。过去看了一下,发现那边没启动 NetworkManager 服务。哈哈…… 不过有个问题,ifconfig 命令对于不带掩码的 IP … Continue reading
用 SYSOP 风格的方法研究 spawn-fcgi
不怕大家笑话,以前我一直不明白为啥会有 spawn-fcgi 这个东西。因为以前都是用 PHP 啊,PHP 本身就是可以并发处理多个请求的 fastcgi server 啊,要 spawn-fcgi 干啥用呢?更有意思的是有人用 spawn-fcgi 启动多个 php-cgi ,然后这个 php-cgi 再启动多个子进程,不知道有什么好处。 前几天,我读了一下代码,还是没太明白这个东西存在的必要性,于是就用我们 SYSOP 的方法研究了一下 spawn-fcgi: fakefcgi.sh脚本文件 #!/bin/sh ls -l /proc/self/fd/ >/var/log/$$.txt sleep 600s 执行 spawn-fcgi -p 3333 -F 5 — ./fakefcgi.sh 得到结果 spawn-fcgi: child … Continue reading
nginx 的 if 语法好严格呀!
今天被机房通知删网站内容,我发转给相应的同事了。然后我自己就在 nginx 里折腾看能不能先把那个网址改成 403。试了半天,发现 nginx.conf 里用 if 指令判断 querystring 里的内容的时候,等号前后都得有空格,像这样: if ( $arg_uid = 877363 ) { return 403;} 如果没有空格就不行,看着像是 nginx 不知道那个变量名和操作符号有多长,需要用空格来分隔的意思。
在小饭馆看到的 HTTP 502 错误实例
周五拉着 wincss 去蓟门里的螺蛳粉先生吃饭,期间见到了一个场景,颇像当年 5D6D 网站遭遇的 502 错误。 我和 wincss 到饭馆的时候,屋里已经没有座位了。但是既然来了也不能轻易放弃啊,于是要求店家在外面支了桌子。其实瓶颈主要在于厨房(数据库),厨房做饭太慢,外面的客户只好先排着。在客人数量(请求数量)没有超出饭馆桌椅数量( fastcgi server 的进程和 backlog 上限)的情况下,系统 load 迅速增大,但还没崩溃,此时所有的吃饭请求都挂着,处于 I/O blocked 状态。 过了一会,饭还没做好。有些人等不及就撤了,于是发生了 HTTP 504 Gateway Timeout 错误。而不断前来的客人开始怨声载道(因为他们站在饭店门口的路上,所以载道),此时就发生了 HTTP 502 Bad Gateway 错误。 502、504 错误的根本原因在于系统搭配不均衡,后端的单点瓶颈和前端负载能力过于强大的搭配是不合适的。唯一值得庆幸的是,即使厨房很慢,我们索要辣椒调料的请求还是得到了满足,类似于 fastcgi 请求无法满足的时候,静态文件请求仍能满足的情况。
买了个相机
自从上次妈妈来京参加合唱比赛,让我负责摄影,第一次接触了单反和变焦镜头,就迷上了影像凝固的乐趣和快门的声音。 经过两个星期的背景知识学习、品牌认知、商业情报调查,今天终于在位于五棵松北的北京摄影器材城买了一台 Nikon D90 套机,花费 7100 元。另购有 8G 容量 Class4 速度的 SD 卡和用于保护镜头的所谓 UV 镜(当然,大家都知道这个价格的 UV 镜是防不了紫外线的) 出了器材城,在公交车站看到一位漂亮小 mm,但是我脸皮太薄,没好意思拍之,实在是可惜,可惜! 晚上到家,换上 bugs 给的 90周年纪念版背带,感觉确实比原装的好一些。 本次采购,鸣谢bugs、Jackos、谢珮英同学等。
高温步行
没注意,昨天竟然是最高温的一天,恰恰在这天,我突发奇想要去看广场降旗。 下班后,顺着建国路、建国门内大街、长安街疾行了54分钟,到广场。GPS记录显示:平均10分28秒就能走一公里。广场上,两个便衣士兵陪军装士兵聊天,要不然我觉得那个军装士兵可能也会像游客一样晕倒。降旗之后我觉得自己的脚底板都发烫。刚刚降旗完毕,就清场了,广播、警察和武警把游客送出了广场。我从地下通道出广场的时候突然感觉有点眩晕,可能是天太热了,出汗太多了。想买瓶水,却发现附近只有游商。唉,还是不放心啊。无奈,接着走吧。走到电报大楼对面,终于有了一条小街道,拐进去果然有商店,旁边还有个厕所呢!长安街还是太政治了,连摆摊都不让,真是的!喝了水,感觉好多了。不过因为出汗太多,那个厕所我也没用得上。 接着走,到新文化街视察了一下《功夫梦》的拍摄地鲁迅中学。不过当时已经很晚了,用手机拍照几乎无法成像。步行走回西单,地铁回家去也。 今天中午在 Google Earth 量了一下,昨天步行的里程约8.5km。
RHEL6 作为 xen domU 虚拟机,启用 hvc0 的方法
今天在 xen 虚拟机里安装了 RHEL6 beta,发现因为 sysvinit 被换成 upstart 之后,竟然不知道在哪里启用 hvc0 上的 getty 了。尝试改变 /etc/sysconfig/init 把 hvc0加到 ACTIVE_CONSOLES 里,但是开机时提示 hvc0 permission denied 之类的提示信息。 最后还是在内核上加 console= 参数了。不过注意:必须写成 console=tty console=hvc0 这样,其中 tty 那一项可以用 console=tty 也可以用 console=tty1。 如果只加console=hvc0 则用VNC查看虚拟机的时候看不到开机时的 dmesg 和服务脚本启动信息 如果顺序反了,最后不会启动 agetty 在 … Continue reading
因为迪卡侬没有剪掉防盗标签,害我进了一次物美超市的小黑屋
在迪卡侬运动超市买过裤子之后,他们既没有给我剪掉防盗标签,也没有提醒我自己剪掉,我一直以为里面装的是备用扣子呢。结果今天因为这个被扣在物美超市保安室了。人生何其圆满!
bind + mydns 大容量智能 DNS 的方案简述
大体上就是 bind 上启用 view 功能,然后把请求转发给后端的多个 mydns。不过遇到的问题是,如果用 zone {type “forward”;} 的话,会导致 bind 给出的解析结果里缺少 AA 标志位,而且还会带上 ADDITIONAL SECTION,而这个 ADDITIONAL SECTION 指向的恰恰是 bind 自己,于是有时会造成循环。 怎么让 bind 认同自己事实上的权威地位,成了方案的关键。想了几个小时,终于明白了只有 master 和 slave 才能给出带 AA 标志位的应答。master试过了肯定是不行的,因为必须有 file 参数。后来试了试 slave,竟然只需要 masters 参数即可。 最终方案是两横两纵的: 1 一个域有两个 NS 服务器 … Continue reading
很不幸,又遇到bug了——MySQL replication故障
我就说 RedHat 的软件质量不好,还总有人不信。这次又找到证据了。 RHEL5.4/5.5 里带的 mysql-server 包 # rpm -qi mysql-server Name : mysql-server Relocations: (not relocatable) Version : 5.0.77 Vendor: Red Hat, Inc. Release : 4.el5_4.2 Build Date: Sat 30 Jan 2010 03:11:47 AM CST 存在 replication 时,slave 跟不上 … Continue reading