浅谈华为存储双活技术.docx

上传人:b****6 文档编号:7318198 上传时间:2023-01-22 格式:DOCX 页数:31 大小:6.40MB
下载 相关 举报
浅谈华为存储双活技术.docx_第1页
第1页 / 共31页
浅谈华为存储双活技术.docx_第2页
第2页 / 共31页
浅谈华为存储双活技术.docx_第3页
第3页 / 共31页
浅谈华为存储双活技术.docx_第4页
第4页 / 共31页
浅谈华为存储双活技术.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

浅谈华为存储双活技术.docx

《浅谈华为存储双活技术.docx》由会员分享,可在线阅读,更多相关《浅谈华为存储双活技术.docx(31页珍藏版)》请在冰豆网上搜索。

浅谈华为存储双活技术.docx

浅谈华为存储双活技术

浅谈华为存储双活技术

 

第一章建设背景和趋势

随着信息化技术的飞速发展,信息系统在各种行业的关键业务中扮演着越来越重要的角色。

在通讯、金融、医疗、电子商务、物流、政府等领域,信息系统业务中断会导致巨大经济损失、影响品牌形象并可能导致重要数据丢失。

因此,保证业务连续性是信息系统建设的关键。

目前,各行业普遍通过建设灾备中心来提高关键应用的业务连续性,在灾备中心保存生产数据副本。

传统灾备部署方式为一个生产中心对应一个灾备中心,灾备中心平时不对外提供业务访问。

一旦生产中心发生灾难,业务瘫痪,无法短时间恢复时,灾备中心才应需启动以提供业务访问。

这种灾备系统面临以下挑战:

●当生产中心遭遇供电故障、火灾、洪灾、地震等灾难时,需要手动将业务切换到灾备中心,有可能需要专业的恢复手段和长时间调试,业务中断时间长,无法保证业务连续运行。

●灾备中心不能对外提供服务,常年处于闲置状态,资源利用率低。

企业数据中心宕机的原因,如下图:

第二章DR与BC分析

随着数字化业务的发展,业务竞争的日益激烈,如何保障数据的安全并实现业务连续,这对置身其中的每个企业都具有重大的意义,也是CIO们所无法回避的问题。

对于银行交易结算、电信计费等核心业务来说,对数据中心的要求也不再只停留在生产中心瘫痪时启动灾备中心,保证关键数据的绝对可靠还远远不够,业务连续运行已经成为普遍性的诉求。

对企业而言,业务连续性是一整套方案,在发生灾难或灾难之后甚至是遭遇一个轻微的破坏时,企业可以通过业务连续性计划来恢复业务运行。

该计划不仅关乎技术,而且所涉及到的人与流程均要确保业务运行的顺利。

而容灾方案中的灾难恢复,它指的是在毁灭性的的自然灾难过后用来恢复IT系统的具体步骤,包括恢复服务器或主机中的备份,重建专用交换机,以及部署局域网。

比如,一个企业传统的灾备方案一般会构建一个存放备份数据和系统的备用地址,仅为了在灾难过后可将它们恢复。

保持对关键因素,如RPO以及RTO的适当关注,在遭遇灾难时,企业将在很大程度上避免数据丢失或支撑业务功能的IT系统的破坏。

然而,要建立一个稳健的业务,这仅仅是完成了一半。

业务连续性方案包含了关注任务关键型服务,沟通策略以及雇员恢复的关键流程。

一个企业拥有了恰当的业务连续性方案,则其可在灾难之后迅速启动并运行该系统,从而遭受最低限度的损失。

然而,有必要提醒一点,并不仅仅是大规模的灾难才会引起业务连续性问题,一个小小的破坏也会导致业务连续性被破坏。

如图4所示,大规模自然灾害在企业数据中心宕机的原因中只占21.3%的比例,IT系统宕机和人为误操作所占比例超过60%。

再比如,停车场的挖土机导致的断电或当整个IT设备启动和运行时一个应用程序故障都将会导致业务连续性的中断。

云时代对企业的业务连续性要求更高,单纯的数据备份、存储复制等功能已经无法满足企业对RPO=0和RTO=0的诉求,企业需要考虑更加完善的解决方案来满足对业务连续性的需求。

通过如上描述可以看到,与能够保证业务连续的双活解决方案相比,传统“Active-Passive”式容灾方案存在如下几个不足,这也是双活方案更能吸引CIO们的原因:

●传统灾备方案中,灾备中心不能对外提供服务,常年处于闲置状态而造成资源的“浪费”,资源利用率低。

双活更强调双中心协同工作,使IT资源利用率与投资回报倍增。

●当生产中心遭遇业务系统故障、供电故障甚至火灾等灾难时,传统灾备方案需要专业人员手动将业务切换到灾备中心,此间需要专业的恢复策略和一定时间的调试验证,业务中断时间不可控,无法保证企业业务连续运行。

●在传统的灾备方案中,为了保证数据中心的可用性,企业IT都要定期进行容灾演练。

而这种大费周章的演练在双活数据中心时代是完全不需要的。

一旦一个生产中心出现故障,另外的生产中心可以不需要人工干预,随时接管业务,对上层用户完全透明,降低管理的复杂度。

注:

容灾解决方案(DR:

DisasterRecovery) )与业务连续性(BC:

BusinessContinuity)

第三章双活建设目标

双活数据中心的建设目标是保证两个数据中心同时接受交易,处理相同数据,如果一个生产中心出现问题时,交易可以在另一个中心持续进行,基本不需要进行系统切换,生产中心和容灾中心保持实时及一致的数据。

系统双活“0”切换:

✓降低灾难应对决策难度和时间

✓有效避免故障时技术平台的切换操作过程

✓减少维护工作量,交易平滑在数据中心移动

第四章双活解决方案

针对传统灾备系统建设面临的挑战,基于华为存储的双活数据中心解决方案应运而生,保证关键应用的业务连续性。

华为HyperMetro免网关阵列双活方案,以华为OceanStorV3融合存储的HyperMetro特性为基础,与数据库集群、传输设备和网络等组件相结合,为客户提供300千米内的端到端双活数据中心解决方案,确保业务系统发生设备故障、甚至单数据中心故障时,业务自动切换,上层应用无感知,实现RPO=0,RTO=0。

华为HyperMetro免网关阵列双活方案,是由两套独立的OceanStorV3存储系统同时提供两个实时一致的数据副本供业务主机读写访问,任意一副本故障,都不影响业务的连续运行。

华为HyperMetro免网关阵列双活方案示意图:

华为HyperMetro免网关阵列双活方案的特点:

⏹独立的两套存储系统:

在两套软硬件相互独立的OceanStorV3存储系统之间实现双活,可以有效的隔离单存储系统的故障扩散,可靠性更有保障。

⏹SAN与NAS一体化双活:

不需要在SAN设备上再叠加额外NAS网关,并通过阵列本身特性在业务层面同时实现数据库与文件的双活,降低业务部署复杂度并有效减少I/O路径故障点,提升系统可靠性。

⏹可并发读写的A-A访问机制:

两个数据中心提供强一致性的数据镜像副本,可以同时为上层应用提供相同业务数据,实现业务负载均衡。

当一个数据中心故障时,业务自动切换到另一个数据中心,数据零丢失,业务零中断。

⏹实时同步的双活副本:

两个双活副本保持实时一致,RPO=0,RTO=0。

即便第三方仲裁故障后双活LUN仍然具备同时提供读写访问的能力,以保障数据的实时同步。

⏹保障性能的FC复制链路:

双活数据中心间的SAN网络和数据镜像同步网络支持FC组网,能够保证关键业务双活后的性能。

众所周知,IP网络很难满足业务高性能,低时延的诉求,对数据中心部署的距离限制更加苛刻。

⏹独立第三方仲裁机制:

华为HyperMetro免网关阵列双活方案提供双重仲裁模式,即同时支持第三方仲裁和预定优先两种模式,且支持两种模式间自动转换。

第三方仲裁可以采用物理或者虚拟服务器的方式实现,且生产中心与仲裁服务器只需要IP网络可达即可,不同于业界部分厂商需要用第三方阵列做仲裁以及必须FC组网的方式,华为HyperMetro免网关阵列双活方案更灵活,TCO更低。

此外,即便第三方仲裁发生故障,华为HyperMetro免网关双活方案可自动进入预定优先模式,较传统双活方案的仲裁机制更完善,业务连续性更高。

⏹高可靠:

每个双活数据中心都有OceanStorV3存储的冗余控制器,即便单控制器发生故障剩余控制器能继续提供业务,不需要将业务切换到对端的数据中心,性能及效率更高。

此外,在最极端情况下,构成双活系统的4个控制器即便有3个出现损坏,业务仍然能连续运行。

⏹广泛的增值特性兼容:

华为HyperMetro双活特性可以结合异构虚拟化特性接管不同厂商、不同品牌的存储设备,用户可以充分利用现有存储设备资源,实现高可靠的存储资源整合,提高资源利用率,充分保护用户现有投资;也可以与快照,远程复制等增值特性结合,充分利用本地数据保护和远程数据保护的特点,提供更高级别的业务连续性保护。

⏹可视化与简单化的容灾管理:

华为HyperMetro免网关阵列双活方案的容灾管理软件,能够提供简化管理的容灾拓扑展示与端到端监控功能,直观清晰的展示保护方案的状态与变化,实时监控相关设备部件,实现业务灾难切换前就识别问题与故障并协助用户排除,规避影响业务和增加成本的容灾切换发生。

华为HyperMetro免网关阵列双活方案为用户提供6个9的可靠性

第五章客户价值

华为充分利用其宽产品线的优势,通过多产品的紧耦合,为客户提供端到端双活数据中心解决方案,也是业界唯一可提供端到端双活解决方案的厂家。

面临着市场的不断变化和业务的高速发展、以及IT系统的可用性和业务性的需求,华为双活解决方案携手XX打造同城灾备建设,解决业务高速发展对IT系统提出的更高要求,具体表现如下:

●业务连续性:

华为双活方案融合了华为传输与存储技术的优势,是完整数据中心双活解决方案,可实现7x24小时业务不间断运行,RPO=0,RTO≈0,且维护过程中业务也不中断。

●提升同城资源利用率:

与传统主备容灾同城灾备中心资源处于热备状态不同,华为双活方案可以实现IT系统在同城范围内的高可用,提高同城数据中心和IT资源的利用率。

●保护投资,降低灾备TCO:

华为双活方案通过端到端拉通,与主流数据库厂家合作,设计调优,支持银行原有第三方存储,实现存储设备统一管理,从而帮助紫金农商行充分利旧,保护投资。

●智能灵活,可视管理:

用户端和渠道端数据就近访问,业务自动负载均衡,可平滑演进至两地三中心架构,生产中心应用模板自动发放并与LB联动,统一管理,实时监控灾备状态。

第六章华为双活技术架构

六.1华为双活数据中心的定义及分类

“双活”数据中心,是指对于同一业务系统两个数据中心都能同时提供业务,且互为备份,满足多种故障场景,业务可以自动完成切换访问,用户几乎无感知。

双活数据中心涉及到应用、计算、网络和存储等多个层面,其中存储系统双活是双活数据中心最主要的构成,同时也是最重要的一环。

存储层双活解决方案,是指由两套独立的存储设备提供两个实时一致的数据副本,两个副本可以被同一业务主机并发读写访问,且任一副本故障,不影响上层业务连续运行。

目前主流的存储层双活解决方案主要分为以下三种方式:

●Active-Passive阵列双活解决方案:

仅主站点阵列承担业务负载,从站点阵列并不处于实时提供业务的状态(分不可访问和业务转发两种模式)。

提供仲裁机制,单站点故障下能够实现业务连续。

但需要注意的是,这种模式下如果主站点服务器与主阵列间链路故障,可能会导致业务中断。

●Active-Active阵列双活解决方案:

主从站点双活架构,同一个双活LUN的所有I/O路径均可同时被访问,主从阵列均可处理同一业务I/O,系统间无需转发,实现业务负载均衡,提供完善的仲裁机制,发生故障时无缝切换。

这种Active-Active架构的双活就是通常我们所说的真正意义的阵列双活架构。

●网关型双活解决方案:

由专有设备对磁盘阵列虚拟化接管后再实现Active-Active双活,能够实现负载均衡,提供仲裁机制,单站点故障下能够实现业务连续性。

需要注意的是,增加网关设备意味着组网复杂度加大,购置和管理成本也会增加;外置网关的引入让IT系统增加了更多的节点,I/O路径的变长导致系统时延增加,对系统整体可靠性和性能都会造成一定影响。

尤其是全闪存应用日益盛行的时代,网关设备很容易成为整个系统实现高性能与低时延的阻碍。

通常我们所说的阵列双活解决方案指的就是Active-Active阵列双活解决方案,IDC认为Active-Active阵列双活解决方案应该满足如下几方面条件:

●由两套软/硬件相互独立的存储系统之间实现双活。

(如果是单套存储不同引擎间实现的双活,无法处理单存储系统挂死等异常场景,很可能导致业务中断。

●两套存储系统是否可以同时为上层应用提供同一个LUN的读写权限,双活的两个副本都处于活动状态(非主备模式),对外提供实时一致的镜像数据卷(RPO=0,RTO=0)。

●提供独立的仲裁机制。

(当提供双活LUN的两套存储系统之间的链路故障时,阵列已经无法实时镜像同步,此时只能由其中一套阵列继续提供服务。

为了保证数据一致性,必须有独立的第三方仲裁来决定由哪套阵列继续提供服务,否则容易出现脑裂,或者停止服务。

●两套存储系统间的双活复制链路支持高性能的FC组网。

(保证关键业务双活后的性能。

六.2双活数据中心架构

端到端双活数据中心解决方案分为6层:

存储层、计算层、应用层、网络层、传输层和安全层。

逻辑架构图,如下:

端到端双活数据中心解决方案,为了实现更好的可靠性、性能和负载均衡,针对每一层进行一些设计和优化。

各层设计要点:

方案模块

设计要点

存储层

●免网关双活架构。

●通过OceanStorV3阵列的HyperMetro功能,实现存储层的双活,减少方案故障点,避免存储虚拟化网关的I/O性能瓶颈。

●通过OceanStorV3阵列的SmartVirtualization功能,接管现网异构存储,将不同的存储资源的统一池化。

●通过FastWrite功能,将标准的1个写I/O2次往返优化为1次往返,提升写性能。

●通过自适应网络功能,提升链路性能不均匀时的双活性能。

网络层

●采用华为CloudEngine系列数据中心交换机的EVN技术。

●通过EVN打通大二层网络,实现2层网络协议在3层网络上运行,保障了业务的跨数据中心互联互通。

●通过多种互联优化技术,实现广播域隔离,达到数据中心间东西向流量优化。

●通过双活网关和路由注入等访问优化功能,优化数据中心间南北向流量优化。

安全层

●通过华为USG系列提供数据中心的FW、IDS等安全防护功能。

●通过数据中心间光传输加密技术,支持AES-256等多种加密算法,预防数据中心间数据窃听。

计算层

●采用华为FusionSphere、VMware等虚拟化平台提供跨数据中心大集群技术,满足企业多种关键业务双活的需求。

应用层

●和App应用基于虚拟化集群提供更好的可靠性,通过负载均衡实现业务自动切换。

●数据库基于双活LUN实现跨站点集群双活部署。

传输层

●采用华为OptiXOSN系列作为双活数据中心的波分设备。

●通过线路冗余,板卡冗余,设备冗余三种1+1保护方案,满足多级可靠性要求。

●通过色散补偿等调优手段,确保传输层延时最小。

 

六.3双活数据中心部署

整体的方案物理组网图

方案模块部署方式

模块

部署方式

存储层

●跨DC的两套华为OceanStorV3系列存储阵列组成一个存储集群。

●支持其中一台异构接管第三方存储,使用接管后的LUN与另一台V3上的LUN构建双活LUN。

网络层

●采用华为CloudEngine系列数据中心交换机作为核心交换机。

●数据中心内部采用典型二层或三层物理架构组网,启用EVN形成二层通道,由核心交换机通过CSS+链路聚合接入波分设备。

●每个站点部署一台独立的GSLB实现站点间负载均衡。

●每个站点部署2台SLB,组成HA集群,实现应用层服务器的负载均衡。

应用层

●web、App层可以部署在虚拟机或者物理机上,DC内的多台服务器组成集群,或者跨DC的多台服务器组成集群。

●数据库建议物理机部署,跨数据中心组成一个集群。

传输层

●采用华为OptiXOSN系列DWDM,每个站点部署2套波分设备。

●如若不能设备级冗余,则需要至少每套波分设备配置2块传输板卡,实现板卡冗余。

●将多路FC信号和IP信号复用到光纤链路上传输,每套波分设备通过两对裸光纤互联。

安全层

●采用华为USG系列防火墙,每个站点部署2台防火墙,接入核心交换机。

●在华为OptiXOSN系列DWDM启用传输加密功能。

仲裁

●选择一个第三方站点部署仲裁设备和软件。

●软件支持安装在物理服务器或虚拟机上。

●仲裁服务器使用IP网络连接到双活数据中心的两套存储阵列。

传输层

●采用华为OptiXOSN系列DWDM,每个站点部署2套波分设备。

●如若不能设备级冗余,则需要至少每套波分设备配置2块传输板卡,实现板卡冗余。

●将多路FC信号和IP信号复用到光纤链路上传输,每套波分设备通过两对裸光纤互联。

第七章存储层双活技术介绍

华为双活数据中心解决方案存储层基于OceanStorV3融合存储系统的HyperMetro特性实现。

HyperMetro采用AA双活架构将两套存储阵列组成跨站点集群,实现数据实时镜像,具有高可靠、高性能和高扩展的特点。

本章节将对HyperMetro特性的主要技术原理和特点进行介绍。

七.1AA双活架构

七.1.1并行访问

HyperMetro特性基于两套存储阵列实现AA(Active-Active)双活,两端阵列的双活LUN数据实时同步,且双端能够同时处理应用服务器的I/O读写请求,面向应用服务器提供无差异的AA并行访问能力。

当任何一台磁盘阵列故障时,业务自动无缝切换到对端存储访问,业务访问不中断。

相较于AP方案,AA双活方案可充分利用计算资源,有效减少阵列间通信,缩短I/O路径,从而获得更高的访问性能和更快的故障切换速度。

双活方案的交互流程。

存储双活架构:

七.1.2免网关设计

HyperMetro双活架构无需额外部署虚拟化网关设备,直接使用两套存储阵列组成跨站点集群系统。

最大支持32个存储控制器,即两套16控存储阵列组建双活关系。

●本方案架构精简、与存储增值特性良好兼容,对客户的价值如下:

●减少网关故障点,提高方案可靠性。

●I/O响应速度更快,无需经过存储网关转发,减少网关转发I/O时延。

●双活可以兼容存储阵列已有特性,与OceanStorV3融合存储系统的其它Smart系列和Hyper系列特性组合,可为客户提供多种数据保护和灾备解决方案。

●显著降低双活组网复杂度,便于维护。

七.1.3I/O访问路径

HyperMetro在应用主机则,通过UltraPath主机多路径软件,将两台存储阵列上的双活成员LUN聚合为一个双活LUN,以多路径vdisk方式对应用程序提供I/O读写能力。

●应用程序访问vdisk时,Ultrapath根据选路模式,选择最佳的访问路径,将I/O请求下发到存储阵列。

●存储阵列的LUN空间上接收到I/O请求后,对于读I/O请求,直接读本地Cache空间,将数据返回应用程序;对于写I/O请求,首先会进行并行访问互斥,获取写权限后,将I/O请求数据同时写本地双活成员LUNCache以及对端的双活成员LUNCache,双端写成功后返回应用程序写完成。

双活IO路径图:

七.1.4存储层组网

两套双活存储阵列间通信支持FC或IP链路,推荐使用FC链路。

另外,存储阵列和仲裁服务器之间的链路采用更易于获取的IP链路。

下图为4控制器的双活组网情况下,FC交换机端口占用情况

阵列双活方案组网

七.2高可靠技术

HyperMetro在继承OceanStor存储系统高可靠设计的基础上,全新设计了一些解决方案级高可靠技术,最大化提高了存储双活方案的可靠性。

本章节将从以几个方面介绍HyperMetro的高可靠技术:

●跨站点集群

●跨站点数据实时镜像

●跨站点坏块修复

●仲裁防脑裂

●高可靠链路设计

七.2.1跨站点集群

两套独立的存储阵列组建成跨站点集群,并以跨站点集群为核心,提供双活存储架构,向应用服务器提供无差异的并行访问,处理应用服务器的I/O请求。

双活跨站点集群配置过程极为简单,只需要将两套存储阵列配置成双活域,即可完成跨站点集群配置。

跨站点集群系统使用阵列间FC或IP链路作为通信链路,完成全局节点视图建立和状态监控。

在全局节点视图基础上,跨站点集群系统提供分布式互斥等能力,支持AA双活架构。

下图为双活跨站点集群示意图。

双活跨站点集群

集群节点具有并发访问能力。

1)当出现单个控制器故障时,主机业务将由双活跨站点集群的其它工作控制器承接。

由于本地集群要进行故障自检,为了减少对性能和可靠性的影响,系统优先选择由远端集群的控制器承接主机业务,待本地集群故障自检完成并且通过后,本地集群继续提供主机业务服务能力。

2)本地集群工作控制器全故障时,由远端集群接管主机业务。

双活访问与切换图

在跨站点集群基础上,HyperMetro以双活Pair或双活一致性组为单位提供服务和进行状态管理。

两套存储阵列上的双活成员LUN组成一个虚拟双活LUN,通过实时镜像技术保持两个数据中心的双活成员LUN的数据实时一致。

一致性组是多个双活pair的集合,可以确保单个存储系统内,主机在跨多个LUN进行写操作时数据的一致性。

一致性组进行分裂、同步等操作时,一致性组的所有双活pair保持步调一致。

当遇到链路故障时,一致性组的所有成员对会一起进入异常断开状态。

当故障排除后,所有成员同时进行数据的同步,从而保证从站点灾备阵列数据的可用性。

七.2.2跨站点数据实时镜像

HyperMetro通过实时镜像功能,保证两个站点存储阵列之间数据的实时同步。

主机写操作通过实时镜像技术同时写入两个数据中心的双活成员LUN,保持数据实时一致。

具体的写I/O流程如下图所示。

跨站点镜像

假如数据中心A阵列收到写I/O,镜像处理流程如下:

1)申请写权限和记录写日志:

数据中心A阵列收到主机写请求,先申请双活Pair的写权限。

获得写权限后,双活Pair将该请求记录写日志。

日志中只记录地址信息,不记录具体的写数据内容。

该日志采用具有掉电保护能力的内存空间记录以获得良好的性能。

2)执行双写:

将该请求拷贝两份分别写入本地LUN和远端LUN的Cache。

3)双写结果处理:

等待两端LUN的写处理结果都返回。

4)响应主机:

双活Pair返回写I/O操作完成。

HyperMetro支持断点续传功能。

当某些故障场景(如单套存储故障)导致双活Pair关系异常断开时,HyperMetro通过记录日志的方式,记录主机新产生的写I/O。

当故障恢复时,HyperMetro将自动恢复双活Pair关系,并且将所记录的增量数据自动同步到远端,无需全量同步所有数据,整个过程对主机“透明”,不会影响主机业务。

双活主机访问状态表

双活镜像状态表

七.2.3跨站点坏块修复

硬盘在使用过程中可能因为掉电等异常情况出现坏块,如果是可修复错误但是本端已经无法修复时,HyperMetro将自动从远端阵列获取数据,修复本地数据盘的坏块,进一步提高系统的可靠性。

跨站点数据修复

数据中心A阵列出现坏块时,从该阵列读I/O处理流程如下:

步骤1主机下发读I/O。

步骤2读本地LUN。

步骤3读取到坏块后,如果为可修复错误,执行步骤4,否则执行1、2后流程结束。

1.重定向远端读。

2.远端读返回。

步骤4将读数据返回主机,确保主机响应的快速返回。

步骤5根据远端的读数据,进行本地写入修复。

步骤6写修复结果返回。

----结束

七.2.4仲裁防脑裂

当提供双活LUN的两套阵列之间的链路故障时,阵列已经无法实时镜像同步,此时只能由其中一套阵列继续提供服务。

为了保证数据一致性,HyperMetro通过仲裁机制决定由哪套存储继续提供服务。

HyperMetro支持按双活Pair或双活一致性组为单位进行仲裁。

当多个双活Pair提供的业务相互依赖时,用户需要把这些双活Pair配置为一个双活一致性组。

仲裁完成后,一个双活一致性组只会在其中一套存储阵列继续提供服务。

例如,Oracle数据库的数据文件、日志文件可能分别存放在不同的LUN上,访问Oracle数据库的应用系统存放在另一些LUN上,相互之间存在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1