虚拟机磁盘缓存策略是个非常有趣的话题,很多人都探讨过,也是我琢磨了很久想写但没敢写的话题。因为实在有趣,所以一直想写,但因为过于复杂,一直都没敢写。只好题目里加上漫谈二字,随便聊聊,如有错误,欢迎批评指正。

很多刚接触Proxmox VE的同学都会问以下几个问题:

1、Proxmox VE性能好吗?

2、Proxmox VE下虚拟机的磁盘驱动应该用哪个?

3、Proxmox VE下虚拟机磁盘性能怎么提高呢?

其实虚拟机技术的优势有很多,包括但不限于:提高硬件设备利用率,减少能源消耗,节约运行成本,降低运维难度,提高连续运行能力,延续老旧系统寿命等等等等....

但性能偏偏就是虚拟机技术的一个劣势。当然,随着intel vt-x等技术的成熟,加上各种半虚拟化驱动之类的技术,虚拟机性能相对物理服务器的损耗已经进入可以接受的范围,不再是考虑的重点。但,讲真,如果真的很看重性能,某个系统需要物理服务器的所有资源,那还是考虑直接跑在物理服务器上吧。

在我刚开始接触Proxmox时,也着实花过一段时间琢磨怎么提高虚拟机的磁盘性能,看过不少资料....最后的结论是:基本都是瞎折腾。

因为,脱离实际应用需求场景的性能优化,都是臭不要脸耍流氓~~~~

先说俺在Proxmox VE里虚拟磁盘配置上的选择:磁盘类型选IDE,追求最佳的操作系统兼容性和稳定性;磁盘缓存策略选write through,尽量提高读性能,同时确保数据完整性。

曾经有同学提议磁盘类型选virtio,缓存策略选no cache,理由是这样性能更好,同时更能保证数据完整性。

但由于virtio在windows server 2000/2003上糟糕透顶的兼容性和稳定性(很容易蓝屏),加上繁琐的安装部署,以及给虚拟机克隆带来的一系列问题,引入virtio驱动并不是一个很好的选择。毕竟,兼容性和稳定性是要优先于性能的。

至于no cache的选择,我觉得似乎是把孩子和洗澡水一起倒掉了。write through的cache策略只针对读操作进行缓存,理论上并不会对数据完整性产生不良影响。

关于虚拟机磁盘缓存策略,首先推荐一篇文章,感兴趣的同学可以去读一下。

http://www.ilsistemista.net/index.php/virtualization/23-kvm-storage-performance-and-cache-settings-on-red-hat-enterprise-linux-62.html?start=2

这里摘取上文中的一幅图片,以便理解虚拟机的缓存策略选择的影响。

从上图可以看到,在虚拟机环境里,实际上存在三个缓存:虚拟机操作系统缓存(Guest OS Pagecache)、Proxmox VE主机页缓存(Host OS Pagecache)、磁盘设备缓存(Physical Disk cache)。 Proxmox VE提供的虚拟磁盘缓存策略影响的实际上是Proxmox VE主机页缓存。

在write through策略下,Proxmox VE主机页缓存只提供虚拟机读操作缓存,虚拟机发出的写操作指令将直接同步到磁盘设备后才返回,即使系统掉电,也不会丢失缓存数据。

在write back策略下,Proxmox VE主机页缓存同时为虚拟机提供读缓存和写缓存,虚拟机发出的写操作指令,只要写到Proxmox VE主机页缓存即返回,如果系统掉电,Proxmox VE主机页缓存中数据将会丢失。

在no cache策略下,Proxmox VE主机页缓存将被关闭,磁盘设备缓存将为虚拟机提供读缓存和写缓存,虚拟机发出的写操作指令,只要写到磁盘设备缓存后即返回,但如果系统掉电,磁盘设备缓存还是可能丢失数据(当然,如果该磁盘是配置有非易失缓存器件的高级货色,就另当别论了)。

实际生产环境中,绝大部分系统都属于读多写少的应用类型。采用write through策略能够大大提高大部分磁盘读操作性能,对于剩余的那一小部分写操作,就随它去吧,即便是使用write back策略优化,估计也很难对整体性能有很大改善,反而引入了数据丢失的风险。如果真的遇到写负载很重的虚拟机应用,考虑单独为其配置使用virtio驱动+no cache策略也不晚。

总之,write through策略充分利用Proxmox VE主机的内存,能够大大提高虚拟机读操作性能,加之Proxmox VE主机页缓存有容量大、距离近、安全性高、对虚拟机透明等诸多优势,属于不用白不用的性能优化手段。与其在虚拟机上费劲吧唧装virtio驱动提高百分之二三十性能,还不如设置一个write through磁盘缓存,很可能立杆见影就有几倍的性能提升,一不会引入掉电丢数据的风险,二不会影响虚拟机的稳定性和兼容性,只是多消耗一些主机内存而已,可谓少有的一本万利的买卖。还不赶紧试试看?

proxmox ve 中文社区_Proxmox VE下虚拟机磁盘缓存策略漫谈相关推荐

  1. proxmox ve 中文社区_proxmox VE 国内镜像

    官网下载速度喜人,15k,单线程,不支持断点续传 目前Proxmox中文社区源已正式提供镜像服务,镜像更新频率为每10小时,镜像站机房存放在法国巴黎online机房使用阿里云.华为云融合提供国内CDN ...

  2. proxmox ve 中文社区_Proxmox VE 部署维护

    Proxmox VE是一个完整的企业虚拟化开源平台.借助内置的Web界面,您可以轻松管理VM和容器,软件定义的存储和网络,高可用性集群以及单个解决方案上的多个开箱即用工具. 官方下载地址 刻录镜像工具 ...

  3. kvm虚拟化技术下虚拟机磁盘的数据保护

    摘要:kvm虚拟化技术下虚拟机的磁盘空间中数据的保护与恢复,考虑kvm的服务器级别的可用性. 1.kvm技术简单介绍    kvm虚拟化技术由几部分构成,kvm内核模块(cpu和内存的虚拟化及管理), ...

  4. linux buffer 刷到磁盘,Linux下的磁盘缓存 linux page buffer cache深入理解

    延伸:linux page buffer cache深入理解 描述:...么我们在分析io问题的时候可能会更加得心应手. Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会 ...

  5. linux 磁盘缓存设置,Linux下的磁盘缓存

    前段时间在开发一个使用SSD做缓存的系统,在高速写入数据时会出现大量的磁盘缓存.太多的磁盘缓存如果没有及时的写入磁盘中,在机器出现问题时是非常危险的,这样会导致很多的数据丢失,但是如果实时的将数据刷入 ...

  6. android缓存策略跟cdn,缓存学习(五)CDN缓存(下)-CDN缓存策略、CDN缓存和浏览器缓存之间的关系、回源和回源比...

    CDN缓存策略 CDN(Content Delivery network,内容分发网络),通过GSLB技术使得用户能访问到最近物理机房的文件,以节省网络时间,也就是说一份文件可能会在全国乃至全球的多个 ...

  7. proxmox ve 中文社区_基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置...

    基于ProXmoX VE的虚拟化家庭服务器(篇一)-ProXmoX VE 安装及基础配置 2018-09-22 16:00:09 246点赞 2066收藏 327评论 你是AMD Yes党?还是int ...

  8. proxmox ve 中文社区_安装proxmox VE(PVE)教程

    proxmox VE,又叫PVE,全称是 Proxmox Virtual Environment 官网地址:https://www.proxmox.com/en/ 1)在官网下载PVE最新镜像,笔者下 ...

  9. 榕树下 全球中文原创文学 中文社区 文学论坛

    导读: http://img.rongshuxia.com/images/www/etc/index_01.jpg 榕树下 全球中文原创文学 中文社区 文学论坛 本文转自 http://www.ron ...

最新文章

  1. 你哪来这么多事(大结局):职工信息删除
  2. python合并ts视频_python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频
  3. 网站用户访问速度监测分析项目
  4. 线程的生命周期图(附多线程)
  5. GoLand 快速入门教程
  6. ffmpeg 从内存中读取数据(或将数据输出到内存)
  7. Python-Matplotlib可视化(番外篇)——Matplotlib中的事件处理详解与实战
  8. 小猿圈学习Linux之shell脚本中cd命令无效的解决方法
  9. Multisim14 - 运行10版本文件时数码管一直显示为0的问题
  10. 《最优化方法》——数学基础知识线性规划无约束优化算法初步
  11. 微信Mars-xlog日志加密踩坑指南
  12. 【Python自动化任务】让运维更简单的7种定时任务实现方式,总有一种适合你的场景
  13. 我的世界java海边种子_我的世界:超稀有种子推荐,开局海边别墅+村庄,这个地图我爱了...
  14. EasyCVR实现智慧楼宇道闸控制流程及参考代码分享
  15. 计算机在英语写作中应用,多媒体计算机技术在初中英语写作中应用.doc
  16. python计算速度和电脑有关系吗_Python中对数计算的基础会影响速度吗?
  17. 计算机二级c语言考试真题及答案详解,全国计算机二级考试C语言复习题与答案解析...
  18. OpenGL ES渲染之Shader准备
  19. “十一”出行指南:高德大数据不仅能避堵,连吃喝玩乐住都帮你考虑到了
  20. 蓝叠模拟器去广告方法

热门文章

  1. 生物力学有限元分析软件MedFea
  2. 如何读懂日本K线图(又称日本蜡烛图)
  3. 开发者账号APP转让流程
  4. 浏览器详谈及其内部工作机制 —— web开发必读
  5. 【最大立方体和】吃西瓜rqnoj93
  6. 笔记本/TK1安装ROS Indigo教程
  7. Python在Linux 目录的常用操作命令
  8. 海绵宝宝python代码_python的初体验
  9. oracle 去掉前后的引号,Oracle中的 单引号 和 双引号
  10. 大力智能作业灯 助力家长解决辅导孩子写作业难题