使用KVM安装windows大文件下载出现网络使用0%的情况说明

来源:互联网 发布:万科物业软件 编辑:程序博客网 时间:2024/06/12 02:19

今天测试KVM安装windows2003的时候,IO写入很慢。用迅雷下载大文件时还会出现网络使用量突然降为0%的情况,也就是说写入操作被挂起,然后又恢复。之所以会出现网络利用率突然变为0%,是因为kvm的虚拟硬盘问题

我们知道对于存储技术来说,数据写入到硬盘中,有多种针对硬盘cache的Write policy,其中常用的有两种:Write Through和Write Back,而kvm虚拟的硬盘支持多种Write policy,如果我们不指定类型的话,他默认用Write Through,也就是说他先将数据写入cache,等到数据落地之后,才算写完,而操作系统接收到硬盘返回来的已成功写入的信号之后,才会写下一段数据。 那 么kvm的guest接收到了大量数据时,会通过kvm虚拟的cache,用Write Through策略写到硬盘上,但毕竟是虚拟出来的特性,在处理大量数据时,会使系统产生大量的磁盘IO操作,持续很长一段时间,这个时候硬盘因为繁忙而 暂时不能继续处理IO操作,从而使系统将正在运行的windows共享拷贝暂时停止下来,等硬盘忙完后,在继续接收数据,所以就会看到网络利用率突然变为 0%这一现象。

KVM的cache=default是使用了Write Through策略。 那 么知道了现象的原因,在虚拟机使用:cache=none参数,以关闭kvm磁盘的cache策略,让数据可以直接落在实体硬盘上(实体 机上其实也有磁盘cache的,并不需要kvm为cache操心),这时,我们在进行数据拷贝,就可以发现硬盘每秒的IO操作数量已经趋于正常水平了,直 到copy完成。