加载中…
个人资料
carlossteve
carlossteve
  • 博客等级:
  • 博客积分:0
  • 博客访问:3,422
  • 关注人气:4
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

虚拟机网络及一些扯淡

(2012-05-29 20:15:33)
标签:

娱乐

今天又做了一个关于网络的实验,不过不是我发起和主导的。这个实验是把虚拟机里面的两块虚拟网卡做bonding(多块也是可以的,但是没有做),配置成failover模式。做failover的原因是,有时虚拟网卡会莫名其妙地死掉,网桥倒还是好的,希望做failover可以提高可用性。

原来还打算做load balance的,他们的意见是现在VM的throughput远远低于物理网卡的极限(什么原因?想想也知道),但是我的意见是,反正这都是软件模拟的,所以做出来意义也不大,而且很可能比原来还要慢。因为软件的逻辑更复杂,处理路径更长了,效果不会很好;物理机可行,那是因为大部分工作还是硬件完成的,性能上有保证。于是就先做failover的,看情况再做load balance。

做bonding的过程就不再说了,都是老一套。有个插曲就是刚刚开始测试的时候,他们没有把网卡设置为virtio,速度那个叫慢啊,VM与一台物理机通信只有3MB/s(千兆网络)。后来换成virtio了,速度稳定在20MB/s左右,虽然离千兆还差得远,但是也比原来的好很多。VirtIO的论文还没来得及看,有空得研究一下。

做failover出来的结果基本在我的预期中。两个网卡同时可用的时候,bond0默认选用eth0收发数据,速度约9MB/s,没错,就是9MB/s,比单卡的时候要慢很多。假如我把一个网卡down掉,failover生效,速度会上升到14MB/s。呵呵,有趣有趣。为了failover就得牺牲性能。做到这里,我想load balance也没有必要做了。

我以前也做过网络的测试,也写了post。怪异的地方是,实际使用的情况和测试出入比较大。不知道是系统越跑越慢,还是我需要严格区分测试和实用的区别。

我使用“virtual machine ethernet bonding”作为关键词google了一下别人的工作,发现除了Novell的社区上有一篇文章是真正讲在VM内做bonding之外,其他的文章都是写如何在物理机上做bonding然后让VM充分利用bonding提供的throughput能力。而且Novell的那个文章虽然写得不错,图文并茂的,但是却没有说明这样做的目的和好处,在我眼里没什么太大的价值。

那么把关注点放在物理机上做bonding然后让虚拟机用的文章上。情况不外乎两种。

一是直接把bond0这样的设备expose给VM,让VM直接用。这个找到一篇文章在Xen上面实现了,不是特别复杂。

二是把bond0连接到VMM的virtual switch / bridge上,通过内部分发算法去dispatch数据包。StackOverflow和一些blogger提到VMWare就是这样做的。但是因为VM不能意识到bonding的存在,以及vSwitch的分发算法设计问题,所以事实上单个VM不能享受到bonding带来的好处。但是host的出口提高,使得此host上运行多个VM时性能没有那么拿不出手(个人理解)。

本来写到这里就差不多了。但是这么扯淡的性能,用这个虚拟机有必要吗?我也经常问自己这样的问题。最后觉得还是需要具体问题具体分析了。服务整合(consolidation)是虚拟机的一个卖点,毕竟不是每个server都是under heavy stress的。3MB/s的速度够不够?某些情况下是足够了,不是吗?与其让CPU空转、硬件空费电,还不如充分利用一下呢。虚拟化本来的定位并不是万能药,不是银弹(silver bullet),而是在可管理性、可用性、节能、性能等多方面综合考虑的结果。虚拟化的应用,要看场合,结合实际。

目前我遇到唯一在生产环境中使用虚拟化技术的,只有ziqiang.net。我觉得这可以算做我的一个小案例分析一下。我的观点还是没变,自强目前的问题,虚拟化是无法解决的。自强的带宽不算大,大量电影下载已经占用很多出口资源,虚拟机的网络、磁盘I/O性能较低,有的时候会明显降低用户体验。虚拟机的强隔离性是很好,但是自强都是dedicated server,不存在合用的情况,是否有必要用到这么强的隔离性。架构的改动,我认为应该是在预见需求的情况下按需而动。按照目前的架构,可以用,再改也没什么必要。我想做OP的最好还是应该先收集数据,发现瓶颈,再做改动为好。不是说虚拟化技术不好,而是我们在使用技术之前,是否应该先把目的明确而不是跟着风潮走?技术是手段,而不是目的,这是我们应该常记心中的一句话。

(完)

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有