2010/07/29

北京簡單公幹四天

25/7 到 28/7,四天簡單的北京公幹,主要是開會,吃飯,睡覺。

2010/07/24

人間喜劇

今天在屯門市中心吃午餐,然後在 UA 看了“人間喜劇”,杜汶澤加王祖藍的組合,喜劇感很強啊,另外想不到薛凱琪拍笑片也很有潛質!故事很簡單,更包含了很多其他電影的搞笑情節,笑料滿載。
之後去了荃灣一會,就回家了。


故事簡介

殺手司徒春運(杜汶澤 飾演)及失意編劇諸葛頭揪(王祖藍 飾演)一個冷酷,一個婆媽,各不相干的兩個人,一天相遇,頭揪誤當春運是生死之交,卻不知春運因需要緊守殺手守則 ─ 殺手不可以有朋友而起了殺心。頭揪的思覺失調女友天愛出現,對頭揪不停施以愛的虐待,令春運終於對頭揪起了憐憫之心。

導演 : 陳慶嘉、秦小珍
演員 : 杜汶澤、王祖藍、薛凱琪
片長 : 104 分鐘
級數 : IIB
語言 : 粵語及普通話 (中英文字幕)

2010/07/23

[轉載] KVM-ON-KVM:Nested Virtualization

[來源: http://www.liangsuilong.info/?p=851]

早前听Fai Wong (lazyfai)说起过KVM可以支持AMD SVM的nested virtualization,凭借着好奇心就折腾来玩玩。nested virtualization有不少学问值得探讨的,这里得感谢lazyfai为本人解答了。

在介绍KVM-ON-KVM前,本人得先说清楚nested paging和nested virtualization 的区别。因为本人在Google搜索KVM的nested virtualization发现很多是关于nested paging,但是实际上两者完全是两码事。还有很多老外都搞不清楚nested virtualization和nested paging,常常以为前者就是后者。

Nested Virtualization:实际就是在一个正在运行的虚拟机内安装多一个虚拟机,并且使之运行,有时也称之为 Nested VMs。

Nested Paging: 其作用就是为了把Guest的内存地址直接映射至Host的系统内存地址上,让CPU能够像读取实体系统的内存地址一样可以直接读取虚拟系统的内存地址。这种方案可以减轻了VMM因为内存地址转换的负担,提升内存读写性能。 从原理上说Nested Paging和Nested Virtualization是毫不相干的,所以本篇文章不会探讨前者。

Nested Virtualization并非KVM一家独有的技术,VMware的虚拟化软件同样支持Nested Virtualization,但是其技术无法无限地Nested下去。其第一层虚拟机必须使用VT-x/AMD-V硬件辅助虚拟化技术,而第二层虚拟机则必须使用传统的二进制软件转换的虚拟化技术。因此无法再运行第三层甚至更多层虚拟机。 相反KVM必须使用硬件辅助虚拟化技术,理论上可以无限地Nested下去,只要机器有足够的速度。KVM的Nested Virtualization暂时只能应用于AMD的处理器上,只要支持AMD-V虚拟化技术,就可以运行Nested Virtualization,包括老旧的K8架构,这与Nested Paging必须运行在K10架构上不同。从qemu-kvm的帮助选项上看出此特性紧限于AMD处理器。至于Intel的处理器什么时候支持 Nested Virtualization,KVM说正在做,但是做了很久都还没有突破性消息。

-enable-nesting enable support for running a VM inside the VM (AMD only)

硬件平台如旧:

CPU:AMD Athlon 64 X2 4200+ RAM:4GB DDR2-800 Host OS:Fedora 13 (2.6.33.6-147.fc13.x86_64) Guest OS 1:Fedora 13 (2.6.33.3-85.fc13.x86_64)1st Layer KVM Guest OS 2:Fedora 13 (2.6.33.3-85.fc13.x86_64) 2st Layer KVM QEMU-KVM:0.12.3

安装好Host系统以后,就可以安装KVM,Fedora下可以尝试安装整个虚拟化组:

yum groupinstall Virtualization

实际上虚拟化组里面的软件包用不上的,比如virt-manager和libvirt。virt-manager里面没有Nested VMs的选项,所以实际上只能通过命令行工具操作KVM。其他发行版可以尝试qemu-kvm、qemu-img等几个常见的命令即可。 然后加载AMD的KVM模块:

modprobe kvm-amd nested=1

注意,因为需要运行Nested Virtualization,所以后面需要添加nested=1参数。查看是否启动了Nested Virtualization:

dmesg | grep kvm

若是支持Nested Virtualization,终端回返回如下信息:

kvm: Nested Virtualization enabled

创建磁盘镜像并且启动KVM:

qemu-img create -f qcow2 kvm-test.img qemu-kvm -m 2048 -drive file=kvm-test.img,cache=writeback -enable-nesting -enable-kvm -cdrom Fedora-13-x86_64-Live.iso

为了启动Nested Virtualization,qemu-kvm后面需要添加-enable-nesting参数。至于其他参数,则跟平常的KVM一样。为了测试方便,此次测试并没有为KVM搭建桥接网络,而是使用了默认的NAT。KVM启动后,就需要为虚拟机安装操作系统。紧接就是安装KVM和加载KVM模块,方法与步骤和前文一样,这里就不再详述了。 在确保所有组件都已经安装妥当并且确保KVM模块已经加载的情况下启动KVM,并且加载第一层KVM内的光盘: qemu-kvm -m 512-cdrom /dev/cdrom 纯粹是试验,本人只在第二层虚拟机启动了Live CD,以验证第二层KVM能够运行Linux即可。因为是光盘,所以启动的速度相当慢,I/O性能已经被压榨尽了,但最后还是能够启动并且能够登入 GDM,效果图如下:

实际上,第一层KVM虚拟机内的同样也能够加载kvm-amd模块,才能够再运行多一个KVM实例:

第一层虚拟机内的虚拟CPU,能够支持AMD的svm指令:


当然家用机并不适合跑Nested Virtualization,姑且不论CPU和内存的压力如何大,就以磁盘的读写性能也得够呛了。CPU再快,内存的容量再大。硬盘的读写速度上不去,第二层虚拟机甚至在第一层虚拟机就已经明显感觉到卡机的迹象。如果有专门的存储设备,虚拟机的速度将会有不错的提升。

Nested Virtualization虽然在家用机上用处近乎没有,但是在数据中心内,则可以更加优化系统资源,细化各种计算资源的用途和调配,目的就是要运算能力使用得更加恰当,令服务器能够承担更多用途和任务。

KVM理论上能够支持无限次数Nested Virtualization,但需要的是每一层Guest都要运行支持KVM的Linux系统,如果运行的Windows或者其他不支持KVM的系统,那么则只能安装其他虚拟化软件运行多一层虚拟机,无法再向下扩展。

最后,还是要感谢Fai Wong(lazyfai)的热情帮助。

2010/07/22

準備去北京了

星期日就要出發去北京了,星期三回來。
但是這個星期仍然很忙,很多不同的問題要解答,有點累。

2010/07/19

平靜的周末

因為這個星期太多時間要在外面工作,在辦公室的時間很少,幾乎沒空去整理和準備今天的培訓工作,因此,這個周末要努力準備了,也因為這樣,沒有出去玩... 完成後玩過夠吧。

2010/07/16

這兩個星期

這兩個星期的轉變真大
7/7(三) 中環午餐
9/7(五) 坐小輪去尖沙咀
11/7(日) 屯門午餐
12/7(一) 灣仔晚餐
13/7(二) 又一城晚餐, 之後...
15/7(四) 看 Toy Story 3

Toy Story 3

今天晚上,跟傻瓜去了 MCL JP 看 3D 的 Toy Story 3。雖然沒看過頭 2集,不過也 OK。
故事又好笑,又感人。
人,總會有長大了,不再玩玩具的日子。



故事簡介

故事來到第三集,小主人安迪經已步進大學階段,離家上學。與此同時,胡迪、巴斯光年、三眼仔及薯蛋頭先生等一班玩具同志們則慘被冷落,被捐贈到日間托謢中心。究竟他們可否克服重重困難,再次返回小主人身邊?胡迪和巴斯光年,老友聚首,今番又會有甚麼奇遇?史上最大規模的玩具『難民潮』馬上展開!

2010/07/13

紀念日

我沒有什麼記性,一定要找方法記低這樣重要的一天。
2010年7月13日,要用紅色筆填寫的日子。

2010/07/09

Ella

今天晚餐後,順便去 HMV 找到了官恩娜的新唱片,是迷你專輯,只有6首歌。



今天還是她的生日,祝她事業順利吧!

FirstFan 飯聚

應朋友邀請,今天晚上跟來自大陸的 Evan (FirstFan) 一聚,在北京道一號的小南國吃飯。
席間討論了不少手機開發跟經驗的東西,不過我不是什麼開發者,有些話題不太明白,不過覺得他很友好,也有很多經驗,獲益良多。

2010/07/06

Loongson mainboard



Loongson mainboard

Originally uploaded by gbraad

My friend got a Loongson mainboard from Lemote for the development of Fedora MIPS.

2010/07/03

HTC Smart

前幾天在屯門元朗都找不到想買的 HTC Smart,店家都說沒有貨。今天在荃灣工作,午餐時經過中原,他們剛好進了貨,終是就買了,$1780。




跑的是Qualcomm 新的 Brew MP 平台,因為硬件要求很低,所以這樣簡單的手機也可以跑得很好。
界面跟其他 HTC 基本一樣,不過還沒詳細試驗過其他功能。



這些是用這台手機拍的照片:







音樂的話,相信不會比我原來的 Sony Ericsson W705 好...