存储性能101:服务器、阵列与网络架构基础

简介:

长期以来,数据都是一种蕴含着价值的商品,不论是在企业内部环境中部署,抑或是放到公有云端去实现,它 都是IT系统的核心所在。自上世纪50年代,磁带和磁盘发明后,我们便产生了在存储介质上持久存放数据的需要。

当然,这种持续的数据存储是要付出代价的。不论是磁盘、磁带或是闪存,存储设备的速度都无法赶上处理器和内存系统的发展。于是,为了得到良好的整体存储性能,我们必须不断尝试各种方式,使得存储介质运转得更快。

我们在外部存储介质中保留数据通常只有两种原因:长期存储和数据保护。

长期存储意味着在应用程序关闭或服务器断电后数据仍然能得以保留。数据无法长期驻留于系统内存(DRAM),所以当服务器或应用程序发生故障时,数据每隔一段时间就要写入到相应的介质之中。

数据保护亦是至关重要的,服务器有时会出现故障,甚至发生一些意想不到的事故灾害,如果不在多个存储介质上创建冗余,保留多个数据副本,我们很容易会遇到麻烦。数据保护机制包含RAID、纠删码和快照等,它们可以用来保护数据免遭物理和逻辑损坏,以及常见的“使用者操作失误”。

存储的性能指标

存储性能的评估通常使用这三种指标。

延迟:用以衡量设备的响应时间。系统内存的延迟通常以纳秒(ns)为单位、闪存以微秒(μs)计,而硬盘驱动器的单位则用毫秒 (ms)。

带宽:表示设备在特定时间段内传输数据的能力,通常以每秒兆比特(Mbps)或每秒千兆比特(Gbps)为单位。

吞吐量:代表了设备传输数据的实际能力,通常以每秒兆字节(MBps)或每秒千兆字节(GBps)为单位。

虽然看似类同,但带宽与吞吐量却有着本质上的差别。例如,硬盘驱动器(HDD)和固态驱动器(SSD)接口的最大带宽相同,但其输入/输出(I / O)顺序或随机、读或写的数据吞吐量却有着天壤之别。

在理想环境中,所有的数据都将存储在系统内存之中,以最快的性能提供访问,但系统内存代价不菲且容易丢失,服务器内又只能配置有限的容量。大多数应用程序不需要一直访问所有的数据,考虑到成本因素,我们访问这些数据的频繁程度和所要求的速度决定了数据最适合的存储位置。

那么,如何才能充分利用存储资源呢?我们可以怎样调优,才能以最低的成本赢得最佳性能?

存储介质性能的比较

在深入探讨之前,我们先来看下可供企业选择的各种存储介质的层次结构。

DRAM:是在性能和延迟方面都表现最佳的存储介质,缺点是所存储的内容并不稳定。DRAM容量扩容并不容易,而且不能在多台服务器之间轻松共享。DRAM可以按字节寻址。

NVDIMM:使用和DIMM相同的外形尺寸,可以像DRAM那样非常快速,并且在断电时可以借助闪存或其它技术来保留内容。其在速度上略逊于DRAM,也有类似的访问性和扩展性问题。NVDIMM通常以字节寻址。

闪存:非常快速的持久存储介质,并具有良好的可扩展性,可作为单台服务器或是存储阵列的组成部分。它比DRAM便宜很多,并按数据块寻址。根据不同价格、性能、成本可以区分出不同的闪存类型,如MLC、TLC等。

硬盘驱动器:一种相对较慢的,用以长期存储数据的介质,现在更多用于归档和备份数据的存放。硬盘驱动器同样是数据块寻址的。

上述这些介质均可单独或混合使用,从而实现了一系列不同存储性能的方案。

服务器内部的存储介质选择

存储可以直接部署在服务器内部,尽可能靠近中央处理器,缩短数据的I/O路径,从而减少延迟。

闪存则必硬盘具有更高的性能水平。根据访问数据的性能需求,可以组合使用不同闪存/硬盘驱动器容量配比的方案,从而在成本和性能之间达成平衡。闪存与系统内存可以用作高速缓存来存放活跃的数据,而同时将相对静止的数据存储到硬盘驱动器上。

这其中涉及到命中率的问题,即活跃数据都存储在缓存中,根据命中率可以推测出I/O性能。如果数据需要从硬盘驱动器而非缓存中读取,那么其访问请求的性能将受到影响。一种方案是将廉价和昂贵的不同闪存类型混合使用,从而实现适合的方案性价比。

服务器中存储的另一项考虑因素是要防止设备故障。假如驱动器发生故障,那么服务器可能要完全宕机才能更换部件,除非该设备支持热插拔。假如服务器发生故障,内部设备上的数据都将无法访问,因此我们需要复制数据。这取决于将一组服务器连接起来的网络的速度,给I/O增加了额外的延迟。

考量存储阵列的性能

共享存储阵列为数据带来了更高的可用性和更好的可访问性,不过由于需要遍历以太网或光纤通道的存储网络,这可能会造成延迟。

目前一些新产品正在上市,提供不同的连接选项(如RDMA,RoCE和NVMe)等解决方案。相比传统的存储网络,这些新技术虽然扩展性较差,但显著降低了延迟。

存储阵列亦可以通过选择不同的存储介质来改善性能。

DRAM缓存能够改进读写性能,而混合系统中的闪存与磁盘驱动器则能实现最好的方案性价比。

同时,与上文中讨论的“缓存未命中”问题的风险相比,全闪存系统能够确保所有数据的I / O性能与延迟。

闪存技术的应用引发了一系列技术的产生,已经不在局限于单纯地提高吞吐量、解决延迟。通常来说,用越多的内存和闪存来取代磁盘,我们就能得到越好的存储性能。

存储网络的性能

当使用外部存储阵列时,我们可以通过调整存储网络以提高整体系统的性能。

最新的主机总线适配器(HBA)带来了非常高的带宽(32Gbps光纤通道、40Gbps和100Gbps以太网),而网络交换机则实现了很低的延迟。通常来说,更快的单个设备都会促使整体系统的性能得以更好地发挥,尽管不断升级交换机的成本或许是不容小觑的。通过添加更多的前端连接(额外的HBA),我们可以将工作负载扩展分配到更多的连接之上,从而提高对存储阵列的吞吐量。

另有一些其它的技术同样可以改善性能:

负载均衡:这项技术能够在尽可能多的设备上平衡资源的利用率。这意味着你可以将数据扩展分布到多块磁盘(闪存或硬盘驱动器),并充分利用所有连接,能够在服务器和存储阵列之间实现宽条带化技术。

负载优化:访问活跃数据会产生较重的工作负载,可以将其迁移到更快速的设备上,例如闪存,由于闪存代价不菲,因此需要尽可能使用在最需要的地方。假如可以克服服务器可用性的问题,那么NVDIMM的应用或许可以大大提高某些工作负载的性能。

缓存:我们已经探讨过存储阵列和服务器上的缓存,其亦可以跨设备使用,即在服务器上使用DRAM和闪存,对来自外部存储的I / O进行缓存,这在读取操作上没有限制,而写出操作则要求一定的弹性以防止数据丢失。

存储网络调优:在更为复杂的存储网络中,共享存储端口和交换机之间的链路或许会变成瓶颈,需要检查队列深度和缓冲区信用阀值等设置,或者利用网络自带的拓扑技术进行优化。

通过上述讨论,我们不难看出:改善性能的前提是具备适合的度量方式。如果缺乏合适的度量工具,量化性能问题、判断问题是否得以解决便无从谈起。

所有存储供应商都会提供衡量其产品性能的工具,甚至还能实现端到端的性能测试,显示出存储对整体应用系统性能的影响。通过这些工具,你还可以看出当前实时的性能和历史的性能数值——这对于持续改进存储系统性能而言亦是至关重要的。

本文转自d1net(转载)

相关文章
|
27天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
56 2
|
1月前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
43 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
19天前
|
存储 数据挖掘
服务器数据恢复—EqualLogic存储raid5阵列多块硬盘掉线的数据恢复案例
服务器存储数据恢复环境: 一台EqualLogic存储中有一组由16块SAS硬盘组建的RAID5阵列。上层划分了4个卷,采用VMFS文件系统,存放虚拟机文件。 服务器存储故障: 存储RAID5阵列中磁盘出现故障,有2块硬盘对应的指示灯亮黄灯,存储不可用,且存储设备已经过保。
|
19天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
192 2
|
24天前
|
缓存 监控 前端开发
优化网络应用的性能
【10月更文挑战第21天】优化网络应用的性能
15 2
|
25天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
46 4
|
25天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
24天前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
6天前
|
数据挖掘 数据库 Windows
服务器数据恢复—服务器raid5阵列硬盘指示灯亮红色的数据恢复案例
服务器数据恢复环境: 某品牌DL380服务器,服务器中三块SAS硬盘组建了一组raid5阵列。服务器安装Windows Server操作系统,划分了3个分区,D分区存放数据库,E分区存放数据库备份。 服务器故障: RAID5阵列中有一块磁盘出现故障,该硬盘对应的指示灯亮红色。RAID5阵列瘫痪,D分区不可识别,E分区虽然可以识别,但是拷贝备份文件报错。管理员重启服务器,RAID5阵列上离线的硬盘自动上线开始同步数据。同步还没有完成时管理员强制关机,之后再没有动过服务器。
|
1月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。