文章以国内某大型保险企业,因业务访问量的增长对存储的稳定性、扩展性、兼容性、高性能等要求提高,基于华为 OceanStor 系列存储系统在我们保险企业中的存储架构设计和组网方式以及一些常用的规范标准。希望可以在实践中予以指导,提升运维效率,最大限度的提高存储利用率,获取最高投资回报率。
以目前我公司保险企业IT架构来说,为配合日益增长的业务访问量,带来的存储压力,优化应用对应的存储架构。需要更换现有的高端生产存储,除了可以满足日常的业务需求以外,还可以支撑每年的双十一、双十二,带来的业务高峰,可以承载3.5GB/s以上的带宽流量和30000 IOPS以上的并发请求。
目前数据中心设备类型繁多,性能不一。架构设计,应用使用设计相对困难,尤其存储设备来自多个厂商部分型号主机使用存储兼容性问题,其运维成本和运维人员相对较高,目前急迫需要一个统一的存储架构对外提供存储服务。
为实现以业务需求为导向的IT服务目标,提高IT架构的服务能力,降低整体运营成本。实现并保持数据中心业界领先性的目标,IT基础架构、高性能存储平台的建设是必经之路。
在保险企业目前的IT基础架构中,已实现了小型机、PC服务器的建设,在此基础上计划建设统一的存储资源平台,实现存储资源的统一管理和快速交付。但存储环境仍然处于多个“孤岛”的状态,严重制约了我们数据中心整体服务能力,存储的统一架构设计建设迫在眉睫。
华为的OceanStor存储产品具备良好的兼容性,可以统一为不同厂商及型号的主机设备提供存储服务,实现存储资源管理的标准化、自动化。实现存储资源自动灵活调度,满足业务需求。
指导企业基于华为OceanStor存储架构设计及实施工作,阅读对象是项目集成人员、甲方企业存储系统运行维护及架构设计人员。
本文档面向使用企业准备华为OceanStor存储的企业和运维实施人员,需要熟悉如下技术:
华为 OceanStor F V5 全闪存存储(下文简称 F V5 系列存储)是面向企业级应用的新一代融合存储产品。凭借面向云架构的存储操作系统、强劲的新一代硬件平台和丰富的智能管理软件,F V5 系列存储在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库 OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求,广泛适用于政府、金融、电信、能源、媒资等行业。同时,F V5 系列存储能够提供高效、灵活、丰富的备份、容灾解决方案,有效保证用户业务连续性和数据安全,为用户提供卓越的存储服务。
图2-1 华为 OceanStore V5 融合存储
更多详细信息,请查看下面的链接:
OceanStor 5300F/5500F/5600F/5800F V5 全闪存存储系统
OceanStor 6800F V5 高端全闪存存储系统
OceanStor 18500F/18800F V5 高端全闪存存储系统
UltraPath是面向全OS系统的多路径软件。运行在主机内核中的一种过滤驱动软件,可以管理操作系统原生的磁盘创建、删除以及I/O下发等事件并进行处理。
在Windows、Linux和Solaris操作系统中,UltraPath驱动所在层次如图所示:
UltraPath 软件能提高数据传输的可靠性,保障应用服务器与存储设备之间的路径安全性,为客户提供一个简单、快捷、高效的路径管理方案,确保应用服务器和存储系统的服务性能得以充分发挥,保护用户的投资。
详细可参考华为官网进行了解
https://support.huawei.com/enterprise/zh/doc/EDOC1100156222/28f618a4
在设计存储基础架构时,强调方案的整体性和与华为存储和SAN网络的有机结合,同时考虑存储的高可用性、高可靠性、可管理性和可扩展性等诸多方面的因素,以满足企业未来业务发展的需求。在方案设计中强调并认真遵循以下设计原则:
1. 可管理性:具有良好的可管理性,使管理人员能方便及时地掌握软硬件系统的工作状态、故障状况、性能统计等信息,能简便地对系统进行在线配置、调整,确保系统状态良好。
2. 安全性:系统的设计必须贯彻安全性原则,防止来自网络内部和外部的各种破坏,达到防窃听、防窃取、防攻击、防侵入,具备对入侵者监视和跟踪技术的目的。
3. 先进性:采用先进的设计思想和系统架构,选用先进的软硬件平台,使系统在未来一定时期内保持技术上的先进性。
4. 开放性:系统设计及设备选型遵从国际、国家标准,使系统具有开放性和兼容性,应用系统基于主流的操作系统、数据库系统和中间件平台。
5. 可靠性:系统的设计必须贯彻可靠性原则,使系统具有很高的可用性,系统的关键组成部分要求可以采用多种冗余容错技术,确保系统没有单点故障。
6. 可扩展性:系统设计在充分考虑当前情况的同时,支持系统规模的扩大和业务的扩展,应能够满足3年内的规划需要。
为建立一个稳定、完善的存储架构,在生产中心将业务系统按照不同的业务类别及业务优先级使用不同的存储资源,实现可以动态调整的存储资源池。
存储项目建设目标如下:
存储设备名称的字段格式定义为AA-BB-CC-DD,各自段含义如下:
命名示例:
上海34机房B01列第四个机柜的华为 18500 存储SH-34-B01_4_ OST18500-H1
存储SAN网络命名将沿用现有SAN网络命名规。
网络设备名称的字段格式定义为:AA-BB-CC,各字段含义如下:
命名示例:
上海34机房B01列第四个机柜的Cisco 9513存储SH-34-B01_4_ MDS9513-F1·
网络配置涉及VSAN、ZONE、ZONEset的命名规则
VSAN命名规范:格式定义为AA-BB-CC,各字段含意如下:
命名示例:
北京前端VSAN:BeiJing_FE_VSAN_11
北京后端VSAN:BeiJing _BE_VSAN_12
Zone命名规范:格式定义为AA-BB-CC,各字段含意如下:
华为OceanStor 18500的engine由4个控制器组成,最大4个engine。OceanStor 18500的每个控制器有4*4个16Gb/s的光纤接口。一个引擎的扩展模块如下图所示:
考虑到存储的性能压力和未来数据增长可能带来的I/O压力的增长,每台华为OceanStor使用32个光纤端口,其中16个光纤端口连接Fabric A,另外16个光纤端口连接Fabric B。为了平衡每张光纤卡的负载,每张光纤卡的0口连接Fabric A,2口连接Fabric B。物理连线构造如下所示:
同时,为了保证光纤交换机的负载均衡,华为Oceanstor 18500存储连接俩台光纤交换机。
根据现有华为OceanStor 18500 V5存储配置,每台存储有一个引擎(由4个控制器组成,2TB缓存),26个2U的硬件框,共640块900GB 10K RPM的SAS硬盘组成,所有硬盘组成7个硬盘域,一个存储池,最高可用容量约416TiB。
1. 华为OceanStor 18500的虚拟化设计原则
1) 硬盘域及执备盘设计原则:
不同硬盘域之间是完全隔离的,包括故障域、性能和存储资源等。硬盘域硬盘数量规划:
2) 存储池设计原则:
3) LUN设计原则:
华为OceanStor 18500 V5采用块虚拟化技术,即一种新型RAID技术。该技术将硬盘划分成若干固定大小的块 (CHUNK),然后将其组合成若干个CKG。当某一硬盘发生故障时,故障硬盘中 CHUNK所在CKG的来源硬盘都参与重构,大大增加了参与重构的硬盘的数量,从 而消除传统RAID组的重构性能瓶颈,提高了数据重构的速度。块虚拟化技术将数 据分布到系统所有硬盘,充分发挥系统的读写处理能力。
Extent是在CKG中划分的固定大小的块(默认4MB)。它是组成thick LUN的基本单位,也是存储池中申请空间、释放空间和迁移数据的最小单位。Grain是在Extent中按照固定大小进一步划分的更细粒度的块(默认 64KB)。它是组成thin LUN的基本单位,Grain内的LBA(Logical Block Address) 是连续的。
如上图所示,Thick LUN由若十个extent组成, Thin LUN由若干个grain组成。为了使性能达到一个较好的水平,在存储虚拟化环境中华为OceanStor 18500 V5存储将采用Thick LUN。
4) Host设计原则:
2. Firmware要求
支持的微码版本为V500R001/ V500R002/ V500R003
华为存储层的Host的设计,由于每种不同的操作系统均对I/O有不同的处理方式和特性,本章节中将重点介绍通用的设计原则和在本项目涉及的操作系统的设计要点。主机的光纤连接以及zone的配置请查看本文档的3.3章节,存储SAN网络设计。
1. 尽量控制主机的volume的路径数为4条,最大不能超过8条
每个volume在主机上看到的路径数量对volume在主机上的性能表现有很大的影响。根据最佳实践以及长期的经验,最佳的路径数为4条,最大不应超过8条。
如果主机的光纤端口较多的话,可以为此主机创建两个或两个以上的主机,并交替映射磁盘到此主机上。例如:假设主机aix_lpar1上有4个光纤端口(fcs0、fcs1、fcs2、fcs3),并且需要从华为存储层上分配4个磁盘(hdisk1、hdisk2、hdisk3、hdisk4)给aix_lpar1。可以在华为存储层上创建一个aix_lpar1_1主机,包含fcs0和fcs2端口;再创建一个aix_lpar1_2主机,包含fcs1和fcs3端口。分配磁盘时将hdisk1和hdisk3分配给aix_lpar1_1主机,将hdisk2和hdisk4分配给aix_lpar1_2主机。
2. 在主机光纤端口足够的情况下,光纤磁带设备与光纤磁盘设备要使用独立的光纤端口
如果主机上同时有光纤磁带设备和光纤磁盘设备,由于这两种光纤设备的I/O行为有极大的差异,故华为存储层的Host设计原则二是在主机光纤端口足够的情况下,光纤磁带设备与光纤磁盘设备要使用独立的光纤端口。即在华为层上定义Host的时候,只添加光纤磁盘所用的端口。
3. 将Volumes映射给主机时,SCSI ID尽量从1开始连续设置,保留SCSI ID 0,特殊情况除外
当volume映射给主机时,需要为每一个volume指定一个SCSI ID,SCSI ID可从0到255。考虑到某些操作系统会将SCSI ID为0的volume作为control volume,有可能导致主机无法正确识别volume。故华为存储层的Host设计原则三是将volumes映射给主机时,SCSI ID尽量从1开始连续设置,保留SCSI ID 0,特殊情况除外。
4.4.1 AIX主机设计原则
AIX主机接入首选需要对系统兼容性进行确认,确认方式是通过华为官网查询。https://e.huawei.com/cn/service-hotline-query
1. 使用OceanStor UltraPath for AIX 31.0.RC5 管理华为存储的所有磁盘
查看不同版本的AIX操作系统使用不同的HBA卡是否支持,以及其相应的多路径软件。虽然在AIX主机上支持AIX Native MPIO、SDD和SDDPCM,但是由于AIX Native MPIO不支持路径的负载均衡,SDD不支持SAN Boot等原因。故AIX主机的设计原则一是使用OceanStor UltraPath for AIX 31.0.RC5 管理华为存储的所有磁盘。
2. AIX主机扫描新磁盘前,更改fscsiX设备的fc_err_recov为fast_fail,更改dyntrk为yes
为了更好地应付光纤链路故障,需要在AIX主机的光纤适配器上设置fc_err_recov和dyntrk参数。AIX主机设计原则二是在AIX主机扫描新磁盘前,更改fscsiX设备的fc_err_recov为fast_fail,更改dyntrk为yes。其中fast_fail让路径切换更加迅速,dyntrk的开启让光纤的N_port ID更改时,可迅速让I/O流量走新的N_port ID所对应的端口。
4.4.2 VIOS主机设计原则
VIOS主机接入首选需要对系统兼容性进行确认,确认方式是通过华为官网进行查询。https://e.huawei.com/cn/service-hotline-query
按照以上方式,检查VIOS的版本是否支持。如果不支持,需要升级VIOS的版本到相应的支持版本。
关于VIOS的设计原则与AIX主机的设计原则相同,请参考AIX主机的设计原则。
4.4.3 VMware主机设计原则
VMware主机接入首选需要对系统兼容性进行确认,确认方式是通过华为公开的网站进行查询。https://e.huawei.com/cn/service-hotline-query
VMware的自带的多路径就可以支持与华为存储的互联,无需额外安装其它的多路径软件,并且华为存储支持vSphere 4.0以上的所有版本。以下是华为存储层能支持的其它VMware功能:
华为层支持VMware vStorage API for Array Integration(VAAI)功能。
如果VMware主机上有多张HBA卡,必须通过设置/etc/vmware/esx.cof文件中的相应的SCSI适配置的光纤链路重试时间,按照以下的建议设置:
如果需使用Vmotion功能,让VM在不同的物理主机上进行迁移时,必须保证所有的物理主机看到相同的华为存储层的磁盘,并且每个磁盘的SCSI ID必须一致。
如果VM的操作系统为Windows 2003或Windows 2008的,由于系统默认的Windows超时时间为30秒。为了保证在负载较高的情况下,不会因为磁盘的繁忙而引起Windows VM的报警和故障,建议将Windows 2003或Windows 2008的磁盘超时时间设置为60秒。
对于VMware主机,其支持以下两种路径选择算法:
· Fixed-path(固定路径)
· Round-robin(轮循)
Fixed-path算法会选择preferred node的路径作为固定路径,而Round-robin算法会在所有路径上进行轮循。由于Round-robin的路径选择算法能更加充分地利用所有的磁盘路径,改善VMware主机的磁盘I/O性能,建议选择Round-robin的路径选择算法。
4.4.4 Windows主机设计原则
Windows主机接入首选需要对系统兼容性进行确认,确认方式是通过华为官网进行查询。https://e.huawei.com/cn/service-hotline-query
按照以上方式,检查华为存储支持的Windows版本以及相应的Windows主机的光纤卡和支持的多路径软件的版本。如果不支持,需要升级Windows的版本到相应的支持版本或者更换相应的光纤卡设备。
在所有Windows主机上安装OceanStor UltraPath for Windows 21.6.3 版本
华为存储层在Windows主机上支持的多路径软件能提供在多条路径之间进行负载均衡的功能,而Windows自带的多路径管理软件并不具备此功能。同时OceanStor UltraPath for Windows 21.6.3还提供相关的工具可查询受管的磁盘设备的路径信息,并进行路径管理功能。故华为存储层的Windows主机设计原则一是在所有Windows主机上安装OceanStor UltraPath for Windows 21.6.3版本。
4.4.5 HPUX主机设计原则
HPUX主机接入首选需要对系统兼容性进行确认,确认方式是通过华为官网进行查询。https://e.huawei.com/cn/service-hotline-query
按照以上方式,检查华为存储层支持的HPUX版本以及相应的HPUX主机的光纤卡和支持的多路径软件的版本。如果不支持,需要升级HPUX的版本到相应的支持版本或者更换相应的光纤卡设备。华为存储支持HPUX 11i v1/v2/v3。
应用业务大部分使用Oracle 数据库,往往承载着企业核心业务系统,为保证业务连续性,使用 Oracle RAC 集群,硬件主机使用俩台IBM AIX操作系统的小型机提高稳定性,组网应避免单点故障。如下图所示,SAN(Storage Area Network)组网中使用两个物理上独立的交换平面(每个交换平面包括一个交换机或多个相互级联的交换机),每个数据库节点与两个交换平面相连,每个存储控制器和两个交换平面相连。
在使用 OceanStor 存储之前,建议首先分析清楚业务性能和容量需求,做好存储系统的硬盘数规划,降低运维风险。
产品能力评估:根据特定的存储配置,评估存储系统可提供的性能和容量
存储配置向导:根据特定的业务需求,评估存储型号和硬盘配置
硬盘域(Disk Domain)即多个硬盘的组合,将硬盘整合并预留热备容量后统一向存储池提供存储资源。
存储可以配置一个或多个硬盘域。 一个硬盘域上可以创建多个存储池(Storage Pool)。 不同硬盘域之间是完全隔离的,包括故障域、性能和存储资源等。 建议一个硬盘域的硬盘都在一个硬盘框内。
硬盘域的热备容量比例与热备策略和硬盘的类型和数量相关,该比例关系由存储系统根据可靠性工程方法自动维护。若需要规划存储容量和性能,建议使用华为 UniSTAR eDesigner 工具进行配置。 热备策略的选择跟上层应用系统的类型有关。
OLTP 业务类型,大量用户在线处理业务,I/O 多为随机小 I/O(4K/8K),建议选择高热备策略。
OLAP 业务类型,少量用户在线执行复杂的分析查询,I/O 为多路顺序大 I/O(上百 KB),写比例低,建议选择低热备策略。
OceanStor F V5 系列存储系统的硬盘域可以包含多达上千块硬盘,但基于性能和可靠性考虑,建议硬盘域每存储层的硬盘数不超过 100 个。
存储池(Storage Pool),是存放存储空间资源的容器,创建于硬盘域内,可以从硬盘域上动态分配资源,并定义每个存储层级的“RAID 级别”。
OceanStor系列存储支持 RAID6、RAID10、RAID5、RAID3、RAID50、RAID1
六种 RAID 级别,最常用的 RAID 级别为 RAID6、RAID10、RAID5。建议按如下策略为 Oracle 数据库配置 RAID 级别。
核心数据库业务等可靠性要求高的场景,建议选择 RAID6。
容量的重要性高于可靠性时,建议选择 RAID5。
如果 Oracle OLAP 数据库配置了“容量层”,强烈建议将容量层配置为 RAID6。
对于 Oracle OLAP 数据库,往往容量的重要性高于可靠性,建议配置 RAID 5 级别,提供更合理的容量和性能。
创建存储池时,允许设置容量分配比的告警阈值,默认是 80(百分比)。在使用 Thin LUN、快照、远程复制、克隆等增值业务时,容量告警尤其重要,用户可以根据业务数据量增长的速度设置合理的告警阈值,避免业务因为存储池容量不足而造成服务中断。
分条是把连续的数据分割成相同大小的数据块,把每段数据分别写入到存储设备中的不同磁盘上,实现 I/O 在每块磁盘上负载均衡,提高读写能力。对于 Oracle OLAP 业务,由于业务类型为大数据块读,写数据发生的频率和数据量较小,建议设置较大的分条深度,如 512KB。
多租户是存储系统的一种特性。使用多租户特性可以在一套物理存储系统中创建多个虚拟存储系统,让多个租户既能共享相同的存储硬件资源,又不影响相互的数据安全性和隐私。借助该租户特性,可以在多协议统一存储架构中实现更加灵活、更易于管理、部署成本更低的共享存储。
为 主机创建 LUN 时,为了能使存储系统的性能达到最优状态,需要根据实际的数据存储情况,为 LUN 选择合适的 LUN 策略。主要参数的推荐配置策略如下。
归属控制器(owner_controller):在数据库负载较高时,建议将 LUN 平均分配到多个控制器上,以保证控制器的负载均衡。
预取策略(prefetch_policy):提供 4 种预取策略(不预取、固定预取、可变预取、智能预取)。对于 Oracle OLAP 数据库场景,其负载特征为多路顺序大 I/O,建议并发量高时设置“不预取”,并发量低时设置“智能预取”。
重删压缩(Deduplication and Compression):使用 OceanStor存储时可以开启重删和压缩特性,通过删除重复数据并对数据进行压缩存储,减少数据的实际占用空间和数据写入次数。V5 默认的重删粒度为 8KB,Oracle 数据库的每个 8KB 页面都包含具有唯一字段的标头,所以开启重删并不会减少数据的存储空间。建议只开启压缩,关闭重删。
LUN 类型(lun_type):提供“厚置备(Thick)”和“精简置备(Thin)”两种类型,建议用户根据性能和容量的重要性进行权衡,如果性能更为关键(如核心生产系统),建议设置为“Thick”,如果容量更为关键(如测试开发系统),建议设置为“Thin”。
LUN 的容量和个数:与最多仅包含十几块硬盘的传统 RAID 组不同,基于
RAID2.0+机制的存储池,LUN 会跨越硬盘域内的所有硬盘,而硬盘域内的硬盘数多达几十甚至上百个。为了使硬盘的性能充分发挥,建议按如下策略配置 LUN 的个数和容量。
− 硬盘域内 LUN 的总数:建议不小于“硬盘数×4÷32”。(4 是单个硬盘的合理并发数,32 是 LUN 的默认最高队列深度)。建议使用 8-16 个数据 LUN(存储 Oracle 业务数据文件),4-8 个日志 LUN(存储 Oracle 归档日志文件),可满足最大 32TB 的容量的数据库。对于更大容量的数据库,请根据实际情况调整
LUN 的数量。
− LUN 容量:满足上面条件的前提下,使用尽量大的 LUN,以简化管理开销。但需要注意,LUN 的最大容量还需考虑操作系统和 Oracle 数据库的限制,如
Oracle 11g ASM 要求 LUN 的容量小于 2TB。在 Oracle 12.1 及以上版本中,放宽了对 ASM 磁盘的限制,单盘最大可以达到 4PB。但是由于已知 Bug
(6453944)的存在,导致实际上单盘大于 2T 时会报错。建议单个 LUN 的容量小于 2TB。
映射视图定义了 LUN、阵列端口、主机端口之间的逻辑映射。创建映射视图,建议按如下策略。
LUN 组是为了便于 LUN 资源管理而设计的一个对象。一般情况下,将同一种业务的 LUN 加入到一个 LUN 组内,如 Oracle RAC 的各数据区域。
主机组是一组需要共享存储资源的“主机”,每个“主机”包含多个启动器(主机端口)。建议为每一个服务器创建一个“主机”,将该服务器的所有启动器添加到该“主机”内。 端口组可以更精细化的控制存储端口的分配。端口组不是必须的,但我们强烈建议您为 Oracle OLAP 业务分配端口组,以增加运维的灵活性,并降低业务之间的性能影响。为避免单点故障,一个端口组应至少包含来自于每个控制器的一个端口。
本文介绍了基于华为 OceanStor 系列存储系统在我们保险企业中的架构设计和组网方式以及一些常用的规范标准。希望可以在实践中予以指导,提升运维效率,最大限度的提高存储利用率,获取最高投资回报率。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞15
添加新评论5 条评论
2021-03-10 23:55
2021-01-06 15:12
2021-01-05 10:34
2021-01-05 10:33
2021-01-05 09:23