puppet 安装 jdk

$ sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -s -c) partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

然后交互的选择 yes/no 进行安装。为了减少宝贵的人肉时间,有下面几种方式,最原始的方式:
$ ssh host "yes | apt-get -y install sun-java6-jdk"
Continue reading

网络质量评估

评估一个 IDC 网络质量可以从下面几个方面入手:

带宽(throughput):网络的吞吐率,端到端之间可以传输的最大速率,这个指标不管是在测试还是正式使用 IDC 服务的时候,都会限死,带宽当然是越大越好,一般超过限制带宽的 50% 就会出现严重的丢包,这个可以通过 nc, wget, curl, iperf, scp 等工具测试。
延时(latency),数据包从本地传输到对端之间需要的时间,如果使用 ping 来测试话,可以通过其 RTT 来反映其状况。
丢包(loss),这个指标应该适用于任何的 web 应用,越大质量越差,这个可以通过 ping, iperf 等实现。
抖动(jitter),我们肯定希望 latency 稳定在某个区间上,如果 latency 出现比较的的抖动,也可以从一定程度说明网络质量问题,iperf UDP 可以测试,看 ping 结果的 mdev 同样可以得出比较靠谱的结论。

下面介绍几个常用的网络质量评估的工具机器用法。
Continue reading

domU hung

连接 server-1 这个 domU,出现如下的 error:
# xm console server-1
[31687848.523700] INFO: task jbd2/xvda1-8:175 blocked for more than 120 seconds.
[31687848.523720] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[31687848.523932] INFO: task flush-202:0:666 blocked for more than 120 seconds.
[31687848.523945] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[31687848.524276] INFO: task nagios:15635 blocked for more than 120 seconds.
[31687848.524288] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[31687848.524424] INFO: task nagios:23634 blocked for more than 120 seconds.
[31687848.524435] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
...

描述的情况跟这个这篇博客作者描述的基本一致,除了机器型号不同之外。

应该是在比较高的 I/O 延时时才会出现,lucid 的一个 bug

只是单纯的关闭 hung_task_timeout_secs 并没有啥作用,这里提供了一种可行的方式,降低 dirty_ratio 的值。

limits 不生效

正常情况下,改完 limits.conf 后,重新登录就会生效,但是一台机器(CentOS 6.2, 2.6.32-279.el6.x86_64)很奇怪,注销再次登录并不会生效。
messages 文件出现类似的错误:
Sep  1 12:08:35 jaseywang sshd[16119]: fatal: setresuid 500: Resource temporarily unavailable
Sep  1 12:08:41 jaseywang sshd[16120]: Accepted publickey for jaseywang from 111.111.111.111 port 53803 ssh2
Sep  1 12:08:41 jaseywang sshd[16122]: fatal: setresuid 500: Resource temporarily unavailable
Sep  1 12:08:46 jaseywang sshd[16123]: Accepted publickey for jaseywang from 111.111.111.111 port 53804 ssh2
Sep  1 12:08:46 jaseywang sshd[16125]: fatal: setresuid 500: Resource temporarily unavailable
Sep  1 12:08:52 jaseywang sshd[16126]: error: RSA_public_decrypt failed: error:0407006A:lib(4):func(112):reason(106)
Sep  1 12:08:52 jaseywang sshd[16126]: error: hash mismatch
Sep  1 12:08:52 jaseywang sshd[16126]: error: hash mismatch
Sep  1 12:31:06 jaseywang sshd[18049]: Accepted publickey for jaseywang from 111.241.250.121 port 20918 ssh2

后来通过重启 sshd,再次登录才会生效,可能跟 sshd 有关,不过按我的理解, sshd_config 文件并没有改变,重启实际上是没改变什么的,奇怪。