近年来,云计算已成为分布式计算领域中的研究热点,它是指运行在数据中心软硬件上的应用通过Internet为用户按需提供服务;并将数据中心内的软硬件资源统称为云,云计算自身并不是一种新技术,而是一种新服务模式。这种模式能够将设备安装和资源管理外包给云服务商,具有按使用计费和扩展灵活的特性,通过对IT资源的统一部署与集中管理,云计算能够优化资源的利用率,为用户提供廉价、高效、可靠的服务。
虚拟桌面作为一种典型的云计算应用,是建立在服务器虚拟化基础上的云应用。如图1所示,虚拟桌面基础架构在云中为用户提供远程的计算机桌面服务;服务提供者在数据中心服务器上运行用户所需的操作系统和应用软件,然后采用桌面显示出议将操作系统桌面视图以图像的方式传送到用户端设备上。同时,服务器对用户端的输入进行处理,并随时更新桌面视图的内容。用户通过任意可以接入Internet的终端,通过授权认证即可进行桌面计算。在虚拟桌面计算模式下,所有计算都可以放在数据中心的服务器上,对终端设备的要求将大大降低,类似于平板电脑、智能手机、掌上电脑以及其他智能的手持设备这样的瘦终端就可以满足更广泛、更灵活的应用需求。虚拟桌面架构通过服务器虚拟化,集中管理、统一配置,使得计算和数据更安全;同时,便于精简配置,降低IT系统成本、能耗以及管理开销。
图1虚拟桌面计算架构
虚拟桌面架构面临服务器虚拟化所带来的存储代价和性能上的挑战。由于几十或上百个虚拟桌面整合到一台物理服务器上,随着用户数目的增长和用户需求的提高,服务器的存储空间需求会迅速扩展;如果一台物理服务器上有100个虚拟桌面,每个40 GB的容量就需要创建和维护100个虚拟磁盘镜像,总共需要4TB的存储容量。另外,一台物理服务器往往需要同时启动和运行多个虚拟机,如何优化虚拟机I/O访问来提高存储性能也是亟待解决的问题,利用虚拟磁盘镜像中存在大量数据冗余的特性;本文应用重复数据删除技术来优化虚拟桌面架构的存储空间利用率,由于数据消重后,数据块被重复引用频率不同;本文将被频繁引用的数据块存放在数据中心中较传统硬盘性能高的基于闪存的固态硬盘上,并同时在服务器端通过本地磁盘缓存热数据以提高虚拟桌面的访间性能。
1相关工作
1. 1重复数据删除技术
重复数据删除技术是一种基于数据冗余度的数据缩减技术。它首先利用一定的数据分块策略将大的数据对象划分为若干较小的数据块,并用数据块的加密哈希值作为指纹来标识它们;通过比对数据块的指纹,我们可以提高存储系统的空间利用率和网络系统的带宽利用率。按重复数据删除操作时机的不同。可以分为在线重复数据删除和离线重复数据删除。在虚拟桌面架构中,由于即时缩减数据能够避免不必要的数据传输和写操作,使得在线重复数据删除更具有优势。按重复数据删除操作粒度的差异,可以分为文件级、块级甚至字节级重复数据删除。根据虚拟机磁盘镜像特点,我们发现块级在线重复数据删除技术更适合虚拟桌面存储的优化。
目前,重复数据删除技术已被广泛应用于虚拟机环境。通过分析虚拟机磁盘镜像的消重效果,发现重复数据删除技术能够大量地缩减虚拟机磁盘镜像存储空间。 Nath等人发现在基于虚拟机的存储系统中进行块级重复数据删除能够充分利用存储和网络资源,Liguori等人对不同操作系统的虚拟机磁盘镜像进行重复数据删除效果比较分析,并测试重复数据删除技术对虚拟机启动和读性能的影响, Zhang等人研究了重复数据删除技术对虚拟机在线迁移的加速效果。本文主要研究如何利用重复数据删除技术来优化虚拟桌面存储系统的存储利用率和I/ O性能。
1.2基于闪存的固态硬盘
基于闪存的固态硬盘是一种非易失性的存储器,主要由闪存芯片和闪存转换层构成。它的数据访问性能介于易失性存储器DRAM和传统硬盘之间,价格比DRAM更便宜。相比于传统硬盘,因为没有机械的磁头运动,其随机读性能与顺序读性能同样快;但由于写操作之前需要进行代价较高的数据擦除操作,使得写性能低于读性能。另外,基于闪存的固态硬盘较DRAM和传统硬盘具有更低的能耗。
基于闪存的固态硬盘较DRAM具有更高的性价比以及能耗优势,使得其在数据中心的数据密集型应用中很受青睐。重复数据删除技术自身是一种密集型的应用;特别是针对数据块索引以及数据块元数据的访问操作,访问数据量小但很频繁。利用基于闪存固态硬盘随机读性能的优势,用其来存储数据块索引和元数据能够极大地优化存储系统的访问性能。由于虚拟磁盘镜像文件在数据消重后文件数据存储碎片化,在传统硬盘上其读性能很差;本文利用基于闪存的固态硬盘在随机读性能上的优势来优化虚拟磁盘镜像文件的读性能。
(责任编辑:蒙遗善)