HANIX
Hanix aims at Apps of uNIX
最新日志 

Advertisement

Customize
15th-Sep-2009 11:50 am - kvm中的base_image妙用
转载自http://www.linux-kvm.com/content/be-more-productive-base-images-part-1[23]

There are some useful ways in which you can use qemu base images to build template virtual machines. If used wisely you can save yourself from ever having to install the same OS more than once. The main thing that you should be aware of when using base images is the dependency between images but once managed properly, you can save yourself a lot of time.


Qemu/KVM base images

Base imaging was inherited from the qemu userspace component as an added feature of kvm. The idea behind the base image is simple. You build a disk image as you would build a normal image. You then build a new image using the first image as your base image, also known as the backing file. From this point on, kvm will only read from your base image (backing file). If anything needs to be written to your image, kvm will only write to the new image. It is, in effect, similar to a diff where all new data is written only to the new image while preserving the state of your backing file. As a sideffect, your working image will be the same size as your base image. This is where the qemu copy on write term came from.


Building your base image

Your base image should be based on a template disk image that is a practical starting point for your needs. Personally I like to start with a base image that is at a state right after a fresh install; no patches, no applications, just the state of the machine right after installation and registration of the OS if it requires registration. You would start by using the usual qemu-img command as you normally would for creating your base image. For example, to install your base image for a windows xp base image you would create the image with the following command.

qemu-img create -f qcow2 windows-master.qcow2 10G

This image will be your base image. Once your image is created you boot the image and install the OS as you normally would with a command similar to the following:

qemu-system-x86_64 -hda windows-master.qcow2 -m 512 -boot d -cdrom /home/user/isos/en_winxp_pro_with_sp2.iso

Install your OS to completion and back up this image immediately. This is your new base image and you will not have to ever boot this image in life again.


Create a new image from your template base image

Now that you have your base image you are ready to install a new image from this template. You would create your new image with the following command using the –b flag.

qemu-img create -b windows-master.qcow2 -f qcow2 windows-clone.qcow2

This will create a new copy-on-write image called windows-clone.qcow2 which uses your original windows-master as your template base image. You don’t need to specify a filesize with this command as it will automatically set your new image to the same size as your base image. At this point run the following command on your new image and note the size of your new image.

# qemu-img info windows-clone.qcow2

image: windows-clone.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 56K
cluster_size: 4096
backing file: windows-master.qcow2 (actual path: windows-master.qcow2)

Note the size of your new image is 10G , the size of your original base image and note how small your image is, 56 k. At this point, your new image is basically a clone of your base image and dependent on your base image being in the same state it was at the time your clone was created. For this reason, you should try to never boot your base image again as some data may be inadvertently be written to disk causing some inconsistencies. Boot up your new clone image with a command similar to the following

qemu-system-x86_64 -hda windows-clone.qcow2 -m 400

You new clone will boot up and you will see that it is a perfect clone of your original base image. As you install patches, applications and write data to your new image you can see it growing in size but your base image will always remain unchanged from it’s original state. You can use the qemu-img command to verify this. Try installing some applications on your new clone then run the following commands on both your base image and your new clone.

# qemu-img info windows-master.qcow2
# qemu-img info windows-clone.qcow2

You will see that your clone image is growing and your base image has remained the same size.


What next?

Using base images , you should never have to install your operating systems again after the first install. Perform your experiments on your new clone; if something goes wrong, simply delete your clone and recreate another clone. You can also have multiple clones running off of one base image without any problems.

Now that you know how to build a base image and images hanging off of your base image, the next thing that you will want to do is “rebasing” your images. For the next post in this series, I’ll walk through how you can rebase your new image to build new up to date base images for cloning.



In the first part of this series about using base images to be more productive, I discussed how you can use base images to build template disk images from which you can create copy on write clones. As a natural follow up to creating your clones, at some point you’ll want to update your base images with patches or applications that is a better starting point for a clone. Regardless of how well you planned your base images, you may find that you need to update your base images to minimize additional installation on your clones. You can achieve this by “rebasing” your disk images.


What is Rebasing?

Simply put, rebasing is the process of merging your current clone with your base image to create a new base image file that is completely different and independent from your original base image. You new base image will not have any dependency on your original base image and can be used for creating new clones. I think it’s good idea to always keep a base image with a pure install and additional rebased images for different purposes. For example, in a desktop environment one rebased image can be used for marketing department, another for customer service etc all built by merging different clones with an original single install base image. Rebasing can save you loads of time.


Creating your first rebased image

Now that you understand what a rebased image is, let’s create one. I’ll use the same image names from the first part of the series for continuity. In order to rebase your image you only need to issue one single command. The command follows.

qemu-img convert windows-clone.qcow2 –O qcow2 windows-marketing.qcow2

That’s it. Your windows-marketing.qcow2 will be a new base image completely independent from the original base image (windows-master.qcow2) used to create windows-clone.qcow2. It will be a merge of the windows-clone.qcow2 and the original windows-master.qcow2 images from the original post. This means that even if you destroy your windows-master.qcow2, your new rebased image will not be affected since there’s no dependency.


Summary

You now know what a rebased image is and how to create one. It only involves running a single command. Rebasing images can save you time by allowing you to create repurposed base images that you can use to deploy quickly and easily. In the next and last part of the series , I’ll explore another option recently added to qemu-img and how it might be used.



There’s a lesser known option that was added fairly recently to kvm-71 as an addition to the qemu-img command. It allows you to create a copy on write image while using the convert option. This option will probably not be as useful as basing images and rebasing images but it should at least be an option that you’re aware of. It’s a new b argument for creating copy on write images from base images while converting formats.


The syntax

The syntax for the new argument when using the convert parameter with qemu-img is as follows:

qemu-img convert -O qcow2 -B master-windows2003-base.qcow2 master-windows2003.qcow2 final.qcow2

Note the –B argument which tells qemu-img that the newly created image (final.qcow2) will be a copy on write image of the specified base image (master-windows2003-base.qcow2). What you’re basically saying is convert master-windows2003.qcow2 to final.qcow2 and let this converted image be a copy on write of the image specified by the –B argument. This essentially means that the master-windows2003.qcow2 and master-windows2003-base.qcow2 should have the same content but they may differ in location, format etc.


If you do a qemu-img info you’re your final.qcow2 image, it looks like the following.

qemu-img info final.qcow2

image: final.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.2G
cluster_size: 4096
backing file: master-windows2003-base.qcow2 (actual path: master-windows2003-base.qcow2)

Note that unlike copy on write images as described previously, these copy on write images are actually the same size as the backing file and actually take some time to convert.


Summary

This concludes the short series on base images. In Part 1 and Part 2 of this series you’ve seen how to create images from base templates and rebasing your disk images. In this post, you’ve seen the new optional argument for the qemu-img command and how it might be used. You’ll probably not find yourself using this option very much but I think it’s always good to know your options. Personally, I can’t think of how I might use this option very much as it doesn’t really save much disk space or time and in that case I would probably opt for just a straight conversion. In any case now you know.
由于web代码部署,在服务器端的实现相对仍然是比较复杂的,说复杂是由于下面几个原
1、web服务器如果较多,代码的分发需要采用异步方式
2、异步的话,如何通知用户代码‘真正’的部署成功了
3、如果有web服务器部署失败,那么用户的代码实际上处于不一致状态,如何回滚

这些问题如果都亲自实现,实现的复杂度还是比较高的,而且没那么好实现,特别是代码的回滚。在分布式环境中,一致性问题是一直比较艰巨。

所以有了用nfs服务器保存web代码的想法。

nfs的优点
1、服务稳定,nfs协议经过了若干年的发展,非常可靠
2、服务端的io如果高,会引发nfs客户端大量阻塞,进而造成大面积宕机
3、有时候nfs客户端到服务器端的网络如果抖动,也都会造成很严重的后果。

基于上述原因,一般在存储解决方案中,对于大型网站,一般都尽量避免nfs的挂载。

fs-cache/cachefs
如果在客户端能够大量缓存服务器端的文件,那么读压力就可以消除了。代码的部署实际上写压力并不大,只要很好地控制好,该方案还是可行的。

实验
服务器端:
/etc/init.d/portmap start
/etc/init.d/nfs start
/etc/init.d/rpcidmapd start

[root@vm0000154 vol2]# cat /etc/idmapd.conf
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody

[Translation]
Method = nsswitch

[root@vm0000154 vol2]# cat /etc/exports

/data1/nfs4 10.0.0.0/8(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=99,anongid=99)

客户端:
内核中需要nfs需要支持fscache
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
CONFIG_FSCACHE_DEBUG=y
CONFIG_CACHEFILES=m
CONFIG_CACHEFILES_DEBUG=y
CONFIG_CACHEFILES_HISTOGRAM=y
CONFIG_NFS_FSCACHE=y
CONFIG_AFS_FSCACHE=y

安装cachefilesd程序
http://people.redhat.com/~dhowells/fscache/cachefilesd-0.9.tar.bz2

# cat /etc/cachefilesd.conf
dir /var/cache/fscache
tag mycache
brun 10%
bcull 7%
bstop 3%
frun 10%
fcull 7%
fstop 3%

启动cachefilesd
#/sbin/cachefilesd

fscache 需要user_xattr属性支持
#mount -o remount,rw,user_xattr /var

挂载nfs4服务
#mount -t nfs4 -o fsc,rw,intr 10.210.141.160:/vol2 /mnt/nfs4
10th-Jul-2007 04:06 pm - 庆祝lj可以访问
好久不来这里了。


LJ终于可以访问了,自己发帖庆祝一下。
20th-Apr-2007 04:23 pm - 系统负载奇怪升高 [loadavg]
这两天,系统的负载一直在30左右,但是查看了cpu,内存,io,网络,负载都非常的轻。到底什么原因?

用ps ax查看,发现系统中有许多处于D+状态的sendmail进程,这些进程都处于不可中断的状态。数了一下,大致也在30个左右。

再分析sendmail进程为什么会处于D+状态?

到/var/spool/目录下,发现clientmqueue和mqueue下有大量的小文件,这个时候只要有进程作用于这两个目录,都有可能导致不可中断(D+),包括rm命令。


系统负载的计算方法:
过去1m/5m/15m时间内,平均等待的进程数。

所以有多少个D+状态的进程,系统负载就会升到多少。
12th-Apr-2007 04:22 pm - linux做nat网关 [gateway, iptables, nat]
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/rmmod ipchains
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprboe ip_nat_ftp
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F POSTROUTING -t nat
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.8.0/24 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -s 192.168.8.0/24 -j ACCEPT
11th-Apr-2007 01:51 pm - Linux下在vmware中添加新的vmnet
在Linux 下,有时为了做一些网络方面的测试,就需要启用多个网段进行实验。
默认情况下,vmware提供了vmnet0/vmnet1/vmnet8,但是如果你想使用更多的网段,该怎么办?

方法其实很简单,就是修改/etc/vmware/locations文件,在文件开头:
answer NETWORKING yes
answer VNET_0_INTERFACE eth0
answer VNET_8_NAT yes
answer VNET_8_HOSTONLY_HOSTADDR 192.168.63.1
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_HOSTADDR 192.168.95.1
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0

添加其他的vmnet。如果需要nat服务,就定义成 answer VMNET_9_nat yes,如果不需要nat,则直接添加:
answer VNET_2_HOSTONLY_HOSTADDR 192.168.64.1
answer VNET_2_HOSTONLY_NETMASK 255.255.255.0

/etc/init.d/vmware restart
后,就能发现/dev/vmnet2已经存在了,并且
ifconfig后
也能发现新的vmnet2接口了。
9th-Apr-2007 06:23 pm - openVPN配置
一、内核驱动
tun/tap支持。
Device Drivers->Network device support->Universal TUN/TAP device driver support
IP forward support/enable routing:
echo 1 > /proc/sys/net/ipv4/ip_forward
4th-Apr-2007 04:42 pm - kvm, xen, vmware
这三个虚拟机目前在一个linux内核下没法共存,只能用一个。

要都支持的话,就需要编译三个不同版本号的内核。

今天在2.6.20下编译vmware时,可以编译过去,但是插入模块时,报错:
vmmon: Unknown symbol paravirt_ops

查了一下,发现是CONFIG_PARAVIRT=y引起,但是kvm是需要它的。
2nd-Apr-2007 03:36 pm - 世界各国2006GDP排名(zz) [gdp]
2005年世界人均GDP排名/2006年世界各国的GDP

1 卢森堡 69,056
  2 挪威 53,465
  3 瑞士 49,246
  4 爱尔兰 46,335
  5 丹麦 45,015
  6 冰岛 44,133
  7 美国 42,076
  8 瑞典 38,451
  9 英国 36,977
  10 日本 36,486
  11 奥地利 35,861
  12 荷兰 35,393
  13 芬兰 35,242
  14 比利时 34,081
  15 卡塔尔 33,586
  16 法国 33,126
  17 德国 33,099
  18 加拿大 32,073
  19 澳洲 29,761
  20 意大利 29,648
  21 新加坡 25,176
  22 西班牙 24,627
  23 香港 24,581
  24 新西兰 23,276
  25 阿拉伯联合酋长国 20,960
  26 科威特 19,288
  27 塞浦路斯 19,008
  28 希腊 18,995
  29 巴哈马 18,190
  30 斯洛文尼亚 17,660
  31 荷兰属地 17,435
  32 以色列 16,987
  33 葡萄牙 16,658
  34 韩国 14,649
  35 汶莱 14,366
  36 台湾 13,926
  37 巴林 13,764
  38 马耳他 13,144
  39 安提瓜和巴布达 11,790
  40 匈牙利 10,896
  41 沙特阿拉伯 10,795
  42 巴布达 10,747
  43 捷克 10,708
  44 阿曼 10,292
  45 特立尼达和多巴哥 10,117
  46 塞舌尔群岛 8,892
  47 爱沙尼亚 8,885
  48 圣基茨和尼维斯 8,546
  49 斯洛伐克 7,963
  50 克罗地亚 7,764
  51 立陶宛 6,796
  52 墨西哥 6,566
  53 波兰 6,373
  54 赤道几内亚 6,235
  55 拉脱维亚 6,150
  56 智利 5,742
  57 博茨瓦纳 5,713
  58 黎巴嫩 5,434
  59 毛里求斯 5,421
  60 利比亚 5,317
  61 加蓬 4,911
  62 巴拿马 4,806
  63 俄国 4,750
  64 马来西亚 4,701
  65 格林那达 4,692
  66 土耳其 4,637
  67 格斯达里加 4,484
  68 阿根廷 4,132
  69 伯利兹 4,120
  70 圣卢西亚岛 4,095
  71 委内瑞拉 4,014
  72 南非 3,886
  73 乌拉圭 3,874
  74 多米尼加 3,772
  75 圣文森特和格林纳丁斯 3,719
  76 保加利亚 3,325
  77 巴西 3,311
  78 罗马尼亚 3,277
  79 卡扎克斯坦 3,185
  80 突尼斯 3,052
  81 牙买加 3,003
  82 白俄罗斯 2,992
  83 塞尔维亚和黑山共和国 2,820
  84 泰国 2,807
  85 苏里南 2,785
  86 土库曼 2,784
  87 伊朗 2,608
  88 阿尔及利亚 2,601
  89 马其顿共和国 2,570
  90 阿尔巴尼亚 2,434
  91 秘鲁 2,379
  92 马尔代夫 2,355
  93 纳米比亚 2,333
  94 汤加 2,226
  95 斐济 2,199
  96 厄瓜多尔 2,168
  97 波斯尼亚和黑塞哥维那 2,167
  98 佛得角 2,161
  99 哥伦比亚 2,119
  100 萨尔瓦多 2,063
  101 斯威士兰 2,043
  102 多米尼加共和国 2,014
  103 乔丹 1,988
  104 危地马拉 1,966
  105 萨摩亚 1,821
  106 中华人民共和国 1,703(2005)
  107 乌克兰 1,589
  108 安哥拉 1,580
  109 摩洛哥 1,576
  110 瓦努阿图 1,440
  111 刚果共和国 1,401
  112 叙利亚 1,386
  113 阿塞拜疆 1,237
  114 巴拉圭 1,170
  115 玻利维亚 1,137
  116 埃及 1,118
  117 印度尼西亚 1,093
  118 菲律宾 1,084
  119 洪都拉斯 1,062
  120 斯里南卡 1,052
  121 圭亚那 1,035
  122 佐治亚 927
  123 亚美尼亚 868
  124 卡麦隆 860
  125 象牙海岸 859
  126 不丹 859
  127 吉布提 822
  128 尼加拉瓜 794
  129 基里巴斯 768
  130 塞内加尔 745
  131 摩尔多瓦 665
  132 巴布亚新几内亚 660
  133 印度 652
  134 海地 650
  135 苏丹 643
  136 比宁 583
  137 巴基斯坦 577
  138 乍得 567
  139 科摩罗 554
  140 也门 553
  141 蒙古 547
  142 莱索托 546
  143 所罗门群岛 534
  144 越南 528
  145 尼日利亚 528
  146 肯尼亚 489
  147 赞比亚 461
  148 毛里塔尼亚 452
  149 加纳 451
  150 马里 435
  151 布基纳法索 424
  152 老挝 421
  153 孟加拉国 418
  154 吉尔吉斯斯坦 413
  155 东帝汶 400
  156 乌兹别克斯坦 376
  157 基尼 375
  158 圣多美及普林西比 372
  159 多哥 357
  160 中非共和国 356
  161 柬埔寨 327
  162 坦桑尼亚 323
  163 乌干达 296
  164 莫桑比克 294
  165 冈比亚 284
  166 津巴布韦 277
  167 塔吉克斯坦 275
  168 尼日尔 273
  169 马达加斯加 263
  170 尼泊尔 246
  171 塞阿里昂 207
  172 几内亚比绍 204
  173 卢旺达 189
  174 马拉维 174
  175 厄立特里亚 157
  176 缅甸 135
  177 民主党刚果共和国 122
  178 埃塞俄比亚 121
  179 布隆迪 103

2006年世界各国的GDP

名次--经济体-----------国内生产总值---------面积-----------人口----------人均GDP--

01----美国--------132216.85亿美元--面积--982.66万Km2--人口--30053万--人均-43995美元
02----日本---------49113.62亿美元--面积---37.78万Km2--人口--12746万--人均-38533美元
03----德国---------28582.34亿美元--面积---35.70万Km2--人口---8242万--人均-34679美元
04----中国---------26847.05亿美元--面积--959.70万Km2--人口-131457万--人均--2042美元
05----英国---------23413.71亿美元--面积---24.48万Km2--人口---6060万--人均-38636美元
06----法国---------21537.46亿美元--面积---54.70万Km2--人口---6088万--人均-35377美元
07---意大利--------17839.59亿美元--面积---30.12万Km2--人口---5813万--人均-30689美元
08---加拿大--------10889.37亿美元--面积--998.47万Km2--人口---3310万--人均-32898美元
09---西班牙--------10812.29亿美元--面积---50.48万Km2--人口---4040万--人均-26763美元
10----印度----------8000.00亿美元--面积--328.76万Km2--人口-109535万--人均---723美元
11----韩国----------7684.58亿美元--面积----9.85万Km2--人口---4885万--人均-15731美元
12---墨西哥---------7415.20亿美元--面积--197.26万Km2--人口--10745万--人均--6901美元
13---俄罗斯---------7328.92亿美元--面积-1707.52万Km2--人口--14289万--人均--5129美元
14--澳大利亚--------6453.06亿美元--面积--768.69万Km2--人口---2026万--人均-31851美元
15----巴西----------6207.41亿美元--面积--851.20万Km2--人口--18808万--人均--3300美元
16----荷兰----------6127.13亿美元--面积----4.15万Km2--人口---1649万--人均-31757美元
17----瑞士----------3868.35亿美元--面积---4.129万Km2--人口----752万--人均-51441美元
18----瑞典----------3715.21亿美元--面积---45.00万Km2--人口----907万--人均-40962美元
19---比利时---------3678.24亿美元--面积---3.053万Km2--人口---1038万--人均-35436美元
20--中国台湾--------3539.17亿美元--面积---3.598万Km2--人口---2304万--人均-15361美元
21---土耳其---------3581.67亿美元--面积---78.06万Km2--人口---7041万--人均--5087美元
22---奥地利---------3093.46亿美元--面积---8.387万Km2--人口----819万--人均-37771美元
23-沙特阿拉伯-------2862.05亿美元--面积--196.06万Km2--人口---2702万--人均-10592美元
24----波兰----------2654.12亿美元--面积---31.27万Km2--人口---3854万--人均--6887美元
25-印度尼西亚-------2643.57亿美元--面积--191.94万Km2--人口--24545万--人均--1077美元
26----挪威----------2616.94亿美元--面积---32.38万Km2--人口----461万--人均-56767美元
27----丹麦----------2563.18亿美元--面积----4.31万Km2--人口----545万--人均-47031美元
28----希腊----------2224.86亿美元--面积---13.19万Km2--人口---1069万--人均-20813美元
29---阿根廷---------2103.60亿美元--面积--276.69万Km2--人口---3992万--人均--5270美元
30---爱尔兰---------2029.35亿美元--面积----7.03万Km2--人口----406万--人均-49984美元
31----南非----------2004.58亿美元--面积--122.00万Km2--人口---4419万--人均--4536美元
32----泰国----------1965.78亿美元--面积---51.40万Km2--人口---6463万--人均--3042美元
33----伊朗----------1948.29亿美元--面积--164.80万Km2--人口---6869万--人均--2836美元
34--中国香港--------1871.12亿美元--面积----0.11万Km2--人口----694万--人均-26961美元
35---葡萄牙---------1766.29亿美元--面积----9.24万Km2--人口---1061万--人均-16647美元
36----芬兰----------1717.33亿美元--面积---33.81万Km2--人口----523万--人均-32836美元

从初中开始对这些数字感兴趣,即便是专家来看中国的经济也是个巨大的谜团。
对于一般人来说,就只能从这些表面的数据来感受中国了
现在再次对中国经济总量做一次预计
2007年中国经济总量超越德国 升居世界第三
2011或者2012年超越日本 升居世界第二
乐观估计2025年中国经济总量可以超越美国,雄踞世界第一。

中国人口总量是日本的10倍,即便2012年中国经济总量超越日本,届时人均也只不过是日本的1/10,这正说明中国的经济潜力巨大。
20年后中国人口大约是美国的四倍,中国从总量上超越美国并非遥不可及,但是人均要赶超美国却极其漫长
大国经济格局是个此消彼长的变化格局,老牌 经济强国必然会受到复兴中国全方位的挑战
很有可能中国的崛起直接导致美国日本的衰落
弱者更弱 强者更强
世界将因为中国的复兴而产生巨大变动
没有谁能具体预料
但是中国崛起无可阻挡

人民币严重被低估
和美元真实比价大约4:1
今后20年人民币会稳定升值到这个合理价位

中国人口众多,幅员辽阔,地区经济差异巨大。当沿海大都市已经进入发达国家生活水平的时候,内地很多省区可能依然是中低水平
这种巨大的地区经济差异是发展的必然
甚至从某种程度上来说是中国的发展优势
广州深圳的工厂可以轻松招纳到月薪几百元的内地工人,这在国土面积狭小的发达国家或者已经发展均衡的发达国家是不可想象的。
正是这种差异为中国提供了至少30年的低劳动力价值竞争优势
也就是说中国可以和发达国家、甚至低收入的发展中国家在高中低各个经济层面展开积极长久的竞争
当中国目前的经济增长速度降低 就意味着中国已经全部进入了发达水平
那一天中国的经济总量估计会占到全球总额的三分之一甚至二分之一
这一天到来或许仅仅需要20年
也或许50年
26th-Mar-2007 09:01 am - gaim里的qq登录不上了 [gaim, qq]
(08:59:11) util: Writing file accounts.xml to directory /home/hanwoody/.gaim
(08:59:12) account: Connecting to account 24486915
(08:59:12) connection: Connecting. gc = 0x864f0b0
(08:59:12) dns: DNS query for 'tcpconn3.tencent.com' queued
(08:59:12) dns: Created new DNS child 4913, there are now 1 children.
(08:59:12) dns: Successfully sent DNS request to child 4913
(08:59:12) dns: Got response for 'tcpconn3.tencent.com'
(08:59:12) dnsquery: IP resolved for tcpconn3.tencent.com
(08:59:12) proxy: Attempting connection to 219.133.38.5
(08:59:12) proxy: Connecting to tcpconn3.tencent.com:8000 with no proxy
(08:59:12) proxy: Connection in progress
(08:59:12) proxy: Connected.
(08:59:12) QQ: ==> [13723] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ unknown version)
(08:59:12) QQ: ack [13723] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue
(08:59:12) QQ: <<< got a token with 24 bytes -> [default] decrypt and dump
0000: F6 9F 06 00 DB 44 A1 B4 88 FD F2 45 81 94 37 C4 v...[D!4.}rE..7D
0016: A0 6C C3 F6 E6 83 CD 81 lCvf.M.
(08:59:12) QQ: ==> [13724] QQ_CMD_LOGIN, from (QQ unknown version)
(08:59:12) QQ: ack [13724] QQ_CMD_LOGIN, remove from sendqueue
(08:59:12) QQ: Decrypt login reply packet with inikey, 11 bytes
(08:59:12) QQ: Redirected to new server: 219.133.49.73:80
(08:59:12) QQ: 0 packets in sendqueue are freed!
(08:59:12) QQ: 0 group packets are freed!
(08:59:12) QQ: 0 groups are freed
(08:59:12) QQ: 0 add buddy requests are freed!
(08:59:12) QQ: 0 info queries are freed!
(08:59:12) QQ: 0 qq_buddy structures are freed!
(08:59:12) dns: DNS query for '219.133.49.73' queued
(08:59:12) dns: Created new DNS child 4914, there are now 1 children.
(08:59:12) dns: Successfully sent DNS request to child 4914
(08:59:12) dns: Got response for '219.133.49.73'
(08:59:12) dnsquery: IP resolved for 219.133.49.73
(08:59:12) proxy: Attempting connection to 219.133.49.73
(08:59:12) proxy: Connecting to 219.133.49.73:80 with no proxy
(08:59:12) proxy: Connection in progress
(08:59:12) proxy: Connected.
(08:59:17) util: Writing file accounts.xml to directory /home/hanwoody/.gaim
(08:59:22) QQ: <<< [13723] send again for 1 times!
(08:59:27) QQ: <<< [13723] send again for 2 times!
(08:59:32) QQ: <<< [13723] send again for 3 times!
(08:59:37) QQ: <<< [13723] send again for 4 times!
(08:59:42) QQ: <<< [13723] send again for 5 times!

Advertisement

Customize
This page was loaded Dec 24th 2009, 2:15 pm GMT.