ZoomVPS:$5 256MB OpenVZ VPS

zoomvps

ZoomVPS 推出春季大优惠,使用优惠码:SPRING50DD 可以得到50%的优惠,而且硬盘还双倍,原价10美元的 VPS 使用优惠码后只要5美元,还送双倍硬盘。域名是去年4月份注册的,创始人在 WHT 上混了很长时间,他们家的服务响应很迅速,网上关于他们的好评似乎有一些。这个优惠价格很低,不超卖是办不到的,VPSee 小小调查了一下,他们家租用的是 Ubiquity Servers 的服务器,Ubiquity Servers 是家比较大的 IDC,在 WHT 上的口碑很好,就是有点小贵,看了一下他们网站和服务器配置,找了一款适合做 VPS 的服务器月租价格是139美元(Xeon 4 x 1.86GHz + 4 GB RAM),加上 IP 地址等费用,月租应该在170美元以上(当然如果他们服务器签的合同时间很长的话会有一些优惠),5美元 x 35 个=175美元,也就是说一台 4GB 的服务器上至少要放35个 VPS 才能保本,如果想有点利润那至少要放45个以上(还有一些人力成本、管理成本、公司运营成本在里面),不超卖的话连保本都难啊。这就是我为什么不喜欢 OpenVZ VPS 的原因,同一台服务器上 VPS 太多太拥挤,资源得不到保障,服务器出现一个内核 panic 就会让上面所有的 VPS 都死掉,太危险。VPS 配置如下:

服务器在 Chicago 或 New Jersey
SolusVM 控制面板
256MB Guaranteed RAM
50GB 硬盘
250GB 带宽
2个 IP
5美元

需要同时设置 noatime 和 nodiratime 吗?

相信对性能、优化这些关键字有兴趣的朋友都知道在 Linux 下面挂载文件系统的时候设置 noatime 可以显著提高文件系统的性能。默认情况下,Linux ext2/ext3 文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间。因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将会显著提高磁盘 IO 的效率、提升文件系统的性能。Linux 提供了 noatime 这个参数来禁止记录最近一次访问时间戳。

给文件系统挂载的时候加上 noatime 参数能大幅提高文件系统性能:

# vi /etc/fstab

/dev/sda1        /             ext3     defaults,noatime,errors=remount-ro 0 0
devpts           /dev/pts      devpts   gid=5,mode=620             0 0
proc             /proc         proc     defaults                   0 0
/dev/sda2        swap          swap     defaults,noatime           0 0

修改设置后只需要重新挂载文件系统、不需要重启就可以应用新设置:

# mount -o remount /

# mount
/dev/sda1 on / type ext3 (rw,noatime,errors=remount-ro)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

网上很多资料都提到要同时设置 noatime 和 nodiratime,不知道这个结论来自哪里,其实不需要像设置 noatime 那样设置 nodiratime,最可靠的资料应该是源代码,VPSee 查了一下源代码,发现在内核源代码 linux-2.6.33/fs/inode.c 文件里有一个 touch_atime 函数,可以看出如果 inode 的标记位是 NOATIME 的话就直接返回了,根本就走不到 NODIRATIME 那里去,所以只设置 noatime 就可以了,不必再设置 nodiratime.

void touch_atime(struct vfsmount *mnt, struct dentry *dentry)
1405{
1406        struct inode *inode = dentry->d_inode;
1407        struct timespec now;
1408
1409        if (inode->i_flags & S_NOATIME)
1410                return;
1411        if (IS_NOATIME(inode))
1412                return;
1413        if ((inode->i_sb->s_flags & MS_NODIRATIME) && S_ISDIR(inode->i_mode))
1414                return;
1415
1416        if (mnt->mnt_flags & MNT_NOATIME)
1417                return;
1418        if ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))
1419                return;
...
1435}

xencon:€4.99 48MB Xen VPS

xencon

xencon 是家德国 VPS 服务商,2006年创立,前身是一家 IT 咨询和服务公司。网站上只翻译了部分英语,还保留大部分德语(虽然看上去像是可选的双语网站)。4.99 欧差不多是6.7刀,只有 48MB,挺贵的,来看看他们家的 VPS 为什么卖的贵?他们家的特点是每个 VPS 都像 dedicated server 可以通过 serial console 访问,就完全像是在本地 console 操作服务器一样。他们的 VPS 直接装在硬盘上(而不是文件镜像),可以选择多个文件系统 ext2, ext3 和 ReiserFS,他们除了一个公共 IP 外还提供一个内部 IP 供备份使用,内部网络传输是免费的不计带宽。反向 DNS 代理、外部防火墙、自制的控制面板和付费系统(技术比较强)、监测等,功能很丰富,这样看下来这个价格不算贵,唯一的问题是语言,很多页面都没有翻译成英语,很担心技术支持方面会有沟通问题。VPS 配置如下:

5GB 硬盘
48MB RAM, 512MB Swap
带宽每GB 0.61 欧元
1个 IP
4.99 欧元

服务器和网络信息:

Expert-server with Dual-CPUs and RAID-Systems, Top-notch network connection

BuildYourVPS:$9.75 512MB OpenVZ VPS

buildyourvps

BuildYourVPS 是来自美国 Oregon 的一家 VPS provider,正如其域名暗示的那样 “可以自己 build VPS”,按照他们提供的配置选项和面板可以配出很多款10美元以下的 VPS 来,最低配出来的一款 16MB RAM/0.5GB 硬盘/1GB 流量 的 VPS 只要1.75美元每月,差不多就是1个 IP 地址的价格,不过实际用处不大,1个最小安装的 Debian 启动后内存就占 20多 MB,16MB 的 burst 限制估计在系统启动前就被断掉了(他们用的是 OpenVZ,没有 Swap 可用)。这家 VPS provider 给了我们灵活的 VPS 配置选项,就像组装机一样可以自己配出满意的 VPS 来。BuildYourVPS 隶属 的 TOCICI 是家小公司,目前有24台服务器在做 OpenVZ VPS,大概托管几百个 VPS 吧。 他们的 VPS 配置很自由,其中一款配置如下:

5GB 硬盘
512MB RAM
50GB 带宽
1个 IP
9.75美元

数据中心信息:

TOCICI’s network is powered behind 30Gbps of pure Tier-1 bandwidth giving the lowest latency and jitter worldwide. Located within The Pittock Block, our building offers over 16 different fiber optic carriers ensuring low cost bandwidth pricing

TheSimpleHost:£7 128MB OpenVZ VPS

thesimplehost

TheSimpleHost 是家英国 VPS provider,2008年由几个拥有计算机学士学位的毕业生创建,旨在能提供 24/7 的服务,现在很多公司都称自己能 24/7,其实能做到的是只是很少数。不过就 128MB 的 OpenVZ VPS 来说,他们家的 VPS 卖得很贵,折合成美元差不多10.4美元,这可能是 VPSee 介绍的10美元 VPS 中最贵的一款吧(考虑到 VPS 的配置)。这可能和他们创业团队的人力成本有关,英国拥有计算机学士学位的毕业生可以很轻松找到2.5-5万英镑的工作,如果他们每人每年卖 hosting 的利润不超过3万英镑的话(那要卖多少个 VPS?)还不如关门出去工作呢,所以他们的产品价格理所当然就贵。这也是为什么在国外 hosting 行业有计算机专业学位的人不多的原因(哪怕是小本科),大部分人都是非专业人士在做 reseller. TheSimpleHost 还要面临全世界和各个行业的非专业人士的竞争,一个英国大学的计算机专业的毕业生卖 VPS 和一个菲律宾某某高中的在校学生卖 VPS 的成本真的不一样。VPS 配置如下:

服务器在 Frankfurt, Germany
5GB 硬盘
128MB RAM, 256MB Burst
50GB 带宽
1个 IP
7英镑

服务器和网络信息:

All our servers are a minimum of: AMD/Intel Quad Core, 4GB RAM, 2 x 250GB in Raid-1 (mirrored), 100 MBit Connection.

We currently utilise servers in Frankfurt, Germany on a 110GBit network spread over multiple providers. The providers are as follows, Level 3: 2x 10 GBit, Global Crossings: 2x 10 GBit, LambdaNet: 2x 10 GBit, Deutsche Telekom: 2x 10 GBit, DE-CIX: 2x 10 GBit, ECIX: 10 GBit

在 Debian 上安装和配置 Xen

SUN 每隔一段时间都会有一些服务器捐给大学、实验室、研究机构等。我们项目组就刚 “骗” 了几台免费的 Sun Fire 服务器,当然也和我们是 SUN(也许现在应该叫 Oracle)的长期客户有关,我们的服务器基本都是 SUN 的。现在只要新机器一进来就先虚拟化,虚拟化后才能上机柜,技术变化太快了,记得几年前我们买机器一上来首先装的是操作系统,现在 hypervisor 代替了操作系统。

首先最小化安装64位的 Debian,下面的安装步骤和配置过程基于 Debian 5.04 版本,CentOS 版本可以参看:在 CentOS 上安装和配置 Xen,Ubuntu 版本可以参看:在 Ubuntu 上安装和配置 Xen,OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen,NetBSD 版本参看:在 NetBSD 上安装和配置 Xen.

安装 Xen

检查一下 source list:

# vi /etc/apt/sources.list

deb http://http.us.debian.org/debian stable main contrib non-free
#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

安装 Xen 及相关工具:

# apt-get install xen-hypervisor-3.2-1-amd64 \
xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 \
xenstore-utils xenwatch xen-shell xen-tools

我们需要很多 loop devices 来挂载基于文件的虚拟机,所以需要把 loop device 的数目限制设成最大

# vi /etc/modules

loop max_loop=64

安装完 Xen 后,Debian 上的 Xen 的默认网络配置用的是 network-dummy,和 CentOS 上有点不一样,我们需要修改成 bridge 以便每个虚拟机都像一个独立机器一样运行在网络上:

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

#(network-script network-dummy)
(network-script network-bridge)

安装成功后,检查 Xen 内核是否已经装好,并给内核加上 dom0_mem=256M 限制 Xen Dom0 的内存,防止 dom0 把内存耗光:

# vi /boot/grub/menu.lst

...
title           Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.26-2-xen-amd64
root            (hd0,0)
kernel          /xen-3.2-1-amd64.gz dom0_mem=256M
module          /vmlinuz-2.6.26-2-xen-amd64 root=/dev/mapper/vpsee-root ro console=tty0
module          /initrd.img-2.6.26-2-xen-amd64
...

重启系统后检查一下是否是 Xen 的内核以及 Xen 是否启动:

# reboot

# uname -r
2.6.26-2-xen-amd64

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   256     2     r-----      9.3

创建和安装 guest

如果把正在运行的 Xen 内核的操作系统看成 host 的话,那么运行在 host 上面的操作系统就可以看成 guest。先建一个目录用来存放所有的 guest 操作系统的 image,vm01.img,vm02.img 等,1个 guest 对应1个 image。

# mkdir /vm

# xen-create-image --hostname=vm01 --size=10Gb --swap=512Mb --ide \
--ip=172.16.39.121 --netmask=255.255.254.0 --gateway=172.16.38.1 --force \
--dir=/vm --memory=512Mb --arch=i386 \
--kernel=/boot/vmlinuz-2.6.26-2-xen-amd64 \
--debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --password

可以根据需要调整 /etc/xen-tools/xen-tools.conf

进入 guest

安装成功后需要增加给对应的虚拟机器增加一个 Xen 配置文件以便 Xen 能启动这个虚拟机:

# vi /etc/xen/vm01

kernel      = '/boot/vmlinuz-2.6.26-2-xen-amd64'
ramdisk     = '/boot/initrd.img-2.6.26-2-xen-amd64'
memory      = '512'
root        = '/dev/xvda2 ro'
disk        = [
                  'file:/vm/domains/vm01/swap.img,xvda1,w',
                  'file:/vm/domains/vm01/disk.img,xvda2,w',
              ]
name        = 'vm01'
vif         = [ 'ip=172.16.39.121,mac=00:16:3E:C0:21:DE' ]
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

启动刚安装的 Debian 虚拟机后就可以登录了,

# xm create vm01
# xm console vm01

如果要退出 guest 的话,用 Ctrl + ],就会回到 host。

如果想每次启动 host 时自动启动 guest 的话:

# ln -s /etc/xen/vm01 /etc/xen/auto

更懒的办法

如果觉得安装 guest 操作系统太麻烦,可以到 http://stacklet.com/ 下载一个已经装好的镜像文件,调整 Xen guest 的配置文件,然后在 host 下启动 guest 镜像就可以了,这里这里有更详细的介绍。

增加 swap

如何给 guest 系统(domU)增加 swap,这里有介绍。

Ping 域名时 DNS 反向解析问题

中文吃饭的时候看到 Godaddy 事件居然上了 CNN,在美国国会听证会上,GoDaddy 的法律顾问说公司将停止在中国提供新的 .cn 域名注册(据说老的域名还可以继续使用)。不过关系不大,好像中国用户在 Godaddy 注册的 .cn 域名不到3万个。

昨天我们一个用户说他 ping godaddy 域名的时候间隔很长,我理解错了,以为是延迟很长,其实是每次 ping 后间隔时间很长,但是 ping 返回来的 time 值是正常的。这是因为 ping 的时候遇到 DNS 反向解析问题,默认情况下,当 ping 一个域名的时候,ping 从域名服务商得到域名的 IP 地址,然后 ping 访问这个 IP 并试图解析成一个名字,因为我们不提供 DNS 服务也没有 DNS 反向解析,所以导致 ping 需要等到 DNS time out 才返回,这样看上去 ping 回应很慢。

ping 是这样工作的:ping 有两个线程在执行,一个用来发包,一个用来收包和打印结果,发包的线程不停的发,没有问题,问题出在收包的线程,这个时候收包线程是被阻塞的(因为这个时候 DNS 反向解析不成功,一直要等到超时),所以收包线程要等到 DNS 超时后才打印出 ping 的结果,而这个时候结果是正确的,因为结果本来就是对的,只不过因为被阻塞而推迟了显示的时间而已,所以造成 ping 域名间隔很长的假象。如果用 ping -n 关闭掉 DNS 解析就不会有这种问题了,比如:

$ ping -n google.com

GoDaddy 计划停止在中国的域名注册服务

今天收到我们一个 VPS 用户的邮件,说他注册了一个 godaddy.com 域名绑定到他的 VPS 的时候发现 ping 域名回应间隔很长,而 ping IP 地址则没有问题,如果用 name.com 解析的话就没问题,问是不是 godaddy 的问题。以往我们注册域名后通常需要等约8到24小时才能完全生效(现在速度加快了),因为新的顶级域名提交到域名组织注册成功后,还需要经过全球根域名服务器 DNS 广播才可以使用,域名服务器是分布式的,需要一级一级通知,这个过程需要几个小时的延迟,并不是实时生效的。我刚开始也以为这位朋友的问题是因为新域名解析的原因,现在不确定和下面这条消息有没有关系。原因是 ping 和 DNS 反向解析问题

晚上回去打开电脑看新闻,被一条消息震了一下,华盛顿邮报报道说,“GoDaddy.com plans to stop registering domain names in China”,这是紧接着第一家响应 Google 的互联网公司,这将会对中国的 hosting 行业产生很大影响。Godaddy 是全球最大的域名注册商和 ICANN 的顶级域名代理服务商,托管了4000多万个域名,其中有 n 多的中国用户都在使用 Godaddy 的域名服务。不知道后续事态怎么发展,正密切关注中⋯⋯

在 Fedora 上安装 ns-2

最近一直在玩网络模拟与仿真,我们需要模拟几百个节点的 mesh network 做 VoIP 通信,然后修改一些 VoIP 协议和算法,并在模拟器上对修改后的协议进行测试和比较,看看性能有没有提升或者下降。模拟完成后,我们将会用 Linksys WRT54GL 架设真实 mesh network,并通过修改 OpenWrt 固件把新的协议应用到真实 mesh network 中,看看有什么变化和区别。前段时间我们试用了 NCTUns,一个台湾交通大学开发的网络模拟软件。这几天我们主要在关注 ns-2,一个由加州伯克利大学开发的网络仿真平台,也是目前的主流开源网络模拟平台。

安装必备软件包

# yum install autoconf automake gcc-c++ libX11-devel xorg-x11-proto-devel \
libXt-devel libXmu-devel

下载和安装 ns-2

要下载和安装的模块很多,最简单的方式就是下载 all in one 版本,所有模块都包括:

$ wget http://www.isi.edu/nsnam/dist/ns-allinone-2.34.tar.gz
$ tar zxvf ns-allinone-2.34.tar.gz
$ cd ns-allinone-2.34
$ ./install

安装过程很顺利,不需要有什么 trouble shooting,安装完后修改环境变量:

$ vi /home/vpsee/.bashrc

# LD_LIBRARY_PATH
OTCL_LIB=/home/vpsee/ns-allinone-2.34/otcl-1.13
NS2_LIB=/home/vpsee/ns-allinone-2.34/lib
X11_LIB=/usr/X11R6/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB

# TCL_LIBRARY
TCL_LIB=/home/vpsee/ns-allinone-2.34/tcl8.4.18/library
export TCL_LIBRARY=$TCL_LIB

# PATH
PATH=$PATH:/home/vpsee/ns-allinone-2.34/bin: \
/home/vpsee/ns-allinone-2.34/tcl8.4.18/unix: \
/home/vpsee/ns-allinone-2.34/tk8.4.18/unix

运行 ns-2

到 http://nile.wpi.edu/NS/ 下载一个简单的例子 ns-simple.tcl,然后在命令行下用 ns2 运行这个脚本:

$ ns2 ns-simple.tcl

成功运行后界面如下:

ns2

Cloud VPS Hosting:$7.95 128MB Cloud VPS

cloudvpshosting

Cloud VPS Hosting 提供 Cloud VPS,现在什么都 Cloud 了,云计算、云存储、公有云、私有云、云杀毒,现在还出来个云 VPS,就网站上介绍的来看估计是虚拟技术+high availability(高可靠),一台服务器 down 了另外一台马上接上,不清楚他们家用的是什么虚拟技术,猜测是 VMware 的云计算解决方案。除了 VPS,他们家还做服务器托管,网站上有他们数据中心的图片和视频。域名是今年1月刚注册的,好像与另一家托管公司 tshost.com 有关联。VPS 配置如下:

数据中心在 Atlanta
5GB 硬盘
128MB RAM
75GB 带宽
1个 IP
7.95美元

没有服务器信息。