关于本博客

本博客的内容:云计算、虚拟化、Linux技术、软件开发、软件测试、互联网、生活感悟。

专注于虚拟化和云计算技术,互联网项目持续集成,常用Linux、Python、C、Shell、Java;业余时间关注开源社区和各种开源工具。

Stay hungry, stay foolish.

得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

声明:

本博客中的所有观点,均为本人个人观点和技术探讨,不代表其他任何个人或组织,与我的工作雇主也没有任何关系。

另外,少量内容源于网上知识整理,如您认为我的文章侵犯到您的著作权利,请您联系我,我一定尽快回复和处理。

 

联系我:smile665 (AT) gmail.com      (for Gmail,  Gtalk, Facebook, and Twitter)

Contact:   smile665 (AT) gmail.com

 

学习经历(Education):

2005~2009  South China University of Technology (SCUT), Information Engineering.

 

工作经历(Working Experience):

2015.10-2023.10 AliCloud (Alibaba-Inc) ,Senior Technical Expert

2013.08-2015.10 Dianping.com , Test Architect & Leader

2011.02-2013.08     Intel,    Software Engineer,  QA Leader

Virtualizaion Technology, KVM/Xen Testing, Linux Kernel, Cloud Computing, Performance Testing

2009.02-2011.02  Alibaba.com,    QA engineer

Performance Testing, Automatic Testing, Web Testing

 

本博客捣鼓于2011年3月(域名和主机),正式上线于2011年8月,由于一些诡异原因,2011年11月迁移到位于US的一个主机上;在2013年6月,迁移到位于HK的一个主机,由于HK的虚拟主机不靠谱,2013年9月挪到了美国的一个VPS上;2015年放到了AWS EC2上。 2021年换域名为:smilejay.cn 做了备案,服务器放到购买的阿里云ECS上。

105 Comments

  1. 幸会,今天搜一个关于initramfs的文章搜到了你的网易博客了,然后就顺着网易博客找到了你这,幸会

  2. HI,我问一下我博客上回复你的时候你能收到邮件提醒吗?

    • 我查了下我的email 好像没收到提醒~~ 看你博客上有email服务开着吗?

      • 是我的模板有问题,被回复人不会收到提醒邮件,谢谢告知!

    • 嗯 是啊 挺近的~ 多交流~~ 我时常去交大逛逛呢~ 如果想到这边实习,我还可以推荐,^_^ 我们team也有两个你们学校的实习生呢

  3. 呵呵,你之前在阿里工作的啊,可惜啊,我来你却离开了!
    以后多多交流!!!

    • 嗯 多交流啊~ 阿里那边还是不错的;可惜没和你做同事~~ 然后发现你博客的风格和我的几乎一样啊,太巧了,加个友链吧~ 我现在主要做linux上东西,你做windows,大家互补~

  4. 哈哈,你居然用的是钊钊的主题诶。加油加油,技术专家。

    • 呃~~ 话说,钊钊是谁啊? 嗯 新年快乐,加油!~

  5. hi,你的博客更新挺勤快的啊,可惜大部分看不懂~~哈哈,加我个友情链接吧

    • 好的啊,添加上了。 我在你那的友链标题麻烦最好改为"笑遍世界的博客”吧~谢了

  6. YongJie, 你这个博客的域名是自己买的么?去哪买啊,我也想开个博客

    • 波波,嗯 这是是我自己买的~ 如果想独立域名的博客,大约需要几个步骤:
      1. 买域名;2. 买主机空间;3. 部署应用。
      我是国外网站上直接买的域名(花了几十美元买了几年),然后在一个简单的代理那里买的国外的主机空间(花了100元左右暂时买了一年),然后部署了wordpress这个开源博客应用。 选择国外买域名和空间,主要是操作方便,国内弄个站点都需要各种审查、批准的。
      (另外,如果简单写写博客,不想麻烦的话,没有独立域名,也可以用什么新浪、网易、CSDN之类的博客。)
      关于这个 也可以email给我~
      如下两篇博客是当时零碎的记录:
      http://smilejay.cn/2011/08/blog_on_godaddy_unstable/
      http://smilejay.cn/2011/11/my_blog_starting/

  7. 我有百度的博客,前几天捣腾了下wordpress, 想用个独立域名的博客,我看你这个网速还可以,不过看来部暑一个博客还是得花点银子

  8. YongJie, 我决定花点银子搞个网站了,你把你买空间,域名的地址给我下吧。能提供技术指导就最好了。谢谢哈,!

  9. RongJie, 你用什么来优化你的博客网站的啊?我的没有访问量啊?

    • 搜索引擎收录需要一些时间~ 我刚开始一两个月也很少访问(尽管现在访问量也不大)~ 我个人还是觉得做好内容是关键,之后Google、百度都会来的~ 尽管一些奇技淫巧的过度SEO可以提高一些访问量;但我不太喜欢~

  10. 原来博主是紫竹intel的。多向前辈学习,有机会到成为你们那儿的intern:)

    • 相互学习~ 如果感兴趣想来实习的话,可以email我,我们最近也想招实习生,做Linux Virtualization~ 不过时间要求要能半年以上哦~

  11. 大哥,等着你的KVM书呢。。。啥时候写完啊,现在公司准备用KVM,而我又是小白,急需这方面的书籍啊

    • 谢谢支持啊~ 乐观估计春节前后可以出版~ KVM还是不错了,透露一下Google Compute Engine 也是用的KVM。

  12. Yong Jie, Your "Blog Statistics" is a very perfect statistic tool, Where did you get it? Can you share it with me.Thx.

    • I'm using a plug-in named "kStats Reloaded", but I don't think it's very very good... I also use "Google analytics"(might be blocked by GFW) to analyze my blog.

    • 你可以先看看文档、做做实验先了解一下,可以选中Fedora学KVM,选用openSuse学Xen.
      KVM可参考:http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/
      Xen可参考:http://doc.opensuse.org/products/draft/SLES/SLES-xen_sd_draft/
      BTW,顺便广告一下,明年可以参考本人在写中的KVM中文书籍(目前有部分章节的连载)。
      如果对计算机体系结构和IA架构有较多的了解,可以参考《系统虚拟化——原理与实践》这本书,里面的东西有点深有点难。
      不错啊,大三都在了解这个了,我那时还只是用着VMWare和VirtualBox运行个Linux玩玩。

  13. 读着读着感觉是inteler,果然是!可惜我在那里当Intern时没有见过你。请问你是OTC的吗?我最近也在学习这个,有机会多交流。Email:qyddbear@gmail.com

  14. 本人大学生一枚,也很喜欢Linux,以后想往运维方向发展,话说博主的文章很有营养呐,很喜欢哈

  15. 您好,本人正在读研,也在开始研究相关KVM虚拟化,可否加我QQ:786071807方便问您一些问题,谢谢前辈~~

    • 我是使用WordPress默认使用的Akismet这个plug-in,对垃圾评论的判别能力还是很高的,很少有误判或者漏网之鱼。
      “Akismet 已经帮您过滤了 13,652 条垃圾评论。”

      • 其实akismet这个插件只是把垃圾留言放到了垃圾留言里了...这样数据库中会有记录,
        我推荐一个插件,Anti-spam ( No spam in comments. No captcha. No moderation.) 这个不用验证码,只是多了一个字段,css把他隐藏起来,如果这个字段填写了,那么就认为是robot,
        我这样垃圾留言就少了很多了.

  16. 博客2011年上线,怎么文章归档里面,2006年就有文章了?
    没别的意思,小问一下~~
    我也是遇到个问题搜索到你这里来的~~幸会幸会~~

    • 谢谢来访哦,里面有部分早期文章是从我的网易博客搬家过来来的,不过做得不很顺利,没全部搬过来,否则老文章可能更多。

    • 我选的一个KVM虚拟机:https://billing.chicagovps.net/cart.php?gid=31
      买的是最便宜的那个$25一年的~ 网站访问量不是很大的情况下还可以~

  17. 你好,前辈,目前刚买了一本你的书正在研究qemu/kvm,我是个刚毕业的大学生目前在一家公司刚好研究qemu/kvm快照这一块,这一块我有几个疑问希望前辈看到了能解答下:
    1.qemu中的内部快照为何速度那么慢(即用savevm创建的快照 ),有什么好的改进方法么?
    2.qemu中的外部快照只能用libivrt的virsh创建么,能用qemu-img或qemu monitor命令创建不能?我从一个文档中看到qemu的外部快照技术还不完善请问现在怎么样了?
    3.网上有的文档说是Fedora18中解决了内部快照创建时虚拟机卡住的现象,请问这qemu还跟os有关么,Fedora中真的解决了么?若解决的话Fedora18作了什么操作?
    我目前正疯狂的研究这块希望前辈看到了能回复下。

    • 你好,
      1. savevm保存的是当前客户机系统的运行状态(包括:内存、寄存器、CPU执行等的状态),保存为一个文件,而且要在loadvm时可以完全恢复,这个过程比较复杂,如果客户机里面的内存很大、运行的程序很多,savevm比较耗时,也是可以理解的。暂时很难有什么改进方法。
      2. 可以通过qemu-img创建客户机磁盘的快照的,见:http://smilejay.cn/2012/08/qemu-img-details/ ,注意该文末尾评论中我们的讨论。
      3. 文档说解决了什么问题,确实是很有可能的;感觉是和Qemu的关系比较大,和宿主机kernel以及客户机OS都关系不大;不清楚Fedora中是否解决了。如果Fedora中解决了,很可能是升级了QEMU的版本,呵呵,或者加了一两个patch。
      建议是,如果遇到QEMU的问题,可以下载最新的QEMU编译使用(像我书中提到的那样),如果新的正常,经测试也稳定,那么就改用新的吧。QEMU、KVM这两年发展很快,以前的bug可能在新版本中就被fix了,当然也会可能引入新的bug,这个自己也得在选择时注意。

  18. 您好前辈,谢谢您能看到并做了这么详细的回复,感到非常荣幸。更确切的问题我给你发了一封邮件,发到邮箱(smile665@gmail.com)里了,希望你能看到并期待您在白忙之中回复谢谢前辈!

  19. 这位同事,哈哈,在这里找到同事的感觉真不错,我是Intel北京,SIG组的,想咨询一些关于KVM的知识,希望能通过Lync聊会儿,我的ID为11490565

    • 呃,呵呵,欢迎来访我的博客。 不过不巧啊~ 我的简介是: 2011.02-2013.08 Intel (Shanghai)

  20. 最近正在拜读您的大作《KVM虚拟化技术实战与原理解析》,有一个地方不是很明白。
    书21页 “2.4 KVM模块” 一节第二段有这么一句,“VMXON指令将宿主操作系统置于虚拟化模式中的根模式”。
    对于x86的ring0——ring3与vmx中的root mode与non-root mode应该是这么一个意思:
    ring 3 2 4

    ring 0 1 3

    root mode non-root mode
    也就是所谓的“vmx模式与原来的ring0,ring3模式正交”。kvm中2被称作用户模式,1被称为内核模式,3与4被统称为客户模式。
    现在我的问题是: 就是vmxon开始虚拟化之后,原来的宿主系统是处于什么模式,在网上找到了这篇文章http://blog.csdn.net/yearn520/article/details/6461047,里面有一段“作为VMM,KVM分为两部分,分别是运行于Kernel模式的KVM内核模块和运行于User模式的Qemu模块。这里的Kernel模式和User模式,实际上指的是VMX根模式下的特权级0和特权级3。另外,KVM将虚拟机所在的运行模式称为Guest模式。所谓Guest模式,实际上指的是VMX的非根模式。”现在我不理解的就是,模式2中的进程,也就是root mode中ring3进程,是什么时候被调度的。kvm中,虚拟机是作为一个进程被linux内核调度的,那么对这几个模式是怎么处理的。就是为啥root的普通进程和non-root的虚拟机进程能被同时调度。
    谢谢百忙之中的解答。

    • 已回复你关于在问题的邮件了;不知解释清楚了没有;如果没有,你可能得自己参考一些详细的对CPU执行进行解释的文档。 可以Google "intel sdm 3c" 下载那个PDF,查找“INTRODUCTION TO VMX OPERATION”这样的章节,里面有详细解释。
      Processor support for virtualization is provided by a form of processor operation called VMX operation. There are two kinds of VMX operation: VMX root operation and VMX non-root operation. In general, a VMM will run in VMX root operation and guest software will run in VMX non-root operation. Transitions between VMX root operation and VMX non-root operation are called VMX transitions. There are two kinds of VMX transitions. Transitions into VMX non-root operation are called VM entries. Transitions from VMX non-root operation to VMX root operation are called VM exits.

  21. hi JAY ,can you share some file about kvm performance test on PowerPc ?

  22. 看了贵博客,开始折腾kvm.非常感谢博主!
    想问两个问题:
    1 在一台host安装10台guest(xp). 我使用了virt-clone克隆的方法. 发现虽然手动指定了每台的mac, 但是实际上每个gues的mac都还是克隆源的(xml配置李mac值确实是指定的). 这样就不得不手动的去改变每台guest的mac.

    2 kvm制作快照发现貌似很慢, 非常慢. snapshot-create的方式,格式是qcow2, 有的快照(大小在1g左右)需要1个小时制作完成,不知博主是否遇到过该情况?

    • 1. clone之后重启guest了还这样吗?说不定是xp的限制;你试试其他guest。。
      2. 你在guest中运行的程序多吗?可能需要保存执行状态~ 如果guest的load很高,那么快照是可能需要较长时间。

  23. hi,请教个问题,比如我起了40个虚拟机,我想使用host端下面的一个脚本文件,请问这个脚本文件怎么能实现共享到每个虚拟机中,不然的话需要配置网络,SCP进去,那样太麻烦了,谢谢

    • 据我所知,目前也没有什么特别好的办法,还是使用网络吧,NFS、FTP之类的。。
      这里也提到了:https://wiki.archlinux.org/index.php/QEMU#Moving_data_between_host_and_guest_OS

  24. 你好,在书的97页设置完iptables配置时,为什么只能guest端ping通host端,HOST端PING不通GUEST端

    • ping和我书中那个iptables设置应该无关;或者你直接停掉iptables试试。。
      host时可以ping guest的,它通过virbr0来连接到guest,你在host中运行“route”命令看看到guest IP的路由是不是该从virbr0走,而且检查下virbr0的IP与guest时在同一个网段吧。

      • hi,JAY,我试了host端可以ping通guest,现在我想从外网访问客户机,显示ping不通,为什么呢?

        • 看来你没认真看书啊,而且你不了解NAT吧,看下94页吧~ 使用NAT模式,外网当然不能ping同guest了,我那个97页的iptables仅仅是打开的80这一个端口而已,可以让外网连80端口。 要想让外网ping guest,请使用bridge模式吧。

          • sorry,可能我描述的不够清楚,书中只是讲了80的http服务端口,我现在也想试试22的SSH端口,可是登不上去

  25. 厉害,买了图书,找到你的博客,早知道就不买书了(嘿嘿,开玩笑),书写的非常好,类似的书籍很少,质量也不高,内容更是说个大概,但是这本书,太值,了解到更多的知识,工作之余都在仔细阅读,阅读过程中如有问题过来咨询你,希望帮忙解答一下哈!

    • 谢谢你的支持啊!~ 欢迎交流,相互学习,共同提高。

  26. 请教一下博主,Xen使用xl替代xend后,xend-config.sxp不可用了,那么如何手动设置一个NAT网络给domU使用?谢谢!

    • 最近没搞Xen了~~ 参考文档:http://wiki.xen.org/wiki/Xen_Networking

    • 我实习过的~ 如果去知名公司实习,肯定对找工作帮助大;小公司不一定,不过也比没有的好。要是学校内有几个项目可以讲,不实习也没啥。

  27. 楼主您好 看了您的文章受益匪浅 想请教您一个问题 我想用selenium获取执行js后的html 请问有没有一个方法能执行所有的js然后获取html?

    • 您好,你可以试试Phantomjs,我在2年前写过一篇文章,见:http://smilejay.cn/2013/12/try-phantomjs-with-selenium/

  28. 搜“qcow2 lvm 挂载”过来的,发现楼主文章写得很不错,受益匪浅。留言感谢+支持楼主!

  29. http://smilejay.cn/2013/05/possion-number-in-c-language/

    这个帖子下边我评论不了额

    均匀分布转泊松分布我没看,不过我注意到这句话,srand( (unsigned)time( NULL ) );这是用来生成伪随机数的,这句话之后rand()生成的随机数是和时间有关的,因为程序跑起来非常快,时间数基本不变,所以10次循环U_Random()生成的随机数应该是一样的,求回答

  30. 请教博主,《KVM虚拟化技术》第202页关于透明大页的计算要怎么理解?
    # cat /proc/meminfo | grep -i AnonHugePage
    AnonHugePages: 688128 kB
    # echo $((688128/2048))
    336
    如何得出结论”当前系统使用了336个透明大页?其中的2048K 是单个透明大页的大小?如何查看的呢?

    另外,关于KVM虚拟机内存性能优化,您有什么建议?

    • 你看可以看meminfo里面应该有如下的信息,所以huge page size 就是2MB.
      Hugepagesize: 2048 kB

      PS: 关于这个问题 你的email也我尽力回复了。

  31. hi,博主,你好。
    我是一名云计算OpenStack方面的新人测试工程师,徐超,很有幸2015年拜读了你的《KVM虚拟化技术》佳作,内容挺系统的。我打算针对测试这块,再好好看看。你应该是永杰吧。

    另外,你看的有些书,我也正在看,比如《Google软件测试之道》真的挺受益。也看了你的测试发展之路,通过自己的努力,从QA,到测试主管,再到技术专家等,你是我的学习榜样,我的职业规划也是如此。我很想和你请教下,你所在的阿里巴巴在测试方面的宝贵经验和其他。阿里应该是自己开发的云平台吧

    谢谢!

    • 你好,谢谢关注啊,今后可以多交流。ps: 阿里云很大,有很多自己研发的东西~

      • 除了这里站点的沟通方式外,请问你方便贴下你的联系方式吗,我很想和你请教问题。
        谢谢!

  32. 这是我的沟通方式:
    邮件:xu.chao@99cloud.net
    博客:http://chaoxu.sinaapp.com

    谢谢!

  33. 博主:你好,
    近期我也在用wordpress做自己的技术blog,两个问题请教:
    1. 博主用的主题是什么?感觉很适合技术blog
    2. 博主用的代码插件是什么?阅读体验非常棒
    感谢

    • 谢谢关注~
      1. 主题:Fashionistas
      2. 代码插件:Crayon Syntax Highlighter

  34. 您好,冒昧打扰您了,能请问您一个关于xen的SR-IOV的问题吗

voidman进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注

*