PingVPS:£6.25 256MB OpenVZ VPS

pingvps

PingVPS 是一家英国的 VPS 服务商,服务器放在 Ovh 的数据中心,地理位置在 Roubaix,这个位置很有意思,刚好在英国、法国和德国的中点。三月份使用优惠码:10MARCH 可以获得 50% 的内存外加 15% 的价格优惠。PingVPS 除了出售 VPS 外,还在买 hosting 公司,任何规模的 hosting bussiness 他们都有兴趣,看样子他们是想把 hosting 业务做大,应该不会过几天就跑路吧。VPS 配置如下:

服务器在 Roubaix
SolusVM 控制面板
30GB 硬盘
256MB RAM,512MB Burst
125GB 带宽
6.25英镑

服务器信息:

Quad Core Intel i7 920 Servers, PingVPS has invested only in powerful scalable systems. Our nodes run on these minimum specs: Hardware RAID-10, 4TB Total Capacity, 12Gb DDR3 RAM, 1Gbps Bandwidth.

撤掉 DD-WRT,换上 Tomato

上周发现刚配置的 Linksys WRT54GL 无线路由器很不稳定,时断时续,刚开始没注意以为是信号干扰,后来经常发生,1小时就断好几次,已经不能忍受了。检查了所有路由器的配置,发现有2个路由器配置错误,或者说这2个路由器只刷了固件根本没有配就放上去了(现在大学生做事情真让人不放心)。原因没有细想,大概就是 LAN 网络接口从 DHCP 服务器得不到 IP 地址的时候,无线网络模块就企图从周围无线路由器得到 IP 地址,但是 WLAN 的 MAC 地址没有在 DHCP 服务器注册,所以永远不会得到 IP,并且影响了其他无线路由器。

上面是个小问题,重新配置一下就可以了。遇到另外一个问题是,几个 Linksys WRT54GL 刚启动的时候运行稳定,过10分钟左右就出现丢包、连接延迟超长等不正常现象。检查了多遍路由器配置没发现问题,用 sniffer 探包发现路由器运行一段时间后就从 DHCP 服务器那里得不到地址了,然后过段时间又好了。DHCP 服务器应该没什么问题,我们 n 多 PC 都在用,最后怀疑到 DD-WRT 头上。

在 DHCP 服务器上 ping 无线路由器(因为篇幅关系,下面数据是截取的、不完整):

$ ping 192.168.1.96
PING 192.168.1.96 (192.168.1.96): 56 data bytes
64 bytes from 192.168.1.96: icmp_seq=0 ttl=64 time=651.472 ms
64 bytes from 192.168.1.96: icmp_seq=1 ttl=64 time=257.708 ms
64 bytes from 192.168.1.96: icmp_seq=2 ttl=64 time=3.930 ms
64 bytes from 192.168.1.96: icmp_seq=3 ttl=64 time=2.213 ms
64 bytes from 192.168.1.96: icmp_seq=4 ttl=64 time=2.196 ms
64 bytes from 192.168.1.96: icmp_seq=5 ttl=64 time=74.325 ms
64 bytes from 192.168.1.96: icmp_seq=6 ttl=64 time=2.098 ms
Request timeout for icmp_seq 7
64 bytes from 192.168.1.96: icmp_seq=12 ttl=64 time=3391.375 ms
64 bytes from 192.168.1.96: icmp_seq=13 ttl=64 time=2393.664 ms
Request timeout for icmp_seq 14
Request timeout for icmp_seq 15
64 bytes from 192.168.1.96: icmp_seq=26 ttl=64 time=5046.445 ms
64 bytes from 192.168.1.96: icmp_seq=27 ttl=64 time=4046.750 ms
64 bytes from 192.168.1.96: icmp_seq=28 ttl=64 time=2.309 ms
...

换成 Tomato 固件后,再 ping:

$ ping 192.168.1.96
PING 192.168.1.96 (192.168.1.96) 56(84) bytes of data.
64 bytes from 192.168.1.96: icmp_seq=1 ttl=64 time=0.683 ms
64 bytes from 192.168.1.96: icmp_seq=2 ttl=64 time=0.690 ms
64 bytes from 192.168.1.96: icmp_seq=3 ttl=64 time=0.658 ms
64 bytes from 192.168.1.96: icmp_seq=4 ttl=64 time=0.681 ms
64 bytes from 192.168.1.96: icmp_seq=5 ttl=64 time=0.662 ms
64 bytes from 192.168.1.96: icmp_seq=6 ttl=64 time=0.650 ms
64 bytes from 192.168.1.96: icmp_seq=7 ttl=64 time=0.635 ms
64 bytes from 192.168.1.96: icmp_seq=8 ttl=64 time=0.682 ms
64 bytes from 192.168.1.96: icmp_seq=9 ttl=64 time=0.639 ms
...

Tomato 的数据比 DD-WRT 好看的多,事实上也稳定的多,现在已经把所有固件换成 Tomato,这周再继续观察一下。让 VPSee 不解的是 DD-WRT 出来好多年了,n 多的人在使用,界面专业、文档丰富、社区活跃、也有很多人推荐,为什么实际效果这么差强人意呢?本来觉得 DD-WRT vs OpenWrt vs Tomato 这样的讨论和比较 Linux 发行版一样没有意义,现在看来还是要多尝试,多测试,人家的意见只能参考,不能人云亦云。

ContextShift:€8 64MB Xen VPS

contextshift

ContextShift 是荷兰阿姆斯特丹的一家 VPS provider,他家的 VPS 较贵 64MB 就要5欧,前几天的 WeServIT:128MB Xen VPS 只要5欧,更夸张的是 ContextShift 的 VPS 还要9欧的 setup fee(连续订购3个月的话可以免掉 setup fee),setup fee 只在 dedicated server 里面听说过,在 VPS 里面不多见。不过这个东西也说不好,说不定人家 “贵” 的有理由呢。他家 VPS 没有提供 SWAP,不过可以自己在系统里添加 swap 文件的方式添加 SWAP. VPS 配置如下:

服务器在荷兰或英国
5GB 硬盘
64MB RAM
25GB 带宽
8欧元

服务器和网络信息:

AMD Opteron CPUs, ECC error correcting memory, RAID1 (mirrored) storage and dual gigabit network connections.

给 Xen 虚拟机添加一个网络接口

我们在工作中用到了大量的虚拟机,至少一半的物理服务器都被虚拟化了。VPSee 正在考虑用一个虚拟机来替代一台物理机器来监测网络上的主机情况。前不久我们小组拉了一根自己的 ADSL,建了一个自己的网,这样加上工作网络就有2个不同的网,我们希望能在一个虚拟机上用 Cacti 等工具同时监测2个网络上的多台关键服务器、路由器和交换机的实时情况。这就需要在我们的虚拟机上连接到另一个网络,Xen 默认安装后在 dom0 和 domU 上只有一个虚拟网络接口,现在我们需要在 Xen 虚拟机(domU)上添加另一个虚拟网络接口,并和物理服务器上新添加的网卡和网络配置对应起来。

配置

打开 Xen 的配置文件,注释掉 (network-script network-bridge) 一行,然后加上下面一行:

# vi /etc/xen/xend-config.sxp

#(network-script network-bridge)
(network-script network-multi-bridge)

然后创建一个 network-multi-bridge 脚本,用来2次执行 network-bridge 脚本:

# vi /etc/xen/scripts/network-multi-bridge

#!/bin/sh
dir=$(dirname "$0")
"$dir/network-bridge" "$@" vifnum=0 bridge=xenbr0 netdev=eth0  
"$dir/network-bridge" "$@" vifnum=1 bridge=xenbr1 netdev=eth1

重启 Xen 服务使配置生效:

# /etc/init.d/xend restart

打开 Xen 虚拟机的配置文件,加入一个虚拟网卡:

# vi /etc/xen/vpsee

vif = [ "mac=00:16:3E:58:FF:AB,bridge=xenbr0",
        "mac=00:16:3E:58:FF:AD,bridge=xenbr1" ]

重启虚拟机后,查看网络适配器的配置就会发现多了一个 eth1:

# /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:16:3E:58:FF:AB  
          inet addr:172.16.38.200  Bcast:172.16.39.255  Mask:255.255.254.0
          inet6 addr: fe80::216:3eff:fe58:ffab/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:801 errors:0 dropped:0 overruns:0 frame:0
          TX packets:209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:93950 (91.7 KiB)  TX bytes:42427 (41.4 KiB)

eth1      Link encap:Ethernet  HWaddr 00:16:3E:58:FF:AD  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

给 eth1 配置 IP 地址、掩码、网关等:

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.10.200
GATEWAY=
NETMASK=255.255.255.0

配置好虚拟机的网卡后启动网卡:

# /etc/sysconfig/network-scripts/ifup eth1

这样就给运行在一台物理机器上的 Xen 虚拟机增加了一个新网卡,并连接到了物理服务器所在的新网络,虚拟机上的2个网卡和物理服务器上的2个网卡一一对应。

配置路由表

如果想在服务器上同时访问2个网络和其子网络的话,需要修改默认网关和配置路由表:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.16.39.200
GATEWAY=172.16.38.1
NETMASK=255.255.254.0

# vi /etc/sysconfig/network-scripts/ifcfg-eth2
IPADDR=192.168.10.200
GATEWAY=
NETMASK=255.255.255.0

# vi /etc/sysconfig/network-scripts/route-eth0
192.102.5.0/24 via 172.16.38.1 dev eth0

# vi /etc/sysconfig/network-scripts/route_eth1
192.168.0.0/23 via 192.168.10.2 dev eth1

超轻量级窗口管理器:dwm

如果把 X 窗口管理按照重量来划分的话,GNOME/KDE 是两大重量级桌面系统,XFCE 是中型桌面,FVWM, Fluxbox, Blackbox, IceWM 等可以看作轻量级的桌面/窗口管理器。更轻量级的窗口管理器就要数 dwm, xmonad, awesome, ratpoison 等了,这类管理器也叫做平铺窗口管理器(Tiling window manager),它们的特点是:占用资源很少,可以完全的键盘控制,窗口布局一般不叠加并且能平铺整个屏幕、不浪费屏幕像素尽量增加可视范围等,非常适合服务器或者资源有限的机器使用。VPSee 就在一台古董级 Thinkpad 上使用 DWM,一个工作区可以平铺6个窗口用来监视6个 Linksys WRT54GL 无线路由器的连接状况。

因为大部分的工作和时间都锁定在 terminal, vim, firefox,mutt,没有理由为了这4个工具就安装几百兆臃肿的桌面环境,一个轻量的桌面环境能让我更好的把注意力集中在工作上。dwm 就是一款我需要的平铺窗口管理器,用 C 语言写的,全部代码不到2000行,不需要依赖其他库就可以编译,与其他几款平铺窗口管理器不同的是它没有可配置文件供修改,要修改它的配置只能通过修改它的源代码,也就是说每次都需要通过修改 dwm 的源代码(其实就是一个头文件而已,config.def.h)、编译然后安装来配置 dwm. 也有一些平铺窗口管理器是从 dwm 分出来的,比如 awesome, xmonad 等。LinuxToy 介绍了平铺式窗口管理器:awesome另一个平铺式窗口管理器:ion,感兴趣的话可以比较一下。

使用技巧

启动 terminal:Shift+Alt+Enter
启动 dmenu:Alt+p
移动一个窗口到另一个 tag:Shift+Alt+2
转移到另一个 tag:Alt+2
关闭一个窗口:Shift+Alt+c
移动和重设窗口大小:Alt+mouse button
退出 dwm:Shift+Alt+q

dwm 运行的界面如下:

dwm

WeServIT:€5 128MB Xen VPS

weservit

WeServIT 是一家荷兰 Hosting 公司,提供 VPS 和 Dedicated 业务,网站是荷兰语,不过在 WHT 上留的信息是英文的,大部分荷兰人都会英语,所以技术支持和沟通方面应该不成问题。使用优惠码:VPS_50% 可以得到第一个月半价的优惠。他家的 Xen 采用的是商业版的 Citrix XenServer(类似 VMware ESXi,虽然是免费的)。VPS 配置如下:

服务器在荷兰
20GB 硬盘
128MB RAM, 256MB SWAP
100GB 带宽
5欧元

服务器和网络信息:

2x Intel Xeon Quadcore E5450 3.0 Ghz, 32 GB memory, RAID10 Storage (7 disks + Hotspare), Professional Areca RAID card + BBU, Gbit uplinks on a 50Gbit network.

把 Linksys WRT54GL 路由器当作交换机用

不知道各种无线信号会不会对人体产生危害,反正我每天都沉浸在大量的无线网络中:(,手机、无线路由器、无线网卡、笔记本、蓝牙、GPS、⋯⋯,都在发送或者接收信号,想逃都逃不了。我们在工作区部署了6个 Linksys WRT54GL 路由器,用来扩展我们的网络,特别是那些网线不能到达的地方,比如有的人有在厕所上网的习惯:),除了普通上网,无线网络还负责接入手机以便使用 VoIP 功能

Linksys WRT54GL 是一款是非常 hacker-friendly 的路由器,Cisco 开放了它的固件源代码,本来 Cisco 是不愿意公开源代码的,被人发现固件使用的是 Linux,Linux 是基于 GPL2 协议,迫于公众的压力 Cisco 才开放全部源代码,这也就带动了开源社区,开发者纷纷开发出针对这款路由器的固件(firmware),比如 OpenWRT, DD-WRT, Tomato 等,这些都是基于 Linux 的 Open Source 固件,可以通过在上面安装软件、修改配置等办法以挖掘出路由器的最大潜能,有的人甚至拿 Linksys WRT54GL 做 Wifi 机器人。Linksys WRT54GL 上的原厂固件功能太少,比如只能过滤20个 MAC 地址、可修改的配置选项太少、不能安装软件等。只需要换固件、简单修改一下配置就可以把 Linksys WRT54GL 路由器变成一个纯无线交换机,如果不用 WAN 的话还可以把 WAN 口改成 LAN 的口,这样就有5个 Swtich LAN 口可以使用,这就是 open source 的好处,可以拿来 “玩”。相对 OpenWRT 和 Tomato 来说,DD-WRT 可供修改的配置更多一些,界面也显得更专业一些,而且后面有一个商业化的公司(DD-WRT Shop)在运营,技术支持、文档更丰富一些,OpenWRT,Tomato 则比较简单,容易上手,更适合家庭用户。

linksys wrt54gl

刷固件

首先到 dd-wrt.com 官方网站下载最新的固件,然户按照说明刷最新的固件,过程非常简单,可 google 相关资料。Linksys WRT54GL 上面有3个 MAC 地址,分别对应:WAN、LAN 和 Wireless LAN.

修改配置

刷完系统后,登陆进 dd-wrt 的 web 管理界面:http://192.168.1.1,默认用户名/密码:root/admin,接下来按下面的设置修改:

打开 Setup -> Basic Setup 页面:

WAN Connection Type : Disabled(禁止WAN)
Local IP Address : 192.168.1.2(设成这台路由器在 LAN 上的 IP 地址)
Subnet Mask : 255.255.255.0(子网掩码)
Gateway: 192.168.0.1(这台路由器所在网络的主 router)
Local DNS : 10.0.0.2(这台路由器所在网络的主 gateway)
DHCP Type : Disable(路由器自己不提供 DHCP 服务)
Assign WAN Port to Switch : (打开这个选项如果你想把 WAN 那个口用作 Switch 口的话)
Use DNSMasq for DHCP: Enable
DHCP-Authoritative: Enable
Save

打开 Setup -> Advanced Routing 页面:

Operating Mode: Router
Save

打开 Wireless -> Basic Settings 页面:

Wireless Network Name (SSID) : CoE(填写自己的无线网络名)
Save

打开 Wireless -> Wireless Security 页面:

Security Mode : WPA2 Personal
WPA Algorithm : AES
WPA Shared Key: YourSharedKey
Save

打开 Services -> Services 页面:

DNSMasq : Disable(禁止这个选项,可选)
ttraff Daemon : Disable(禁止这个选项,可选)
Save

打开 Security -> Firewall 页面:

SPI firewall: Disable(禁止防火墙,如果你想以后通过 IP 地址访问这个路由器的话)
Save

打开 Administration -> Management 页面:

Info Site Password Protection : Enable(查看路由器信息页面需要密码保护,建议打开这个选项)
Routing: Disable
Save

设置完毕后点击 “Apply Settings”,路由器就会重启,重启后路由器就成了一个无线交换机了。

Troubleshooting

如果上面操作导致错误配置,需要恢复到原配置的话需要做 Hard Reset (30/30/30 reset):

  1. 在通电的情况下按住路由器背面的 reset 按钮30秒;
  2. 继续按住 reset 按钮,把电源线拔掉,再坚持30秒;
  3. 继续按住 reset 按钮,插上电源、最后坚持30秒。

Spacerich:$3.99 256MB OpenVZ VPS

spacerich

Spacerich 是2005年初创立的一家提供网站托管服务和网站设计业务的公司,现在已经完全转型到 hosting 业务,根据这篇 WHT 贴子提供的信息,他家有两款10美元以下的 OpenVZ VPS,数据中心在美国的 Chicago 或者德国的 Hetzner Online AG, Munich(可选),德国的有 RAID,美国的服务器没有,采用 SolusVM 控制面板。VPSee 本来想买一个,把一个正在做备份的 BSD VPS 换掉,可惜的是他家的这两款 VPS 卖的太好了,WHT 广告一出来就卖光了,现在这两款 VPS 只能提前48小时预定。VPS 配置如下:

Canis Carina
256MB RAM/384Mb Burst 512MB RAM/768Mb Burst
25GB 硬盘 50GB 硬盘
100GB 带宽 250GB 带宽
$3.99 $6.99

服务器信息:

Xeon Nehalem or at least Intel Core i7-920 Quad-Core HT.

BlueShoreHost:$6.99 256MB Xen VPS

blueshorehost

BluesShoreHost 于2009年9月成立,业务主要集中在 shared/reseller/dedicated,也出售一些 Xen VPS,价格还算公道,一款 512MB Xen VPS 只要12.99美元。根据 WHT 上的广告,现在购任何一款 VPS 第一个月只付7.5折(25% Off)VPS 配置如下:

服务器可能在 New York
SolusVM 控制面板
25GB 硬盘
256MB RAM
100GB 带宽
6.99美元

服务器信息:

All servers are equipped with at minimum 2 AMD 64bit Opteron 2378 CPUs (8 cores @ 2.4GHz, 6MB total Cache/CPU), 32 GB RAM, 8 Hard Drives with RAID 10.

在 Mac 上使用 LaTeX

斯坦福大学终身教授、计算机科学界的巨牛 Donald E. Knuth 教授写书的时候发现当时的排版技术非常粗糙,严重影响了他正在写的计算机算法巨著 《The Art of Computer Programming》,于是他老人家花了10年的时间写了一个叫做 Tex 的功能强大的排版软件,到目前为止 Tex/Latex 依然是学术排版领域的老大,在学术界十分流行,尤其在数学、物理和计算机科学领域。由于 Tex 太难用了,另外一个计算机科学家 Leslie Lamport 在 Tex 的基础上开发出了 LaTeX,利用这种格式,大大简化了使用 Tex 的难度,使很多没有专业排版和程序设计的人也可以充分发挥 TeX 提供的强大功能,轻松排版出精美的文本,所以 LaTeX 逐渐流行起来。

为什么不用 Microsoft Word?VPSee 对 Word 这些大型软件天生有一种恐惧,软件大了 bug 就多。有个朋友写了一篇300多页的博士毕业论文,然后在交论文前一个月发现一个用来管理 reference 的 word 插件坏了,结果丢了所有的 reference,花了几个通宵才整理好,写过论文的人都知道管理和保持所有 reference 一致是一件很麻烦的事情,尤其是论文写到最后,改一个地方就要牵动所有关联地方。博士朋友还碰到一个问题就是 Word 打开300多页文章后发现打印出来的格式和看到的格式不一致、表格错到下一页、有地方没有对齐等。以前还有一些朋友抱怨 Word 宏病毒,不知道现在还有没有。还有 Windows 本身很容易感染病毒,感染后或者杀毒后一些 Word 文档打不开,LaTeX 都是纯文本保存,不会有这类问题。用 Word 还有一个问题就是一些国外的导师、教授拒绝 Word,如果你想把文章发过去让他们修改、看看给点建议的话就不方便,让他们在百忙之中抽时间出来给你找台带 Word 的 Windows 机器,然后再帮你看 paper/thesis 是件很过分的事情,所以要么你发 PDF 格式的,要么发 LaTeX 源文件。

Q: “If you were young again, would you start writing TeX again or would you use Microsoft Word, or another word processor?”
A: “I hope to die before I have to use Microsoft Word.”
Harald König asking Donald Knuth, Tübingen, 2 Oct 2001.

以前在 Mac 上装 Tex/LaTeX 很麻烦,现在容易多了,只需要下载单个软件包 MacTeX.mpkg.zip 即可,安装后会在 Applications 下生成一个 Tex 目录,Tex/LaTeX 编辑器 TeXShop,reference 工具 BibDesk,拼写检查工具 Excalibur 等都在这个目录下。打开 TeXShop 后点击 Typeset 就可以自动编译 LaTeX 源码并生成 PDF 文件:

texshop

用 BibDesk 添加一个 reference:

bibdesk