博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【桌面虚拟化】之三 Persistent vs NonP
阅读量:6911 次
发布时间:2019-06-27

本文共 1717 字,大约阅读时间需要 5 分钟。

作者:范军 (Frank Fan) 新浪微博:@frankfan7

中我们探讨了桌面虚拟化的两种架构,HostedVirtual Desktop (VDI) Published Desktop/App. 本文深入分析其中VDI的两种桌面类型,PersistentNonPersistent

一 定义:

Persistent Desktop: 通常为每个用户分配专有的虚拟桌面。用户数据和个人设置保存在该虚拟机。

Non Persistent Desktop: 通常是从虚拟桌面池内选择虚拟机随机分配给用户。用户数据和个人设置不会保存。每次登陆后恢复到最初的原始状态。

优点

不足

Persistent

·应用和桌面Image是整合在一起的;无需额外安装应用

·可以采用和物理桌面一致的管理工具和方法。

·从用户的角度看,该虚拟桌面和传统物理桌面没有任何区别

·需要更多的存储空间

·有可能管理上相对复杂些,毕竟每个桌面都是不同的

·可能第一次创建桌面的时间相对较长

·需要设计完善的容灾方案,比如整个数据中心中断的情况。

Non Persistent

·可以很快的创建桌面

·相对需要较少的存储空间

·在灾难发生时,很容易的把用户切换到安全的数据中心

·如果应用不是包括在OS Image内,需要有第三方软件来管理

·有可能需要采用Application Virtualisation

二 实现技术的演进

早期- Linked Clone

VDI技术出现的早期,存储成本很高。我们先撇开de-duplication,compression等底层的存储优化技术不谈,假设每个桌面OS需要40G,那么1000个桌面需要的可用存储空间就是1000*40G=40T

有没有什么办法能降低存储成本呢?

于是出现了Linked Clone技术,这就允许所有的虚拟桌面共享一个Master Image,所有和操作系统相关的读操作都从这个MasterImage获取。然后再为每一个虚拟桌面分配一个DeltaDisk,所有的写操作都记录到这个DeltaDisk。这下就节省了很多存储。但是注意,随着越来越多的写操作,这个DeltaDisk会占用越来越多的空间,到最后甚至会占用和MasterImage一样的空间。那怎么办?刷新虚拟桌面。刷新后的DeltaDisk会恢复到最初的大小。对于NonPersistent的情况,经常刷新是可以接受的,因为本来NonPersisent DesktopDisk上没有用户的数据和个性设置。但如果刷新PersistentDesktop,就必须有方案如何管理并恢复用户的数据和个性设置。

中期存储分层2011年之前)

除了解决存储空间问题,VDI面临的一大问题就是存储性能。存储分层的技术可以让频繁访问的linked Clone数据存储在SSD或者Flash等快速设备上,从而提高性能。下图来自一文

HostDASD (Host Direct Access Storage Device) 也就是指ESXiHost本地访问的SSD或者Flash。CorporateFiler 用于存储应用程序和用户数据。

但由于SSD和Flash不菲的价格,并不适用于所有的数据。

在这个时期 NonPersistent 和Linked Clone的黄金组合确实是一个不错的方案,成本可以接受。

当今和未来

自2011年以来,Flash-based阵列以及很多新的存储技术逐渐成熟。inline IO de-duplication, offline de-duplicationand data compression也得到了市场的验证。这就意味着用于VDI的存储成本大幅下降,而性能却有很大提高。原来因为存储成本高而对Persistent Desktop望而生畏的用户,现在应该重新考虑Persistent。对于这些新的存储技术在VDI上的应用,请持续关注后续文章。

三 总结

无论才用哪种VDI类型,都应该先从客户需求出发。对于适合于Persistent的情形,应该考虑采用适当的存储方案来降低成本。

参考:

转载地址:http://bsncl.baihongyu.com/

你可能感兴趣的文章
基于Redis+MySQL+MongoDB存储架构应用
查看>>
thymeleaf 的hello world
查看>>
js pjax 和window.history.pushState,replaceState
查看>>
Hadoop Yarn REST API未授权漏洞利用挖矿分析
查看>>
asp.net Core 获取应用程序所在目录的2种方式
查看>>
Android震动vibrator(马达)--系统到驱动的流程【转】
查看>>
Linux下分布式系统以及CAP理论分析
查看>>
Oracle与Sql server的区别
查看>>
JavaScript 判断一个对象{}是否为空对象的简单方法
查看>>
C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
查看>>
java 正则例子
查看>>
拆系数FFT
查看>>
SpringBoot乱码
查看>>
MySQL远程连接失败(错误码:2003)
查看>>
EMQ 注意事项
查看>>
安装SQL Server时,提示VS Shell 安装失败,退出代码为 1638。
查看>>
systemd实践: 依据情况自动重启服务【转】
查看>>
Spring Security教程(五):自定义过滤器从数据库从获取资源信息
查看>>
logstash配置
查看>>
什么样的数据分析工具才是营销人最想拥有的?
查看>>