让 Xen dom0 得到足够 CPU 处理 IO

默认情况下 Xen 使用的是 Credit-Based CPU Scheduler,一种基于权重的 CPU 调度算法。简单的说就是给每个虚拟机的 CPU 一个权重,权重多的得到和使用物理 CPU 的时间就会多,如果虚拟机1的 CPU(VCPU 1.0)权重是256,虚拟机2(VCPU 2.0)的权重是512,那么虚拟机2的 VCPU 2.0 得到物理 CPU 的使用时间就是虚拟机1的2倍。

Xen 给每个虚拟机(包括 dom0 和 domU)分配的默认权重都是 256,也就是说 Xen 上运行的所有 guest 操作系统,dom0 和 众多 domU 都是均分和共享 CPU 的,他们能得到 CPU 的时间和机会都是一样的。这看上去对虚拟机用户(domU)来说很公平,但这种大锅饭的方法对 dom0 来说可不合适,dom0 承担着艰巨的任务,要处理来自其他 domU 的 IO 请求,如果都平均享用 CPU 的话就会造成 dom0 常常因得不到足够的 CPU 时间而不能及时处理自己或来自 domU 的 IO,所以在各虚拟机 IO 负载重的情况下我们需要修改 dom0 的权重,以便它能及时处理 IO. IO 这个问题很重要,一旦 IO 处理不及时,所有虚拟机的 IO 都会等待,将会影响所有虚拟机用户。这也是为什么我们不提供 64MB VPS 的一个原因,64MB VPS 用户会明显感到内存不足,系统会大量频繁 swapping,大量 disk IO 请求会影响服务器整体性能和所有其他用户。可以在这篇:64MB 的 VPS 能支持多少访问量?看到 128MB 的 swap 就用了 75MB.

查看当前 dom0 的 CPU 权重:

# xm sched-credit -d Domain-0
{'cap': 0, 'weight': 256}

修改 dom0 的 CPU 权重:

# xm sched-credit -d Domain-0 -w 512

# xm sched-credit -d Domain-0
{'cap': 0, 'weight': 512}

BreezeHOST:$2.98 256MB OpenVZ VPS

breezehost

BreezeHOST 是家英国 VPS provider,2009年3月创立的,现在在 WHT 上打出半价优惠,使用优惠码:thebig10 就可以终身优惠50%,原价5.95美元的 VPS 只要$2.98,10美元的只要$5,还免费送一个叫做 ClixCP 的控制面板(没听过,不知道是什么东东,有个网友指出其实就是 SolusVM)。不过 WHT 和 LowEndBox 上有很多人抱怨他们的 VPS 服务慢,还有网友抱怨 BreezeHOST 的系统管理员什么也不懂(以下评论摘自 lowendbox.com):

Pat wrote:
After I had a “talk” with their “Server Administrator” I now just hope he is not! Otherwise we are all screwed lol He has no idea about anything (well maybe about some things, but I highly doubt he is able to run servers in a way they should) So basically: Don’t expect anything, really and especially no support, it’s a lost bet right from the start..

yegle wrote:
Well…I found my account registered and payed yesterday now is gone.
I cannot login to my.breezehost.net, neither can I reset my password.
It’s totally a bullshit.

darky4 wrote:
Ordered an clixpro-1 about 10 hours ago – still waiting…

king wrote:
i still haven’t get my vps. i login to SolusVM but no virtual server there. i sent email. but no reply.

鉴于太多的负面评论,VPSee 不推荐这家 VPS provider,在这里拿出来是想做反面教材,在购买 VPS 之前要认真调查:1、不能贪图便宜(购买其他东西一样,不能用奇瑞的价格买宝马);2、要看这家公司背后的技术实力怎么样;3、看一下这家公司的业务跑了多长时间,尽量避免一些 “新” 的 VPS provider.

VPS 配置如下:

ClixPro-1 ClixPro-2
256MB Guaranteed RAM 512MB Guaranteed RAM
10GB 硬盘 20GB 硬盘
500GB 带宽 1000GB 带宽
$5.95 $10

服务器信息:

BreezeHost Virtual Private Server nodes are powerful and underloaded with at least 12GB DDR2 RAM on a Intel Xeon Nehalem processor architecture to excel your VPS.

随机生成 Xen 虚拟机的 MAC 地址

如果不在创建 Xen 虚拟机(domU)的时候指定 MAC 地址的话,Xen 就会随机生成一个 MAC 地址给虚拟机,这样管理员就没办法知道虚拟机的 MAC 地址了,不利于以后带宽的统计和虚拟机的管理,所以最好就在 Xen 虚拟机配置文件中直接指明虚拟机的 MAC 地址,比如:

# vi /etc/xen/vpsuser1
vif = [ "mac=00:16:3e:0c:11:53,ip=172.16.16.200,bridge=xenbr0" ]

IEEE OUI 为 Xen domU 保留了一段 MAC 地址,前3段是 “00-16-3e”,后3段是随机的,其中第1个随机段的第1个 bit 是0(IEEE OUI 给 VMware 保留的前3段地址是 “00-0c-29”,后3段随机)。我们在为用户分配 MAC 地址时候不想有规律的分配(虽然也不会有什么安全问题),所以 VPSee 写了一个简单的 Python 脚本用来随机生成符合 Xen 虚拟机标准的 MAC 地址:

#!/usr/bin/python 
# generates a MAC address for Xen domU
# http://www.vpsee.com
#

import random

mac = [ 0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), 
random.randint(0x00, 0xff), random.randint(0x00, 0xff) ]
s = []
for item in mac:
        s.append(str("%02x" % item))
print ':'.join(s)

VPSEU:£3.75 256MB Xen/OpenVZ VPS

vpseu

VPSEU 是家英国的 VPS provider,服务器放却在德国,去年12月份才注册域名,这个域名和 vpsee.com 好像,只差一个字母~~,他们家有 Xen 和 OpenVZ 两种 VPS 可选,配置和价格都是一样的。根据 WHT 上的广告,使用优惠码:MARCHPRO50 可以永久优惠50%,只要3.75英镑,索罗斯和一帮人最近正在狙击英镑,估计英镑会重蹈92年的惨败,有兴趣的朋友在英镑大跌后入手他们家的 VPS 就更划算了。VPS 配置如下:

服务器在 Frankfurt, Germany
SolusVM 控制面板
15GB 硬盘
256MB Dedicated RAM,
100GB 带宽
1个 IP
3.75英镑

服务器配置如下:

2 x Quad Core, 12GB DDRII RAM, 4 X 500 GB HDD , RAID10 Storage (4 X 500 GB HDD)

TheVPSNode:$5.95 512MB OpenVZ VPS

thevpsnode

TheVPSNode 来自澳大利亚,第一眼看这个配置就让人感觉是 BurstNET 的 reseller,域名6个月以前才注册,网站还在建设中。作为 BurstNET 的 reseller,价格和 BurstNET 一样、服务器也是用人家的很难竞争过 BurstNET,除非在服务附加值上下功夫,比如 BurstNET 不会中文,要是某个 reseller 能提供中文技术服务、支付宝付款什么的应该还是不错的,不知道国内做 VPS 的朋友有没有做这项服务的。VPS 配置如下:

vePortal 控制面板
20GB 硬盘
512MB RAM, 1GB Burst
1000GB 带宽
2个 IP
5.95美元

没有服务器信息。

如何使用我们的 VPS 控制面板?

我们在 VPS 升级计划里提供控制面板选项,我们提供一个简单的 VPS 控制面板供用户启动、重启、关闭、登陆自己的 VPS,查看 VPS 流量等几个有限操作。因为价格和技术原因我们不提供看似强大的商业控制面板,具体原因可以看购买 VPS 的常见问题。我们尽力保持 dom0 运行在一个简洁、干净、安全的环境中,我们的 host 只做 hypervisor,只运行最必要的程序,这样可以节省系统资源并充分应用到正在上面运行的 VPS(domU)虚拟机。

如何登陆和使用我们的控制面板呢?为了安全考虑以及避免精力旺盛的人做 brute force 猜测密码的事情,我们提供一种更安全(可能更麻烦)的登陆控制面板的方式。

首先需要在你机器上生成你的 ssh public key 并发给我们(如果你用的是 Windows,可以用 puttygen 生成 key,用 putty 登陆 ssh 服务器。):

$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

$ cat ~/.ssh/id_rsa.pub

然后等待我们的回复,我们会尽快发给你一个包含服务器地址、端口号、账号的邮件,收到邮件后你就可以用 ssh 登陆我们的控制面板了(下面的2012 是 SSH 服务器的端口号):

$ ssh -p 2012 [email protected]
Enter passphrase for key '/home/vpsuser1/.ssh/id_rsa':

登陆后界面如下:

vpsee vps shell

Sentris:$9.95 124MB VPS

sentris

Sentris 创立于1997年,老牌 hosting 公司,他家的 dedicated server 比较有名,他们也出 VPS,不知道是 Xen 还是 OpenVZ 的,价格较贵,还有少见的10美元的 setup fee,一台物理服务器上放10个 VPS,不超卖,每个 VPS 带个简单的控制面板,可以自己重启、重装什么的。去年7月份的时候 Sentris 的很多服务器都 down 了,很多客户都受到影响,不过不能因此就说 Sentris 很烂,他家的 dedicated server 做的还是不错地。服务器 down 的事情还是看淡一点,Rackspace 去年还接连 down 了两次呢(第1次第2次)。VPS 配置如下:

数据中心在 Seattle
10GB 硬盘
124MB RAM
100GB 带宽
2个 IP
9.95美元

没有服务器信息。

解决 Linksys WRT54GL 刷固件问题

周末忙着为大家开通 VPS,谢谢大家的信任,虽然 VPSee 在购买须知里面推荐大家月付的方式付款,但是大家都是选择的两月付或半年付,对一个刚出炉的 VPS provider 来说是一个极大的鼓舞啊~~大家 “抱怨” 流量小主要是因为我们保留了大量流量来做备份,经过仔细考虑后我们决定把所有 VPS 流量增加一倍,已经购买的朋友不用担心、我们已经邮件通知了并且你们的 VPS 已经免费升级到了最新的流量,相信你们不会拒绝:)

上周收到一个被损坏的 Linksys WRT54GL,说是硬件都是好的,就是不能刷固件,用电脑连上路由器后不能 ping 通,所以也没办法进入路由器操作界面刷固件。还好,网上关于 Linksys WRT54GL 的资料很多,很容易就找到一篇 The Wrt54g Revival Guide,根据教程把 Linksys WRT54GL 拆开以后找到 flash 芯片,然后找到它的15和16脚线,用一个螺丝刀插在15和16脚线中间(接触一下就可以了),然后接上电源连接网络后就应该可以 ping 通,最后用 tftp 上传固件就可以了:

$ cd Tomato_1_27
$ tftp 192.168.1.1
tftp> bin
tftp> put WRT54G_WRT54GL.bin

Linksys WRT54GL 的内部是这个样子的:

inside linksys wrt54gl

在操作的时候双手腾不出来,没办法自拍,下面的图片直接取自 The Wrt54g Revival Guide

short linksys wrt54gl

VPSee:$8 256MB Xen VPS

vpsee

VPSee 从2009年2月开始为非盈利组织和开源社区提供闭门 VPS 服务,更多背景信息可以看关于。平时用惯了别人10美元的 VPS 不觉得,等到自己提供 VPS 服务的时候才发现要把 VPS 做好还真不容易,可靠的数据中心,稳定的服务器,可靠的网络、硬盘,备份系统,不能超卖,好的技术支持,价格因素等都要考虑到。VPSee 采用裸 VPS 和按需付费的策略,就是说我们提供一个最低要求(价格)的 VPS 满足最低需求,如果需要更多的功能可以通过升级计划来逐步满足。这样就不必购买那些不需要的功能,如果冬天不开空调那为什么要浪费钱购买冬夏两用的空调呢。同样的道理,如果不需要很多硬盘、流量、内存、备份、服务的话为什么要额外付费呢?一些 Linux 老手只要知道 IP 地址和 root 密码就可以通过 ssh 完全控制 VPS,不需要更多工具,那为什么要给控制面板付费呢?嗯,这就是我们的策略,我们鼓励你只买需要的。有兴趣的朋友可以看看联系方式、购买流程、常见问题、VPS 升级计划、其他配置的 VPS 等详细信息。10美元以下的 VPS 有下面两款:

Xen 128 Xen 256
128MB RAM 256MB RAM
256Mb Swap 512Mb Swap
5GB 硬盘 10GB 硬盘
80GB 流量 160GB 流量
6美元 8美元

服务器信息:

AMD Opteron 2.2GHz Dual Core, 4GB RAM, 2×250GB SATA Disk + RAID1.

在 Fedora 上安装 NCTUns

NCTUns 是由台湾交通大学开发的一种网络模拟与仿真软件,类似的网络模拟器还有 NS2 等。使用 NS2 需要会一些 tcl 脚本,NCTUns 则简单多了,图形界面、用鼠标拖拖就可以做简单的模拟。最近要做 mesh network 方面的模拟,需要用到这个工具。目前 NCTUns 官方只支持 Fedora 版本的 Linux,虽然也有人在 Ubuntu 上成功安装过,不过为了减少麻烦,VPSee 还是从 Fedora 12 开始。

安装必备软件包

更新系统、安装必要软件包:

# yum update
# yum install gcc gcc-c++ make mkinitrd

编译和安装 NCTUns

下载 NCTUns-allinone-linux-2.6.31.6-f12.20100113.tar.gz,解开并运行安装程序:

# tar zxvf NCTUns-allinone-linux-2.6.31.6-f12.20100113.tar.gz
# cd NCTUns-6.0/
# sh install.sh

编译正在进行,如果中途遇到下面问题,则需要安装 readline-devel 和 ncurses-devel:

/home/vpsee/NCTUns-6.0/tools/misc/nctuns-tcsh/ed.screen.c:673: undefined reference to `tgetstr’
tc.func.o: In function `dotermname’:
/home/vpsee/NCTUns-6.0/tools/misc/nctuns-tcsh/tc.func.c:2308: undefined reference to `tgetent’
collect2: ld returned 1 exit status
make: *** [tcsh] Error 1

ERROR: configure or make failed…

# yum install readline-devel ncurses-devel

重新运行安装程序:

# sh install.sh

必须重新启动系统选择 NCTUns (2.6.31-nctuns20091227) 内核启动:

# reboot

运行

重启后运行 NCTUns 会出现下面问题:

$ /usr/local/nctuns/bin/nctunsclient
/usr/local/nctuns/bin/nctunsclient.bin: error while loading shared libraries: 
libqt-mt.so.3: cannot open shared object file: No such file or directory

需要修改 .bashrc 配置文件:

$ vi .bashrc
export NCTUNSHOME=/usr/local/nctuns
export NCTUNS_BIN=/usr/local/nctuns/bin
export NCTUNS_TOOLS=/usr/local/nctuns/tools
export LD_LIBRARY_PATH=/usr/local/nctuns/lib

再次运行 nctunsclient:

$ /usr/local/nctuns/bin/nctunsclient

启动成功后就会看到如下界面:

nctuns