众所周知,存储性能(néng)一直是评估超算集群建设的重要因素。相比于TOP500的算力需求外,IO500也是各大超算中(zhōng)心集群性能(néng)表现的一种方式。正因為(wèi)存储在集群中(zhōng)的重要地位,集群文(wén)件系统的调优便显得格外重要。
去年“Geeki说”和大家详细介绍了主流并行文(wén)件系统相应的小(xiǎo)测试与非主流并行文(wén)件系统的对比,本篇就让我们一起聚焦“并行文(wén)件系统调优”,看看如何有(yǒu)效提升文(wén)件系统的读写效率吧! 在超算集群存储实施过程中(zhōng),不管是客户还是奥工(gōng)小(xiǎo)分(fēn)队对“读写性能(néng)”都有(yǒu)执着追求。但是,在存储设备的初始化设置与挂载过程中(zhōng)又(yòu)不可(kě)避免会对IO节点读写性能(néng)产(chǎn)生一定影响,如何降低影响、提高性能(néng)就成了并行文(wén)件系统调优的关键。 因此,奥工(gōng)小(xiǎo)分(fēn)队将结合存储和并行文(wén)件系统的设置、测试实践,用(yòng)最真实的测试结果来比对存储和并行文(wén)件系统设置对顺序读写的影响,并总结经验寻求如何通过设置来获取更高性能(néng)的读写的方式方法。 面对一套存储设备时,奥工(gōng)小(xiǎo)分(fēn)队往往都需要对其进行一些初始化的设置,包括卷组/池的创建、卷/lun的创建、主机的创建及映射等……而这些基础设置对之后的存储读写性能(néng)都会或多(duō)或少的产(chǎn)生一定影响,下面就以我们实施过的某一项目為(wèi)例,来一起看看有(yǒu)什么好办(bàn)法可(kě)以有(yǒu)效提高读写速度吧! 1 ● 存储初始化设置 存储初始化的第一步,需要将不同数量的磁盘一起创建不同RAID的卷组。根据奥工(gōng)小(xiǎo)分(fēn)队多(duō)年的经验来看,该项目在此步骤中(zhōng)性能(néng)最优的选择是创建RAID 6的卷组。创建卷组后,就要开始规划卷组数量,这里要注意合理(lǐ)的规划选择对性能(néng)比较大的影响。 本项目中(zhōng)有(yǒu)两台服務(wù)器作(zuò)為(wèi)IO节点进行存储的挂载,存储一共搭载了84块磁盘。经过精(jīng)细的方案讨论与制定,奥工(gōng)小(xiǎo)分(fēn)队把84块盘中(zhōng)的4块拿(ná)出作(zuò)為(wèi)热备盘,剩余的按照每10块磁盘做一个RAID 6 创建卷组。 通过以上操作(zuò),我们就能(néng)得到8个卷组,而这8个卷组按照每个卷组创建一个卷,可(kě)以得到8个卷,将这8个卷挂载到2台IO节点,这8个卷把两个IO节点分(fēn)别作(zuò)為(wèi)主备,4个卷把IO01作(zuò)為(wèi)主读写节点,另外4个卷把IO02作(zuò)為(wèi)主读写节点,做到主备读写的均衡,以达到读写性能(néng)的高可(kě)用(yòng),為(wèi)读写调优打下基础。 2 ● LUN数据块大小(xiǎo)的设置 在进行卷LUN创建的过程中(zhōng),LUN数据块的大小(xiǎo)需要进行合适的设置,不同的LUN的数据块的大小(xiǎo)会产(chǎn)生不同的速率。下图是此款存储创建LUN时需要进行的数据块大小(xiǎo)的选择。 调优过程中(zhōng),分(fēn)别按照不同数据块的大小(xiǎo)进行设置,配置完成后在再挂载的节点上按照GPFS进行iozone的读写性能(néng)的测试,得到以下测试结果: 可(kě)以看出:在相同的条件下,LUN数据块的大小(xiǎo)影响着存储的读写速度。LUN数据块越大,读写速度越快;相对的数据块越小(xiǎo),读写速度越慢。因此在本项目中(zhōng)创建LUN进行设置的时候,需要选择LUN的数据块大小(xiǎo)為(wèi)521K。 3 ● 缓存镜像设置 在LUN创建完之后,打开设置可(kě)以看到其中(zhōng)有(yǒu)一个设置选项是缓存镜像,而缓存的打开与关闭,对文(wén)件系统的读写也会产(chǎn)生一定的影响,如下图所示: 通过控制变量进行测试,得到以下测试结果: 可(kě)以看出:在其他(tā)设置相同的情况下,关闭缓存可(kě)以适当提升读写速率。 1 ● GPFS文(wén)件系统块大小(xiǎo)的设置 以上说明了存储初始化和设置对读写速率的影响,同样文(wén)件系统的设置也会对读写产(chǎn)生一定的影响。 本次项目中(zhōng)奥工(gōng)小(xiǎo)分(fēn)队使用(yòng)的并行文(wén)件系统是GPFS,前文(wén)和大家介绍过“GPFS是IBM公(gōng)司第一个共享文(wén)件系统,它保证在资源组内的所有(yǒu)节点可(kě)以并行访问整个文(wén)件系统,具(jù)有(yǒu)可(kě)扩展、高性能(néng)等特点……”(Geeki说丨并行文(wén)件系统测试小(xiǎo)实践——GPFS)这里需要补充的是:GPFS在创建文(wén)件系统的时候,因為(wèi)文(wén)件系统块的大小(xiǎo)对文(wén)件系统对存储的读写也会产(chǎn)生影响,所以需要指定文(wén)件系统块的大小(xiǎo)。 一般创建文(wén)件系统时,我们会通过-B参数指定文(wén)件系统读写块的大小(xiǎo),通过设置不同大小(xiǎo)的GPFS块大小(xiǎo),可(kě)以得到不同的读写速度。对此我们也进行了相应的小(xiǎo)测试,得到以下结果: 可(kě)以看出:在存储文(wén)件系统等其他(tā)条件都相同的情况下,GPFS块的大小(xiǎo)可(kě)以明显的提升读写的速率。 通过上述关于存储与并行文(wén)件系统设置的相关测试,我们发现尽管存储初始化或者别的操作(zuò)对并行文(wén)件系统的读写效率会造成影响,但是并不是无计可(kě)施。奥工(gōng)小(xiǎo)分(fēn)队在本项目实践中(zhōng)总结出如下四个方式可(kě)以有(yǒu)效提升读写效率,实现并行系统调优。 方式一: 创建和IO节点相匹配的LUN 的数量 方式二: 设置LUN的数据块大小(xiǎo)為(wèi)512K 方式三: 关闭LUN的缓存设置 方式四: 设置GPFS文(wén)件系统的块大小(xiǎo)為(wèi)16M 值得注意的是,本次是基于Netapp存储的相应设置,其他(tā)存储本篇暂不做讨论。本次项目中(zhōng)GPFS块大小(xiǎo)的最优设置為(wèi)16M,其他(tā)不同的项目需要根据实际的情况进行更改。 追求IO带宽性能(néng)最大化的小(xiǎo)伙伴,可(kě)以参考以上配置对并行文(wén)件系统进行优化(Tips:该配置会牺牲部分(fēn)存储空间)。 至此,本篇并行文(wén)件系统的读写性能(néng)调优分(fēn)享就结束啦!读写性能(néng)的优化可(kě)以说是一个永无止境的过程,未来,奥工(gōng)小(xiǎo)分(fēn)队也会不断探索更多(duō)更有(yǒu)效的优化方式! —END—
OGSP(Ongineer Service Platform)是奥工(gōng)科(kē)技(jì )自主研发的一款面向终端计算用(yòng)户的、安(ān)全、可(kě)进化的密集计算服務(wù)平台。
OGSP秉承云原生设计理(lǐ)念,搭建密集计算场景中(zhōng)基础侧、平台侧、应用(yòng)侧的生态服務(wù)架构,谋求基础侧的稳定、健康、可(kě)扩展性;平台侧的高效、动态、易用(yòng)性;应用(yòng)侧的专业、交互、场景化。将服務(wù)产(chǎn)品化、产(chǎn)品场景化,為(wèi)用(yòng)户提供基于实际生产(chǎn)场景的一站式密集计算服務(wù)。
hwclould@ongineer.cn
南京市雨花(huā)台區(qū)锦绣街(jiē)绿地之窗C4栋326室
025-86738812
版权所有(yǒu) ©南京奥工(gōng)信息科(kē)技(jì )有(yǒu)限公(gōng)司 京ICP证000000号
技(jì )术支持:网站建设