现在的位置:首页  /  云计算培训   /   云计算技术教程

运维工程师如何提升桌面云存储性能,有哪些方式?

来源: 薪享宏福
发布时间: 2019年03月26日
分享到:
1.FS-Cache 
 
FS-Cache是一种将通过网络获 取的数据缓存到本地常驻存储中以加速本地应用的访问,从而减少网络流量的技术,其使用过程如下图所示。
FS-Cache使用个示意图
FS-Cache在设计之初,就尽量保持其对管理员和用户透明的特性。不同于Solaris系统的cachefs,FS-Cache允许服务器端的文件系统直接与客户端的本地cache进行交互,而不需要额外挂载文件系统。比如在NFS上使用FS-Cache时,我们只需要在挂载选项中加一个参数就可以启用它了。
 
FS-Cache在不改变网络文件系统基本操作的前提下,在文件系统中提供了一个常驻cache用于数据的暂存。比如,一个NFS客户端即使之前配置了FS-Cache并且有一部分数据已被cache ,关闭它后仍然可以挂载NFS并且使用被cache的数据部分。FS-Cache也可隐藏掉客户端文件系统驱动的所有I/0错误。在配置FS-Cache的时候,我们需要一个cache的后端,这个后端的文件系统需要支持bmap和扩展属性。
 
但FS-Cache不能cache任意网络文件系统,它需要的共享文件系统驱动要能够与FS-Cache交互、存储数据、建立和验证元数据。FS-Cache通过cache后端文件系统中数据的键索引和一致性检查来保证数据的持久特性,即数据的有效性校验。FS-Cache在私有云中一般适用于教学、办公等模板相同的批量桌面,不适用于存储模板大多相异的虚拟服务器。
 
2.bcache
 
bcache是L inux内核块设备层的cache模块,它可以将一块或多块SSD用作为普通硬盘的cache ,有点类似于“混合硬盘”。
 
bcache有点类似于ZFS中的L 2Arc ,但是除去当作write through的cache外,它也可当作write back的cache ,并且文件系统对它来说是透明的。在使用上bcache可以很方便地启用,并且不需要进行额外的设置就可以满足我们大部分的需求。但是,它不会去cache顺序I/O ,只会cache SSD擅长的随机I/O ,这个特性让它的应用范围在一定程度上有所限制了。
 
还有一点比较有用的特性,即掉电后它的数据不会丢失,这样它就有点像一个带电池的raid控制器了。 关于这点,社区和商业公司已经做了很多工作,所以我们放心用就好了。
 
由于它是块设备级别的cache ,因此它对单个服务器的提升比较大,但是对于运行在外接存储设备上的虚拟机就没有什么效果了。所以除去商业存储设备的选择之外, bcache和FScache让我们多了一个自建存储的理由。
 
3.SSD PCI-E卡
 
PCI-E SSD产品通常采用特殊的驱动器通过PCI总线进行直接存储器访问( Direct Memory Access , DMA) ,而非只是将闪存或DRAM内存封装成SCSI连接的硬盘驱动器。这是-种比较革命性的改变,它使得随机读写性能相比其他存储设备有了质的提升。存储设备连接服务器有以下几种常见的方式:
 
1、PCI-E总线连接RAID控制器,再连接SAS或SATA硬盘。
2、通过PCI-E总线连接HBA卡,再连接到硬盘阵列。
3、SSD挂载到PCI-E SSD卡,再挂载到PCI-E插槽。
 
我们可以看到CPU通过PCI-E SSD卡提供的短路径来访问SSD ,结合flash的高速读写性能,极大地提升了存储性能,突破了存储的1/0瓶颈。
 
但因为其连接SSD的数目有限,且单卡成本较为高昂,所以对于旨在降低用户成本、提高管理效率的私有云桌面来说,目前这是一种相对"奢侈”的解决方案。
 
拓展:其他存储/O风暴介绍
 
私有云中有几种1/O风暴比较常见,比如登录风暴、杀毒风暴。登录风暴发生在系统启动后但还未进入桌面时,多人同时登录而对服务器造成压力的情况,对于登录风暴,我们可以使用自动登录的方式,将其与启动划分到同一顺序过程中,这样启动排队策略也能作用于它了。
 
而杀毒风暴则是指多个虚拟机实例的某些应用程序在对硬盘分区乃至全盘同时进行扫描时,对服务器存储产生的大量压力而导致系统响应缓慢的现象,这些应用程序包括杀毒软件、监控软件等。开源私有云平台中的杀毒风暴可以利用GuestFS工具作为解决方案,即将虚拟机的硬盘挂载到统一的杀毒服务器上,从而可以在实例离线状态下进行查杀、在离线状态下进行扫描。
 
 

相关推荐:

sysVinit方式下系统的启动特点

systemd方式 下系统的启动特点

sysVinit的正常启动顺序详细解析教程

运维培训班的学员要明白开发同样重要

PHP运维常见问题以及解决办法

云计算运维工程师遇到php故障该如何处理

运维程序员如何做到对php业务监控和故障发现

典型的桌面云网络配置场景案例分享