1、Dorado存储基于数据库场景的重删压缩配置指南华为 Dorado6000 存储基于数据库场景的重删压缩配置指南数据库作为一种典型的业务场景,在企业应用中占据着重要地位,而数据库中存储的数据也是企业的核心资产之一。随着业务的不断增长,企业的业务数据也呈现爆炸式的增长,需要存储的数据越来越多。 1 概 述1.1内容简介华为 OceanStor Dorado6000 V3 全闪存存储系统(以下简称 Dorado6000 V3)智能数据重删和智能数据压缩特性(SmartDedupe&SmartCompression)旨在减少冗余数据占用的存储空间,提高存储系统的传输、处理和存储效率。本文介绍在数据库
2、场景下,如何利用Dorado6000 V3 系列存储的智能数据压缩特性以及利用该特性所达到的数据缩减效果。1.2面向读者本文档主要面向以下类型读者,使其了解华为 OceanStor Dorado V3 全闪存存储产品及其重删压缩特性。华为员工合作伙伴客户1.3用户收益通过使用 Dorado6000 V3 的重删压缩特性,能够有效的减少数据库业务中在存储上产生的数据量,提高空间利用率。1.4关键组件本文中描述的内容主要基于以下硬件和软件。硬件:华为 Dorado6000 V3 全闪存存储系统 V300R100C00 版本华为 RH2288V2 服务器软件:UltraPath for Linux:
3、8.01.024 多路径软件Oracle Database 11.2.0.4 数据库软件Oracle RAC 11.2.0.4 集群软件SLOB2.2 测试工具操作系统:Red Hat Enterprise Linux 6.51.5负载模型本文使用业界通用的 SLOB(Silly Little Oracle Benchmark)测试工具模拟了 Oracle OLTP(Online Transaction Processing)业务负载模型。SLOB 是一个平台性能和稳定测试的框架,它实现了一种测试方法,以确定需要高性能 Oracle 数据库底层平台部署是否合理。SLOB 以尽可能小的主机 CP
4、U 利用率驱动 Oracle 数据库执行大规模的 SQL、避免程序争用,驱动底层硬件达到最大性能,以研究平台部署对 Oracle 数据库性能的限制。从 I/O 层来看,该业务模型为小数据块随机访问,读写比例可变,代表了一种典型的 OLTP 业务模型。 2 适用场景2.1适用场景本文适用于以下数据库场景(实测)。不同场景测试结果有所差别,最终解释权归华为所有。Oracle 11.2.0.3 及以后版本2.2注意事项为达到更好的重删压缩效果而不影响性能,请在实际配置中注意一下几点:数据库建议只开启压缩,Oracle 数据库表项在保存时会增加一些时间戳的标记,这个标记符是唯一的,导致不能重删,所以针
5、对数据库场景推荐只开压缩不开重删。华为 OceanStor Dorado V3 全闪存存储系统采用全局重删方式,因此,数据缩减效果与 LUN 数量无直接关系,可配置多个 LUN,提高并发性以提高性能。Oracle 应用层面不开启压缩。 3 OLTP 场景配置存储压缩特性3.1解决方案3.1.1方案架构本方案使用 4 台服务器,2 台 16G 光纤交换机搭建的双交换网络;组成 2 个双节点的Oracle RAC 集群进行测试;主要测试内容是 OceanStor Dorado6000 V3 存储的重删压缩特性解决业务数据增长时冗余数据占用大量存储空间的问题。本方案中验证了使用重删压缩特性对后端存储
6、空间的节省情况。图3-1 方案架构3.1.2硬件配置服务器采用华为 RH2288V2 服务器,存储采用华为 OceanStor Dorado6000 V3,配置 2 台 16G光纤交换机,1 台 1GE 交换机,具体配置如表 3-1 所示:表3-1 硬件配置设备名称组件数量服务器RH2288 V2:256GB memory2 Intel(R) Xeon(R)E5-2660 CPUs2 Qlogic 16Gbps FC Dual-Port HBA1 Intel 10Gbps Ethernet HBA card4存储OceanStor Dorado6000 V3: 2 controllers1 2
7、U 25 slots disk enclosures 25 3.6TB SSD disks2Four-Port SmartIO I/O Modules1光纤交换机SNS222421GE 交换机S570013.1.3软件配置操作系统选择 Redhat6.5,多路径软件选择匹配 Dorado6000 V3 的版本,测试工具 SLOB选择 2.2,具体配置如表 3-2 所示:表3-2 软件配置项目软件操作系统Red Hat Enterprise Linux Server 6.5多路径软件Huawei UltraPath 8.06.063数据库集群软件Oracle Grid Infrastructur
8、e 11.2.0.4数据库软件Oracle Database 11.2.0.4测试工具SLOB2.2OceanStor Dorado6000 V3V003R100C003.1.4存储配置存储使用 Dorado6000 V3,创建一个硬盘域,采用低热备策略;在硬盘域创建一个存储池,采用 RAID6 配置;配置 21 个的 ThinLUN,全部开启压缩。具体测试配置如下图所示(仅为示意,实际配置无需严格按照下列配置,但重删压缩开关必须打开)。表3-3 存储配置示意表项目数据区域 LUN在线日志区域 LUN仲裁 LUN归档日志 LUNLUN8*200GB thinLUN8*200GB thinLUN
9、3*5GBthinLUN8*200GB thinLUN数据压缩开启开启开启开启重复删除关闭关闭关闭关闭3.2验证步骤3.2.1环境部署表3-4 环境部署步骤TaskStepDescription1准备物理环境(硬件及组网)2安装配置操作系统2.1在四台 RH2288 服务器上安装 Red Hat Enterprise 6.5 basic server2.2配置 IP 地址 (/etc/sysconfig/network-scripts/ifcfg-eth0 & ifcfg-eth1)2.3配置主机名 (/etc/sysconfig/network)2.4配置主机名解析 (/etc/hosts)
10、2.5配置 I/O 调度算法和 TPH (/boot/grub/menu.lst)2.6创建用户和表 (user oracle, group dba and oinstall)2.7创建安装目标目录 ($ORACLE_BASE, $GRID_HOME)2.8配置 SSH 互信 (/home/oracle/.ssh/authenticated_keys)2.9配置环境变量 (/home/oracle/.bash_profile)2.10配置内核参数 (/etc/sysctl.conf)2.11配置用户限制 (/etc/security/limits)2.12配置防火墙(/etc/selinux/
11、config and iptables)2.13配置 NTP 时间服务 (/etc/sysconfig/ntpd)2.14配置软件安装源 (/etc/yum.repos.d/rhel-source.repo)2.15安装必要软件 (yum install ) 和 Oracle JRE2.16安装 OceanStor UltraPath 并重启系统3配置存储子系统3.1导入存储配置需要的相关 License3.2配置存储资源 (Disk Domain, Storage Pool, LUNs, LUN group)3.3创建主机、主机组和映射视图3.4在主机上扫描 LUN3.5配置 UDEV 策略
12、 (/etc/udev/rules.d/99-huawei-devices.rules)3.6设置块设备的 IO 策略为 noop(/sys/block/sd*/queue/scheduler)4安装并配置 Oracle 集群和数据库4.1上传并解压 Oracle 11.2.0.4 grid 和 database 软件包4.2安装并配置集群软件 (grid/runInstaller)4.3安装数据库软件 (database/runInstaller)5创建测试数据库5.1创建 ASM 磁盘组(asmca)5.2创建数据库(dbca)5.3生成测试数据5.4Oracle 应用不开启压缩6SLOB
13、 工具测试6.1检查数据配置6.2创建测试表空间6.3SLOB 生成测试数据6.4SLOB 不同读写比例测试根据上述表格中的步骤进行测试环境部署,具体部署步骤请参考华为相关用户手册或Oracle 官方提供的安装配置指导文档。3.2.2数据压缩效果测试测试策略:1.生成数据的数据压缩率-验证新生成的数据的数据压缩率2.SLOB 长时间测试的压缩率(50%更新率)-验证长时间测试数据压缩率是否变化。第一步 检查数据库配置参考 Oracle 官方提供的文档,对数据库实例参数进行检查和配置,使得数据库配置满足如下条件:实例有 10 组在线日志,每组包含 2 个 128MB 的日志文件,存放于+DATA
14、。配有一定大小的临时表空间。配有一定大小 UNDO 表空间。表3-5 实例参数设置参数值db_create_file_dest+DATAdb_block_size8192db_file_multiblock_read_count128fast_start_mttr_target30db_writer_processes2db_cache_size256Muse_large_pagesTRUE第二步 创建测试表空间SLOB 工具在 misc 文件下提供的 ts.sql 脚本可以创建名为 IOPS 的测试表空间第三步 灌装 1T 测试数据对 slob.conf 文件中的灌装参数进行设置后,执行 s
15、etup.sh 脚本进行数据灌装。等待数据灌装完成后,记录存储上对应的数据压缩比。表3-6 数据灌装参数设置参数值SCALE1000000LOAD_PARALLE_DEGREE16图 3-2 数据初始压缩情况第四步 运行 48 小时负载测试对slob.conf 文件中的负载测试参数进行设置后,执行runit.sh 脚本进行长时间负载测试。并观察长时间负载测试过程中存储上对应的压缩比。表3-7 负载测试参数设置参数值参数说明SCALE1000000RUN_TIME172800UPDATE_PCT50THREADS_PER_SCHEMA1WORK_UNIT64DO_HOESPOTFALSETHINK_TIME_FREQUENCY0图 3-3 长时间数据压缩情况结论:在数据库场景使用 SLOB 测试工具,新生成的数据和长时间测试压缩率都是 7.9, 也就是长时间测试(48H)对压缩率影响不大。 4 附 录4.1参考文档华为 OceanStor Dorado6000 V3 全闪存存储的 SmartDedupe 和 SmartCompression 技术白皮书4.2术语表表4-1 术语表术语描述RACOracle 实时应用集群ASMOracle 自动存储管理OLTP联机事务处理系统OLAP联机事务分析系统 全文完