华为云用户手册
-
应用层迁移实施 主机迁移 主机迁移是典型的Rehost迁移方式,虽然主机(服务器)上可以承载各种系统应用如Nginx代理、数据库、容器、中间件、大数据等,但由于数据库/中间件/大数据等应用是以数据为核心,对于这类数据层面的迁移我们通常会采用独立的数据迁移方式而非主机迁移,这里讲的主机迁移对应的迁移层级为应用和操作系统。主机迁移的方式主要有以下三种: 表1 三种主机迁移方式说明 主机 迁移方式 适用场景 备注 虚拟机/物理机迁移 重新部署 OS可变,停机时间长 - SMS 工具迁移(免费) OS不变,版本一致,停机时间短 优先推荐,华为云有技术支持 镜像导入/导出 OS不变,版本一致,停机时间长 - 重新部署:针对公有云的平迁方式的应用上云场景,我们建议使用CI/CD流水线构建自动化平台,然后在云上重新部署应用。 SMS工具迁移:是一种P2V/V2V迁移服务,可以帮您把X86物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器上,从而帮助您轻松地把服务器上的应用和数据迁移到华为云, 主机迁移服务 工作原理如下图所示: 图1 SMS迁移过程 主机迁移服务的安全传输原理指的是:源端服务器中的迁移Agent从主机迁移服务获取到迁移指令后,会动态生成安全证书和密钥并且通过华为云OpenStack 元数据管理服务传输给目的端服务器,此后,源端服务器和目的端服务器会重启并使用新生成的动态安全证书建立安全的SSL通道。SMS主机迁移过程中,无需中断或者停止业务,只需在”持续同步”状态时,启动目的端前停止业务,大大减少业务中断时间。关于主机迁移服务的更多详细信息,请参考SMS主机迁移服务。 镜像导入/导出:主机迁移也可利用华为云自主研发的 镜像服务 (Image Management Service,IMS)的导入功能,通过已有的云服务器或使用外部镜像文件创建私有镜像,将已有的业务云镜像导入到云平台,方便企业业务迁移与业务的批量部署,实现业务上云或云上迁移。 图2 镜像导出导入方案 在源端与目标端无法通过网络使用SMS主机迁移服务进行整机迁移时,可以使用IMS镜像服务进行整机迁移。将源端服务器的系统盘和数据盘分别制作私有镜像,上传至华为云OBS 对象存储服务 中,在IMS镜像服务中,使用上传的外部镜像文件制作成私有镜像,最后使用私有镜像发放云服务器,完成整机迁移。迁移后的主机操作系统、系统配置,数据文件与源端服务器完全一致。关于主机迁移服务的更多详细信息,请参考IMS帮助文档。 容器迁移 容器是操作系统内核自带能力,是基于Linux内核实现的轻量级高性能资源隔离机制。Kubernetes是一个开源的容器编排部署管理平台,用于管理云平台中多个主机上的容器化应用。Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。对应用开发者而言,可以把Kubernetes看成一个集群操作系统。Kubernetes提供服务发现、伸缩、负载均衡、自愈甚至选举等功能,让开发者从基础设施相关配置等解脱出来。 华为云容器引擎(Cloud Container Engine,CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。CCE是基于开源Kubernetes的企业级容器服务,提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。 您可以通过CCE控制台、Kubectl命令行、Kubernetes API使用华为云容器引擎所提供的Kubernetes托管服务。 这里的容器迁移指的是将其它云上的容器集群应用迁移至华为云CCE为例来讲解。总体迁移方案如下图所示。 图3 容器迁移方案 整体的容器镜像迁移步骤: 导出第三方集群上使用的容器镜像。 按照第三方 容器镜像服务 上的操作指南拉取镜像到客户端机器。 将导出的容器镜像文件上传到华为云SWR。 使用docker pull命令将镜像上传到华为云,具体操作方法请查看推送镜像到镜像仓库像。 父主题: 迁移
-
多维度成本分析探索成本和用量 企业针对云成本做精细化分析,看清成本结构和趋势,常用的成本分析场景包括: 成本增长趋势是否和业务一致,增长趋势是否平稳; 哪些云服务开支最大,哪些云服务开支增长最快; 资费模式是否合理,是否使用了性价比最高的新规格资源; 资源布局是否合理?是否使用了低成本的Region资源; 哪些原因导致成本波动? 华为云提供成本分析,为您提供多维度的汇总和过滤机制,从而通过各种角度、范围分析成本和用量的趋势及驱动因素。针对客户常用的成本数据筛选条件,成本中心提供如下预置报告,帮助客户快速分析: 表1 成本中心的预置报告 预置报告名称 说明 按多维度汇总的当月至今成本 了解当月至今按多维度汇总的原始成本数据,查看成本的分布和流向。 按产品类型汇总的月度成本 了解过去6个月原始成本较高的产品类型。 月度摊销成本 了解过去6个月摊销成本的月度趋势。 每日成本 了解过去3个月+未来一个月的每日原始成本趋势。 按关联账号汇总的月度成本 了解过去6个月原始成本较高的关联账号的月度成本数据。 按企业项目汇总的月度成本 了解过去6个月各企业项目的原始成本月度数据。 按区域汇总的月度成本 了解过去6个月按照区域汇总的原始成本月度数据。 E CS 的月度按需成本和使用量 了解过去6个月云主机每月按需原始成本和按需使用量情况。 容器成本洞察 了解CCE集群、命名空间、工作负载粒度的成本分布和趋势。
-
成本分配驱动业务方承担财务责任 成本分配支撑企业将成本分配到各业务团队中,使得各业务团队的成本清晰可见。根据清晰的成本,业务部门可准确 定价 ,并平衡成本、稳定性和性能,经济高效的提供领先方案。企业管理者基于数据决策各业务的云开支, 保障核心业务和战略业务方向的支出,不超支,不浪费。 典型的成本分配场景包括: 分配成本到项目:呈现不同项目团队成本情况,如创新项目、拓展项目等。 分配成本到部门:呈现各个部门的成本情况,如研发部门成本、测试部门成本。 分配成本到品牌:呈现各个品牌的成本情况,如研发、制造、门店销售过程中用云成本等。 分配成本到各系统:呈现服务内部的IT系统成本,如多业务使用的中台成本。
-
成本分配 华为云提供多种成本分配能力支撑企业分配成本: 直接成本分配:企业可以通过按照资源产生成本时归属的关联账号、企业项目或成本标签进行成本分配。 权益商品成本分摊:包年包月、资源包等权益商品成本,按照实际使用情况摊销到企业项目、标签和资源。 流量型资源的公共成本按用量拆分:使用成本中心的共同成本分拆能力,可将CDN、Live等团队共享使用的云资源成本,按照实际用量分摊到 域名 或IP。 容器集群成本拆分:华为云提供CCE成本洞察,开通后可将CCE集群相关的CCE集群管理费、CCE集群关联的ECS和EVS资源费用拆分到集群、命名空间和工作负载。 多维度分类和汇总:使用成本单元,综合多种条件(产品类型、账单类型、关联账号、企业项目、成本标签)对成本进行分类和汇总,如品牌维度、子系统维度等。 公共成本分配:使用成本单元的公共成本拆分能力,将公共成本(例如共享资源&平台服务等公共成本、未及时 标记的成本)按比例在组织内进行再分配,满足各团队或业务部门公平分配公共成本的需求。
-
组建调研评估团队 在企业上云过程中,组建一支高效的调研评估团队是至关重要的。该团队将负责开展详尽的调研工作,评估企业现有的IT基础设施、业务需求和上云的收益,确保上云策略的有效性和可行性。调研评估团队由来自不同部门的成员组成,企业可以参考前述的CCoE组织架构和角色职责,组建出一个全面且专业的上云调研评估团队,以下为必要的团队成员。 调研评估工程师:由IT主管指派,来自IT部门,对企业现有的IT基础设施、业务系统、应用架构、数据存储、安全策略等进行全面调研和评估,包括硬件配置、网络架构、软件版本、依赖关系等;分析这些设施与云服务的兼容性和迁移难度,评估将现有系统迁移到云平台的可行性。 业务专家:由业务主管指派,来自业务部门,收集和分析业务需求,与利益相关者访谈,了解不同部门的需求和期望,提供业务价值分析,为团队提供业务层面的指导和建议,帮助量化上云收益。 应用架构师:由业务主管指派,来自业务部门应用团队,支撑云实施团队提供业务系统的现状进行调研,为调研评估团队提供资源现状、应用架构、部署架构、依赖关系等信息。 财务专家:由财务主管指派,来自财务部门,对上云项目的成本进行核算和分析,包括云服务费用、迁移费用、运维费用等;评估上云项目的经济效益和ROI(投资回报率)。为上云决策提供财务支持和建议。 云安全 专家:由IT主管指派,来自IT部门安全团队,评估云服务的安全性、合规性以及数据保护能力,识别和应对潜在的安全风险,确保上云过程符合相关法律法规和行业标准。 项目经理:来自项目管理办公室(PMO),管理调研项目进度,确保各项任务按时完成,协调各部门之间的沟通与协作,促进信息流通,及时解决项目中的问题。 云架构师:来自IT部门或云厂商,作为云技术的专家,为团队提供上云技术支持和指导,包括上云方法论,调研的最佳实践等。 调研评估团队的组建又分为两种场景,对于企业主导上云的场景,调研工作由企业内部的这些角色主导,云厂商配合,提供必要的技术支持;对于企业购买第三方专业服务,由第三方主导上云的场景,上云调研工作由第三方厂商主导,企业内部团队配合,提供相关的业务和技术信息。 父主题: 调研评估
-
数据层迁移方案 数据层主要负责业务数据的持久化,为上层业务逻辑的实现提供数据支持,数据层包括两类数据,结构化数据和非结构化数据。结构化数据包含各类数据库,例如MySQL数据库、MongoDB数据库等,非结构化数据包含对象存储、各类文件存储等。 结构化数据迁移方案 结构化数据,主要为业务提供即时数据支撑,包含数据查询、计算、分析、修改等操作。业务连续性高的业务,很依赖数据库迁移工具的实时同步能力。在做结构化数据迁移方案时,需要结合业务连续性、迁移网络、业务架构等因素,选择合适的结构化数据迁移方案,做到数据迁移复杂度、数据迁移实时性,业务连续性的平衡。 MySQL迁移方案 表1 MySQL迁移方案 迁移方案 迁移方式 特点 适用场景 华为云DRS 数据复制服务 (推荐) 全量+增量迁移 配置简单,一键迁移,支持实时同步增量数据 1.适用于自建或云服务MySQ L实例 迁移华为云服务MySQL实例 2.适用于自建或云服务MySQL实例迁移至华为云自建MySQL实例(需先迁到云服务再迁移到自建) mysqldump导出导入 全量迁移 不依赖网络,操作较为复杂,只能全量迁移,不支持增量数据同步 停服时间窗较长场景 主从复制replication 全量+增量迁移 操作复杂 仅适用于源端和目标端均为自建MySQL数据库,由于源端和目的端版本不兼容等问题无法使用华为云DRS数据复制服务的场景 SQLserver迁移方案 表2 MySQL迁移方案 迁移方案 迁移方式 特点 适用场景 华为云DRS数据复制服务 (推荐) 全量+增量备份导入 工具界面化,操作简单 适用于自建SQLserver实例或云服务SQLserver实例迁移至华为云云服务SQLserver实例 备份与恢复 全量+增量备份导入 操作繁琐 适用于自建SQLserver实例或云服务SQLserver实例迁移至华为云RDS for SQL Server PostgreSQL迁移方案 表3 PostgreSQL迁移方案 迁移方案 迁移方式 特点 适用场景 华为云DRS数据复制服务 (推荐) 全量+增量迁移 配置简单,一键迁移,支持实时同步增量数据 适用于自建PostgreSQL实例或云服务PostgreSQL实例迁移至华为云自建PostgreSQL实例或RDS for PostgreSQL pg_dump导出导入 全量迁移 优点:不依赖网络 缺点:操作较为复杂,只能全量迁移,不支持增量数据同步 适用于无法使用华为云DRS数据服务的场景 MongoDB迁移方案 表4 MongoDB迁移方案 迁移方案 迁移方式 特点 适用场景 华为云DRS数据复制服务 (推荐) 全量+增量迁移 配置简单,一键迁移,支持实时同步增量数据 适用于自建MongoDB实例或云服务MongoDB实例迁移至华为云自建MongoDB实例或云服务MongoDB实例 导出导入 全量迁移 不依赖网络,操作较为复杂,只能全量迁移,不支持增量数据同步 适用于无法使用华为云DRS数据服务的场景 非结构化数据迁移方案 非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。当前企业业务中承载非结构化数据的存储方式主要为文件存储和对象存储。 NAS迁移方案 表5 NAS迁移方案 迁移方案 迁移方式 特点 适用场景 华为云 CDM 服务 (海量数据迁移推荐) 全量+增量 操作简单,支持增量迁移。对海量数据支持更好 适用于将源端对象存储、网络文件存储,大数据存储迁移至华为云OBS对象存储、华为云SFS弹性文件存储、华为云大数据存储中的海量数据迁移。 开源工具rclone/rsync 全量 rclone配置复杂;rsync迁移效率低 适用于华为云FMS工具和华为云CDM服务无法使用时的迁移场景。 对象存储迁移 方案 表6 对象存储迁移方案 迁移方案 迁移方式 特点 适用场景 华为云 OMS 服务(推荐) 全量+增量 操作简单,高并发,支持数据校验、可视化报告 适用于将源端对象存储迁移至华为云OBS对象存储。 开源工具rclone/rsync 全量 rclone配置复杂;rsync迁移效率低 适用于华为云OMS服务无法使用时的迁移场景。 父主题: 设计迁移方案
-
四种停服切换方式 表2 四种停服切换方式 切换方式 适用场景 停服时长 停服次数 影响范围 一把切(应用层和数据层整体停机后切换) 适用于停机窗口较长、无法清晰梳理应用之间和应用与数据层之间关联关系的业务 长 1 全部业务 分3~4次切换,应用层先灰度切流(1%,30%,…100%),然后停机,数据层整体切换,再将内外部域名切换到目的端 适用于停机窗口较小,业务可接受短时间的跨云访问,跨云带宽和时延评估可以满足业务需求。 中 1 全部业务 分5~10次切换,应用灰度切流(1%,30%,…100%),然后数据层分批次切换(比如:第一批缓存+数据库,第二批缓存+数据库,第三批中间件消息队列等) 适用于停机窗口较小, 业务可接收短时间的跨云访问,跨云带宽和时延评估可以满足业务需求,且切换多次对内外部影响可控。 短 多次 部分业务 按照业务域分批切 适用于业务域相对独立,关联关系简单,可独立拆分上云。 短 多次 部分业务
-
应用层灰度切流,数据层分批切换 应用层灰度切流前做好如下准备工作: 源端应用层已迁移或部署到华为云; 华为云应用层跨云访问源端数据库,已完成业务功能和性能验证,可正常使用。 准备工作完成过后,从源端接入层引流,按照1%~30%,…100%逐步加大流量的方式,流量逐步灰度切换到华为云接入层。 图5 应用层灰度切流 接下来进行数据层分批切换,某批次数据层切换步骤如下: 停止本批次数据层相关的应用和批处理任务。本批次的数据层静止(中间件消息队列中的消息消费完成,数据库无新增数据); 数据对比一致后,切换数据层; 修改相关的配置,启动和本批次数据层相关的应用和批处理任务。进行功能验证及保障,确保业务正常; 某批次应用(如APP1)的外部DNS域名解析,解析地址从源端切换到华为云,流量进入华为云。 图6 数据层分批切换 该方案的优点如下: 应用切换阶段操作简单,引流阶段只调整网关流量权重和负载均衡流量权重即可; 网关、负载均衡灰度引流,一旦有问题,随时可以把流量切换回原环境; 应用切换阶段,应用不需要停止,可正常访问;数据层切换阶段,仅需要部分应用停止写入,但可以读; 数据层单次只切换部分节点,操作较少。只需要部分业务停机,其他业务可以正常使用。 该方案的缺点如下: 需要应用层和数据层梳理,需要花费大量人力和时间; 跨云后,数据层回退难度较大; 跨云阶段依赖专线、如果有大量数据需要跨云访问,可能会造成业务延迟。
-
停服时长例外情况 停服时长小于30分钟:若停服时长要求小于30分钟,可以通过分批迁移,划分较小的批次或者采用分层切换(比如先切应用层再切数据层)的方式,且所有操作都脚本化/工具化,停服时长也有可能小于30分钟。 停服时长大于3.5小时:迁移规模和数据量大、业务关联关系复杂无法分批、切换Runbook操作复杂且自动化程度不高,停服时长可能大于3.5小时,有的甚至8~10小时。比如某大型企业600+微服务,100+个中间件,80+数据库,1000+个批处理任务,4000+个测试用例,停服时长约8个小时。
-
一把切(应用层和数据层整体停机后切换) 准备工作: 源端应用和数据已迁移到华为云; 华为云应用层和数据层已完成业务功能和性能验证,可正常使用; 业务切换: 停止源端应用层和批处理任务,使源端不再产生新增数据,检查中间件消息无新增,检查数据层无新增; 源端数据层和华为云数据层增量同步完成,并完成数据一致性对比,断开同步链路; 华为云上的应用层和数据层内部域名等配置修改,重启华为云上的应用服务; 外部DNS域名解析,将解析地址从源端接入层切换到华为云接入层,使外部流量进入华为云; 图2 一把切方案
-
应用层灰度切流,数据层整体切换 应用层灰度切流前做好如下准备工作: 源端应用层已迁移或部署到华为云; 华为云应用层跨云访问源端数据库,已完成业务功能和性能验证,可正常使用。 准备工作完成过后,从源端接入层引流,按照1%~30%,…100%逐步加大流量的方式,流量逐步灰度切换到华为云接入层。 图3 应用层灰度切流 接下来进行数据层整体切换,步骤如下: 源端和目标端的应用层和批处理任务停止服务,防止新数据写入,此时业务无法使用; 等中间件消息队列中的消息消费完成,数据层增量同步到华为云,对比源端和目标端数据层数据一致性; 修改配置,将华为云应用层指向华为云数据层,启动应用服务; 外部DNS域名解析,解析地址从源端切换到华为云,流量进入华为云。 图4 数据层整体切换
-
按照业务域分批切换 准备工作: 本批次要切换的业务域如X业务已完成部署及迁移; 本批次要切换的业务域已内部通过功能和性能验证,可正常使用。 本批次业务域切换步骤: 停止源端业务域1对应的应用层和批处理任务等,使其不再产生新增数据;停止和本业务域共用中间件和数据库的应用和批处理任务等,使其不再产生新增数据; 检查本批次要切换的中间件和数据层无新增数据,数据对比一致后断开同步链路; 修改目的端的相关配置;启动目标端业务域1对应的应用服务和批处理任务;启动源端和其共用中间件和数据库的应用服务和批处理任务; 域名切换到华为云,进行功能和性能验证,确保业务正常。 图7 按业务域分批切
-
停服时长评估 基于华为云的迁移经验,切换期间大部分应用停服时长在0.5小时~3.5小时,下面停服时长可供参考: 表1 停服时长分析 上云迁移停服时长评估 总停服时长(36~211分钟) 源端停机(12~75分钟) 增量数据同步及校验(6~40分钟) 目的端拉起(18~96分钟) 源端停机(18~96分钟) 时长(分钟) 缩短时长的方法 增量数据复制 时长(分钟) 缩短时长的方法 目的算业务拉起 时长(分钟) 缩短时长的方法 接入层流量入口关闭(网关/ELB) 1~5 1、通过API接口调用或脚本批量操作,减少操作时间 最后一次增量同步 1~10 1、在业务低峰进行切换,减少增量数据 数据库开启写 1 1、脚本开启 应用层停服(关停应用) 1~30 1、提前关停非核心业务,减少操作量 2、统一运维批量关停,减少操作时间 3、统一日志平台,减少应用日志检查时间 数据校验 5~30 1、开启工具的动态校验功能,减少校验时间 应用启动 1~30 1、统一运维平台,批量关停,减少操作时间 2、统一日志平台,减少应用日志检查时间 中间件层停服(消息消费完) 5~30 1、提前关停非核心业务,减少消息量 2、统一监控平台,减少检查时间 - - - 应用测试 15~60 1、测试用例自动化 2、只测试核心测试用例 数据层停服(停写检查) 5~10 1、统一监控平台,减少检查时间 - - - 流量切换 1~5 1、通过API接口调用或脚本批量操作,减少操作时间
-
数据层迁移实施 对象存储迁移 对象存储适用于存储非结构化的数据,我们日常生活中见到的文档、文本、图片、XML、HTML、各类报表、音视频信息等等都是非结构化数据。不同的量级对应了不同的迁移方式,如下图所示: 图1 对象存储迁移方案 表1 三种对象存储迁移方式说明 对象存储 迁移方式 适用场景 备注 对象存储迁移 OBS客户端拷贝 数据量较少,GB级数据 - OMS工具迁移+回源 数据量大,TB级及PB级数据,且有较大增量数据 优先推荐,华为云有技术支持 线下DES磁盘拷贝 数据量较大,增量少的TB级数据 - OMS工具+回源迁移:对象存储迁移服务OMS作为易用、高效的线上数据迁移服务,通过调用源端对象存储的SDK,可快速传输数据并对数据进行加密存储,将数据复制到华为云OBS,可以帮助把对象存储数据从其他云服务商对象存储服务中的数据轻松、平滑地迁移到华为云。通过第一次全量任务,将源端对象存储全量数据迁移至华为云OBS,业务切换时,在华为云配置回源规则,将部分增量数据,通过回源的方式迁移至华为云OBS,在业务切换后,再进行一次全量迁移,本次全量迁移,将自动跳过已经迁移的对象,将剩余增量数据迁移至华为云OBS。 在对象存储迁移服务中,可以查看迁移任务、管理迁移任务,创建迁移任务组,评估桶内数据,查看审计日志等,具体内容请查看OMS帮助文档。 图2 对象存储迁移服务 线下DES磁盘拷贝: 云下数据也提供了数据快递服务(DES)来迁移数据,DES 是面向TB或PB级数据上云的传输服务,它使用物理存储介质(USB、eSATA接口的磁盘等)、或Teleport向华为云传输大量数据,解决了上云带宽昂贵、传输时间长的难题。 详细信息请查看DES帮助文档。 同时,对于储存数据的迁移华为云也提供了定制迁移服务,专业数据迁移团队可以为企业定制迁移方案并全程贴身服务,协助客户实施全量与增量数据迁移,协助客户验证全量与增量数据迁移的效果,完成云下存储数据到云上存储数据的迁移。 详细信息请查看上云迁移服务。 文件存储迁移 NAS文件存储是一种可共享访问、弹性扩展、高可靠以及高性能的分布式文件系统。 华为云的弹性文件服务SFS提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(Elastic Cloud Server,ECS)、容器(CCE&CCI)和裸金属服务器(BMS)提供共享访问。 NAS文件储存迁移时,在网络互通的情况下,可以进行多平台挂载使用,通过Rclone工具或者Rsync工具的复制文件的能力,在中转主机上将源挂载目录文件复制到SFS或者SFS Turbo文件系统上。 图3 文件迁移方案 Rclone 是一款命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据,Rclone工具支持自定义多线程多并发迁移任务,大大提高迁移效率,缩短迁移周期。具备数据同步、检查能力,能够将源端文件系统中的数据拷贝到目的端,完成NAS文件的迁移。 Rsync(Remote synchronize)是一种基于RCP协议(Remote Copy Protocol)的,使用其Rsync算法的远程文件同步工具。 图4 Rsync迁移 通过在各业务平台开启Rsync服务,在文件服务器中配置Rsync客户端脚本,通过FileServer系统的定时任务,如:Linux的Crontab,定时将业务服务器的文件以文件增量的方式(第一次是全量)同步到磁阵中。优势: 文件增量同步,速度快,效率高,占用资源少。 通过SSH,RSH等模式可对第三方平台跨网络开放。 服务端不想共享时,只需停止Rsync服务,不影响其它业务。 支持镜像方式数据拷贝,适合于互联网模式下的静态文件分布式部署,可扩充性好。 数据库迁移 数据库主要分为关系型数据库与非关系型数据库两大类,能保持数据一致性是关系型数据的最大优势,从IDC或者云上将数据库迁移到华为云,有以下三种方法: 利用SMS主机迁移。如果源端是在ECS上自建数据库,需要将自建ECS数据库服务器迁移到华为云弹性主机ECS上,SMS可以帮助轻松实现,但是此时会中断数据库业务,需要注意。但是当对停机时间有较高要求,您也可以使用数据库的备份恢复功能或者数据库同步复制技术进行迁移。 使用备份恢复进行迁移。备份恢复迁移数据库的备份还原方案是指的保存源系统的数据,停止源系统数据库业务,在源系统进行数据库全备份,确保必要的日志也保留,并在目的系统进行还原。 使用数据库复制服务(Data Replication Service,DRS)进行迁移,实现跨云平台数据库迁移、云下数据库迁移上云或云上跨Region的数据库迁移等多种场景,用于数据库在线迁移和数据库实时同步的云服务。DRS服务是一种易用、稳定、高效,用于数据库平滑迁移和数据库持续同步的云服务。DRS围绕云数据库,降低了数据库之间数据流通的复杂性,有效的减少数据传输的成本。 数据复制服务支持多种数据源之间的数据流通,实时迁移、备份迁移、实时同步、数据订阅和实时灾备对不同数据库的支持不同,详细情况请查看DRS帮助文档。 图5 DRS迁移 以下是常见的数据库迁移最佳实践。更多最佳实践可以查看DRS最佳实践汇总(中国站)。 表2 数据库迁移最佳实践 源数据库类型 目标数据库 最佳实践在线文档 其他云MySQL数据库 华为云RDS for MySQL 其他云MySQL迁移到云数据库 RDS for MySQL 华为云 GaussDB (for MySQL) 其他云MySQL迁移到GaussDB(for MySQL) 其他云MongoDB 华为云DDS 其他云MongoDB迁移到DDS 自建MySQL 华为云RDS for MySQL 自建MySQL迁移到RDS for MySQL ECS自建MySQL 华为云GaussDB(for MySQL) ECS自建MySQL迁移到GaussDB(for MySQL) ECS自建MongoDB 华为云DDS ECS自建MongoDB迁移DDS 本地自建MySQL 华为云RDS for MySQL 本地MySQL迁移到RDS for MySQL 本地自建MongoDB 华为云DDS 本地MongoDB迁移到DDS 华为云RDS for MySQL 分布式数据库 中间件DDM RDS for MySQL迁移到DDM MySQL分库分表 分布式数据库中间件DDM MySQL分库分表迁移到DDM 本地Microsoft SQL Server 华为云RDS for SQL Server 本地Microsoft SQL Server备份迁移至本云RDS for SQL Server实例 父主题: 迁移
-
网络控制策略 网络控制策略是数据边界的第二道防线,主要是通过VPCEP(Virtual Private Cloud Endpoint, VPC终端节点 )策略来实现。 VPCEP是一种用于在VPC中建立私有连接的网络服务。通过VPCEP,用户可以在不使用公网IP地址的情况下,安全地将VPC连接到华为云的服务和资源。这意味着数据在传输过程中不会经过互联网,降低了被截获和攻击的风险。VPCEP策略附加到VPC终端节点上面,允许您控制哪些主体(或身份)可以使用该VPC终端节点访问云资源,通过配置VPCEP策略,企业可以构建一个封闭、安全的网络环境,不仅可以确保数据在内部网络中安全传输,还可以保障只有可信的身份才可以访问云资源及敏感数据。例如,企业可以将关键业务系统部署在VPC内,通过VPCEP访问华为云的RDS实例,而不必暴露在公网中,同时可以限定只有数据库管理员张三可以通过该VPCEP访问RDS实例,进一步保证了敏感数据的安全性。 关于如何管理VPCEP策略,请查看管理终端节点的策略。
-
身份控制策略 身份控制策略是数据边界的第一道防线。它确保只有经过严格验证的可信身份才能够访问企业的云资源。身份控制策略主要通过SCP(Service Control Policy,服务控制策略)和 IAM 策略来实现。 SCP是一种基于组织的访问控制策略。组织管理账号可以使用SCP指定组织中成员账号的权限边界,限制账号内用户的操作。SCP可以关联到组织、OU和成员账号。当SCP关联到组织或OU时,该组织或OU下所有账号均受该策略影响。 关于SCP的详细介绍,请查看服务控制策略概述。 需要注意的是,SCP的影响范围比较大,在生产环境实施SCP之前,强烈建议您先在测试环境下开展充分的测试验证,避免对生产环境中云资源的使用产生不必要的影响。 IAM策略用于精细化地控制用户、用户组和委托对华为云资源的访问权限。通过IAM策略,企业可以基于最小权限原则,为用户分配恰到好处的权限,确保他们只能访问与其工作相关的资源和操作。这不仅提高了安全性,还减少了权限滥用的风险。 关于IAM策略的详细介绍,请查看IAM权限基本概念。 在华为云中,身份控制策略主要通过SCP和IAM策略来实现。如果同时设置了SCP和IAM策略,对用户来讲实际有效的权限范围是两者的交集。
-
资源控制策略 资源控制策略是数据边界的第三道防线。这主要由云服务提供的访问控制策略来实现,如OBS(Object Storage Service,对象存储服务)的桶策略。 桶策略是一种基于资源的访问控制策略,允许桶的所有者指定对桶和对象的权限控制。通过桶策略,企业可以定义允许或拒绝哪些用户可以对桶执行哪些操作。例如,可以允许某个用户对特定的桶进行读取操作,但禁止写入或删除。桶策略支持基于条件的访问控制,可以根据请求者的IP地址、请求时间等条件,灵活地控制访问权限。例如,企业可以设置桶策略,仅允许来自公司内部网络的请求访问桶,或者限制特定时间段的访问。 关于如何创建桶策略,请查看使用模板创建桶策略。 桶策略和VPCEP策略可以结合起来使用,达到“双端固定”的效果,一方面,设置VPCEP策略可以限制VPC中的服务器(ECS/CCE/BMS)只能访问OBS中的特定资源;另一方面,设置桶策略可以限定OBS中的桶只能被特定VPC中的服务器访问,从而在请求来源和被访问资源两个角度保障了安全性。 关于如何配置双端固定,请查看配置双端固定。 全方位数据边界的构建,是一个系统性和综合性的工程,需要企业在身份、网络和资源三个层面都实施严格的控制策略。只有三者相互配合,才能真正构筑起坚不可摧的数据安全屏障。
-
云原生安全服务 华为云提供了丰富的云原生安全服务,这些云原生安全云服务与华为的云平台深度集成,在性能、弹性、便利性上有较好的优势,同时,云服务商的安全运营经验也会持续推动云原生安全服务的能力提升,建议企业优先选择云原生安全服务。 数据加密 服务 数据加密服务(Data Encryption Workshop, DEW)是一款综合的云上数据加密服务。它可以提供专属加密、密钥管理、凭据管理、密钥对管理等服务,安全可靠的为您解决了数据安全、密钥安全、密钥管理复杂等问题。其密钥由硬件安全模块(Hardware Security Module,HSM) 保护,并与多个华为云服务集成。用户也可以借此服务开发自己的加密应用。 关于DEW服务的详细功能和详细使用方法,请参考DEW帮助文档。 主机安全 主机安全服务(Host Security Service,HSS)是以工作负载为中心的安全产品,HSS通过对主机、容器进行系统完整性的保护、应用程序控制、行为监控和基于主机的入侵防御等,保护工作负载免受攻击。HSS不受地理位置影响,为主机、容器等提供统一的可视化和控制能力。 关于HSS服务的详细功能和详细使用方法,请参考HSS帮助文档。 Web应用防火墙 服务 Web应用防火墙(Web Application Firewall,WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。在WAF管理控制台将网站添加并接入WAF,即可启用WAF。启用之后,您网站所有的公网流量都会先经过WAF,恶意攻击流量在WAF上被检测过滤,而正常流量返回给源站IP,从而确保源站IP安全、稳定、可用。 关于WAF服务的详细功能和详细使用方法,请参考WAF帮助文档。 数据库安全 数据库安全服务(Database Security Service,DBSS),是一个智能的数据库安全服务,基于机器学习机制和大数据分析技术,提供数据库审计,SQL注入攻击检测,风险操作识别等功能,保障云上数据库的安全。包括用户行为发现审计、多维度分析、实时告警、提供精细化报表、敏感数据保护、审计日志备功能。数据库安全审计提供的旁路模式数据库审计功能,可以对风险行为进行实时审计和告警。同时,通过生成满足数据安全标准的合规报告,可以对数据库的内部违规和不正当操作进行审计及定位追责。 关于DBSS服务的详细功能和详细使用方法,请参考DBSS帮助文档。 云防火墙 云防火墙(Cloud Firewall,CFW)是新一代的云原生防火墙,提供云上互联网边界和VPC边界的防护,支持按需弹性扩容,是为用户业务上云提供网络安全防护的基础服务。其安全功能包括VPC间边界防护、访问控制策略、入侵防御策略、病毒防御、流量分析、系统管理、等功能特性。 关于CFW服务的详细功能和详细使用方法,请参考CFW帮助文档。 数据安全中心 数据安全中心服务(Data Security Center,DSC)是新一代的云化数据安全平台,提 供数据分级分类、数据安全风险识别、数据水印溯源和数据静态脱敏等基础数据安全能力。DSC通过数据安全总览整合数据安全生命周期各阶段状态,对外呈现整体云上数据安全态势,帮助用户实现数据安全全生命周期管理。 关于DSC服务的详细功能和详细使用方法,请参考DSC帮助文档。 安全云脑 安全云脑(Security Master,SecMaster)是华为云原生的新一代安全运营中心,集华为云多年安全经验,基于云原生安全,提供云上资产管理、安全态势管理、安全信息和事件管理、安全编排与自动响应等能力,可以鸟瞰整个云上安全,精简云安全配置、云防护策略的设置与维护,提前预防风险,同时,可以让威胁检测和响应更智能、更快速,帮助您实现一体化、自动化安全运营管理。 关于SecMaster服务的详细功能和详细使用方法,请参考SecMaster帮助文档。 DDoS防护 DDoS防护(Advanced Anti-DDoS,AAD)在企业重要业务连续性方面提供了有力保障。当用户的服务器遭受大流量DDoS攻击时,DDoS防护可以保护用户业务持续可用。DDoS防护通过高防IP代理源站IP对外提供服务,将恶意攻击流量引流到高防IP进行清洗,确保重要业务不被攻击中断。DDoS防护服务于华为云、非华为云及IDC的互联网主机。 关于DDoS防护服务的详细功能和详细使用方法,请参考DDoS帮助文档。 云证书管理服务 云证书管理 服务(Cloud Certificate Manager,CCM)是一个为云上海量证书颁发和全生命周期管理的服务。目前,它提供有SSL证书管理(SSL Certificate Manager,SCM)和私有证书管理(Private Certificate Authority,PCA)服务。 关于云证书管理服务的详细功能和详细使用方法,请参考CCM帮助文档。 漏洞管理服务 漏洞管理服务(CodeArts Inspector)是针对网站、主机、移动应用、软件包/固件进行 漏洞扫描 的一种安全检测服务,目前提供通用漏洞检测、漏洞生命周期管理、自定义扫描多项服务。扫描成功后,提供扫描报告详情,用于查看漏洞明细、修复建议等信息。 关于漏洞管理服务的详细功能和详细使用方法,请参考CodeArts Inspector帮助文档。 云堡垒机 云 堡垒机 (Cloud Bastion Host,CBH)是华为云的一款4A统一安全管控平台,为企业提供集中的帐号(Account)、授权(Authorization)、认证(Authentication)和审计(Audit)管理服务。CBH服务提供云计算安全管控的系统和组件,包含部门、用户、资源、策略、运维、审计等功能模块,集单点登录、统一资产管理、多终端访问协议、文件传输、会话协同等功能于一体。通过统一运维登录入口,基于协议正向代理技术和远程访问隔离技术,实现对服务器、云主机、数据库、应用系统等云上资源的集中管理和运维审计。 关于CBH服务的详细功能和详细使用方法,请参考CBH官网帮助文档。 父主题: 安全运营
-
华为云大数据组件 常用的华为云大数据服务组件如下,设计大数据部署架构时可参考: MapReduce服务 (MapReduce Service,简称 MRS ) MRS是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群,完全兼容开源接口,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件,并具备在后续根据业务需要进行定制开发的能力,帮助企业快速构建海量数据信息处理系统。 详细信息请参考MRS帮助文档。 数据湖探索 (Data Lake Insight,简称 DLI ) 完全兼容Apache Spark、Apache Flink、Trino生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务,支持标准SQL/Spark SQL/Flink SQL,支持多种接入方式,并兼容主流数据格式。数据无需复杂的抽取、转换、加载,使用SQL或程序就可以对云上CloudTable、RDS、DWS、 CSS 、OBS、ECS自建数据库以及线下数据库的异构数据进行探索。 详细信息请参考DLI帮助文档。 云搜索服务 (Cloud Search Service,简称CSS) 基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本、以及基于AI向量的多条件检索、统计、报表。Elasticsearch是一个搜索引擎,可以实现单机和集群部署,并提供托管的分布式搜索引擎服务。在ELK整个生态中,Elasticsearch集群支持结构化、非结构化文本的多条件检索、统计、报表。 详细信息请参考CSS帮助文档。 数据仓库 GaussDB(DWS) GaussDB(DWS)是基于华为融合数据仓库GaussDB产品的云原生服务 ,兼容标准ANSI SQL 99和SQL 2003,同时兼容PostgreSQL/Oracle数据库生态。DWS提供标准数仓、IoT数仓和实时数仓三种产品形态。 详细信息请参考DWS帮助文档。 数据治理中心 ( DataArts Studio ) DataArts Studio支持对接所有华为云的 数据湖 与数据库云服务作为数据湖底座,例如MRS Hive、数据仓库服务DWS等,也支持对接企业传统数据仓库,例如Oracle、MySQL等。 详细信息请参考DataArts Studio帮助文档。 数据接入服务 (Data Ingestion Service,简称DIS) 处理或分析流数据的自定义应用程序构建数据流管道,主要解决云服务外的数据实时传输到云服务内的问题。数据接入服务每小时可从数十万种数据源(如IoT数据采集、日志和定位追踪事件、网站点击流、社交媒体源等)中连续捕获、传送和存储数TB数据。 详细信息请参考DIS帮助文档。 云数据迁移 (Cloud Data Migration,简称CDM) 云数据迁移(Cloud Data Migration, 简称CDM),是一种高效、易用的数据迁移服务。 CDM围绕大数据迁移上云和 智能数据湖 解决方案,提供了简单易用的迁移能力和多种数据源到数据湖的集成能力,降低了客户数据源迁移和集成的复杂性,有效的提高您数据迁移和集成的效率。 详细信息请参考CDM帮助文档。 数据快递服务(Data Express Service,简称DES) DES是面向TB到数百TB级数据上云的传输服务,目前支持Teleport和磁盘两种数据传输方式。磁盘方式适用于30TB以下的数据量迁移,Teleport方式适用于30TB~500TB的数据量迁移,500TB以上的数据量建议通过专线迁移。 详细信息请参考DES帮助文档。 父主题: 大数据架构设计
-
中间件层迁移实施 Redis迁移 Redis服务一般分为两种大的场景:缓存和数据库存储。在缓存时,一般不用进行迁移数据,大多数场景都是重新在华为云SQL数据库中重新缓存。一般迁移数据都是针对的Redis作为数据库存储使用的场景,其中在web场景下的缓存session时,也可以不用迁移,当客户端重新登录时会在华为云DCS中再一次存储。 离线备份导入 备份文件导入方式当前支持迁移到Redis3.0、Redis4.0和Redis5.0;暂时不支持导入自建Redis5.0生成的rdb备份文件。无论是IDC自建Redis,还是第三方云Redis服务,只要能进行导出备份文件(AOF或RDB),就可以使用DCS迁移服务的备份文件导入方式进行迁移。此种迁移方式属于全量迁移方式,在迁移过程中产生的新增数据无法进行迁移。 源端容量大于10G的情况下,该迁移方式的迁移效率会大大折扣,故当源端内存使用量大于10G的情况下,不建议使用该迁移方案。 图1 Redis离线迁移方案 迁移过程如下: 源Redis数据备份导出: IDC:使用第三方工具或配置策略将备份数据落盘(方法见Redis-cli或Redis-port); 使用备份功能将rdb文件输出到S3中。 备份数据上传至OBS: EC2:使用OBS Browser/obsutil工具将备份文件(aof/rdb)上传至DCS所在的Region的OBS。 S3:创建OMS任务,将S3中的rdb备份文件迁移传输到DCS所在的Region的OBS。 创建DCS迁移任务: 在DCS服务中的数据迁移模块创建迁移任务,选择备份文件导入方式,并选择OBS中源端的aof/rdb备份文件,填写其余选项,启动迁移任务。 DCS数据查询对比两端数据 使用redis查询命令:info keyspace 在线迁移 在线迁移不光可以迁移全量数据,还可以实时同步迁移过程中的增量数据,但是这种迁移方法,需要源端与华为云目标端之间内网互通,而且源端Redis未禁用SYNC和PSYNC命令。 图2 Redis在线迁移方案 迁移过程如下: 创建DCS迁移任务: 在DCS服务中的数据迁移模块创建迁移任务,选择在线迁移方式,根据需要选择去全量迁移或全量迁移+增量迁移方法,填写其余选项,启动迁移任务。 DCS数据查询对比两端数据 迁移任务完成后,使用redis查询命令:info keyspace 消息中间件迁移 消息中间件,包含Kafka、RabbitMQ、RocketMQ、IBMMQ等,消息中间件在迁移项目中,通常使用策略切换的方案来进行迁移。 图3 消息中间件迁移方案 迁移步骤如下: 中断企业应用和生产消息的相关业务,直到消费组中的消息消费完毕 待消息消费完毕,停止消费相关业务 启动华为云的生产消息和消费消息的业务,接入客户流量,观察业务是否正常 父主题: 迁移
-
公司IT治理架构 大企业的业务覆盖范围很广泛,分布在不同的产业和地理区域,为支持整个公司的长期稳定运行和有效管理,通常采用集团化和等级式管理模式。随着经营范围和规模的不断扩大,需要不断建立子公司、分公司,子公司再建立孙公司,大部门也逐步拆分成多个小部门,组织结构的层级也就越来越多。大企业的IT治理架构也会受到组织结构的影响,以下是一个典型的大企业IT治理架构示意图,由于图片空间有限,该示意图中没有穷举全部的层级和图元。本文所描述的Landing Zone参考架构以下图的IT治理架构为基础,将其全部映射到华为云上并有效运转起来。 图1 大企业IT治理架构 在上述大企业IT治理架构中,各个层级的具体含义如下: 集团公司:是指以资本为主要联结纽带,以母子公司为主体,以集团章程为共同行为规范的,由母公司、子公司及其他成员共同组成的企业法人联合体。 子公司:是指一定比例以上的股份被另一公司(母公司)持有并受到该公司实际控制的公司。母公司对子公司的一切重大事项拥有实际上的决定权。但在法律上,子公司仍是具有法人地位的独立企业,并以自己的名义进行业务活动。子公司可以根据经营管理需求再成立自己的子公司或分公司。 分公司:分公司是母公司管辖的分支机构,是指母公司在其住所以外设立的以自己的名义从事活动的机构,如在各个省市成立的销售分公司。分公司不具有企业法人资格,其民事责任由母公司承担。 部门:母公司、子公司和分公司都可以基于自己的经营管理需求设立部门,如软件企业可以按照不同的软件产品线设立不同的部门,工业制造企业可以按照业务流程设立研发部、制造部、采购部、销售部、服务部等。大部门还可以再进一步拆分成小部门。 业务系统:是指为了完成特定任务或解决特定问题而设计的软件系统,以支撑组织内特定的业务流程和业务场景,如ERP、CRM、营销管理系统等。业务系统的开发、测试和运行需要消耗一定的计算、存储、网络、安全、数据库、中间件、大数据、AI服务等资源。大型业务系统能够包含多个子系统。 IT管理系统:为了支撑业务系统的长期安全稳定运行所建立的IT支撑和管理系统,如安全运营中心、IAM和监控运维系统等。 子系统:大型业务系统或IT管理系统通常包含多个相互解耦且相互关联的子系统、功能模块或微服务,这些子系统相互协作,共同实现整体系统的功能。 功能小组:参与业务系统或IT管理系统建设和运维的成员按照职责划分为不同的功能小组,如网络管理组、安全管理组、运维管理组和应用开发组等。 成员:一个成员代表一个参与业务系统或IT管理系统建设和运维的人,1个成员可以加入多个功能小组,但成员一般不允许加入到多个部门。 运行环境:业务系统或IT管理系统通常要部署到不同的运行环境,如生产环境、开发环境和测试环境等。 上述大企业IT治理架构中各个层级之间的关系如下图所示: 图2 大企业IT治理架构的层级关系 上述IT治理架构中的各个层级需要逐一映射到华为云上,在华为云上创建相应的对象,华为云从精益治理的角度推荐如下图所示的映射关系。集团公司映射为华为云的主账号(或管理账号),下面的子公司、分公司和部门都可以映射为华为云的组织单元(Organizational Unit, OU)。一至多个业务系统映射为一个业务账号(用于承载业务系统的子账号),通常是将支撑一个业务单元所需的所有业务系统映射到一个业务账号。一至多个IT管理系统映射为一个IT管理账号(用于承载IT管理系统的子账号)。 子系统则可以映射为华为云的企业项目或者标签。 功能团队映射为华为云IAM的用户组,成员则可以映射到华为云IAM的用户。 生产、开发和测试等运行环境可以映射到不同的VPC,有时候为了严格隔离生产、开发和测试等运行环境,也会将其映射为独立的子账号。需要注意的是,不负责建设和运维业务系统或IT管理系统的子公司、分公司或部门不用映射到华为云。 图3 企业IT治理架构到华为云的映射 父主题: Landing Zone参考架构
-
跨AZ高可用设计示例 跨AZ高可用是IDC上云最主要的价值之一。企业上云后最适合做跨AZ高可用,不仅成本低,而且很便利。下面以某大型零售电商平台为例,介绍上云后的跨AZ高可用设计方法。下图是总体架构图: 图1 高可用设计示例 接入层:Apisix双AZ均衡分布,当某个AZ出现故障时,ELB健康检查机制仍可将流量转发到正常AZ的Apisix实例处理。 应用层:容器化部署,业务节点跨AZ分布。即使某AZ异常,Apisix可以将流量转发到正常应用后端。 中间件层:Kafka、Solr和ES采用3AZ集群部署,任意一个AZ故障,服务仍然可用;Redis采用双AZ主备节点部署。 数据层:MySQL数据库采用双AZ主备部署实现HA;MongoDB使用副本集或Cluster集群,3AZ分布,某AZ故障,其他AZ正常提供服务。 应用层-容器集群高可用 Master高可用:容器集群Master 节点3AZ分布, 3节点(1+1+1)。 Ingress网关高可用:ELB实例开启多可用区,ELB Ingress即支持跨可用区高可用。 应用高可用:K8S本身就支持应用高可用,可通过配置TopologyKey实现pod跨AZ分布。 图2 应用层高可用设计示例 中间件层-Redis高可用 主备实例配置了数据持久化,数据不仅会持久化到主节点磁盘,还会实时同步到备节点,同时备节点也会持久化一份数据。 主备实例部署在不同的可用区内,不同可用区的电力、网络相互隔离,当主节点所在的机房因为电力或者网络出现故障,备节点将接管服务,客户端与备节点正常建立连接以及读写数据。 Redis集群搭配Keepalived生成VIP,提升业务可用性。 图3 中间件层Redis高可用设计示例 中间件层-Kafka高可用 Zookeeper高可用:Zookeeper节点3AZ分布, 3节点(1+1+1)或5节点(2+2+1)。当某个AZ不可用时,集群依旧有超过半数的法定主节点选举个数,保证ZK leader的正常选主。 Kafka-Broker数据节点高可用:Kafka-Broker节点3AZ分布(2+2+1)。Topic副本至少设置3副本,设置unclean.leader.election.enable参数为true,在3AZ其中任意一个AZ整体宕机情况,确保集群始终最少有一份副本。 图4 中间件层Kafka高可用设计示例 中间件层- Elasticsearch高可用 Master高可用:ES Master节点3AZ分布(2+2+1)。在任意一个可用区不可用时,集群依旧有超过半数的法定主节点选举个数,保证Master的正常选主。 数据节点:ES Data节点3AZ分布(2+2+1)。索引shard分片至少设置2副本,加上主分片副本有3副本。假如3AZ中任意一个AZ整体宕机,集群始终都有1份完整的副本,确保数据节点高可用。 图5 中间件层ES高可用设计示例 中间件层- Solr高可用 Zookeeper高可用:Zookeeper节点3AZ分布,3节点(1+1+1)或5节点(2+2+1)。当某个AZ不可用时,集群依旧有超过半数的法定主节点选举个数,保证ZK leader的正常选主。 Sorl数据节点:Sorl Data节点2AZ平均分布。索引分片至少设置(N/2)+1副本,在2AZ其中任意一个AZ整体宕机情况,确保集群始终有一份完整的副本确保数据高可用。 图6 中间件层Sorl高可用设计示例 数据层- MySQL高可用 主备实例跨AZ部署,借助原生MySQL主从复制同步能力实现主备间数据同步。 主备实例以VIP对外提供服务,自身IP不对租户开放。 主备秒级切换,主备切换时VIP漂移至新的主节点,应用感知小(只在切换瞬间有秒级中断)。 支持挂载只读节点,只读节点亦可跨AZ部署 图7 MySQL高可用设计示例 数据层- MongoDB高可用 DDS副本集支持跨三AZ部署、三个节点(默认为三节点、最多可支持七节点)分别部署在三个AZ,利用Mongo原生的复制能力进行数据同步。 Mongo Client原生支持配置多个Server地址,并支持探活。 单AZ故障时,若Primary节点所在AZ故障,利用原生的Mongo选主机制选新主,当备节点不可用时,隐藏节点接管服务,保证高可用,当前支持三副本、五副本、七副本。 图8 MongoDB高可用设计示例 父主题: 可用性设计
-
云资源开通及配置 部署主要是进行云上目标环境的资源开通和配置,并做好上云前的各项检查和测试,并进行迁移环境的准备。 要按照应用部署架构设计方案进行云上资源的开通和配置,云上资源开通主要有如下3种方式: 在云平台Console控制台手动创建云资源。 编写脚本或通过自动化平台对接,调用云平台的API接口,批量发放云资源,每个云服务都有对应的API接口,可以进行资源的生命周期管理。详情请见对应服务的帮助文档。 例如,利用API创建云服务器,请参考这个链接。 使用华为云提供的 应用编排服务 RFS,对资源进行编排和批量发放,具体操作方法,请参考 RFS 的官网文档。 上述三种资源开通方式的对比如表1。具体使用哪种方式进行资源的发放和配置,需要根据实际情况和需求综合考虑。 表1 三种资源开通方式对比 开通方式 场景 优点 缺点 Console控制台手动开通 适用于比较少的资源发放场。 技术门槛低 资源量大的情况下,人力投入较大。 脚本调用API开通 量比较大的场景。 业务定制需求,程序运行按需调用,实现资源的自动创建与删除。 自动化操作:减少资源管理,减少人力投入 灵活性:快速创建、配置、启停云上资源,方便根据业务灵活部署 可编程性:API提供丰富的功能和参数,可以利用编程语言二次开发,满足特定的业务需求 速度快:避免手动操作的繁琐 可重复性:保障资源部署的一致性,降低人工操作出错的风险 学习成本:需要学习使用API接口,及相应的编程语言和工具,需要学习成本 维护复杂性:随业务扩大,脚本的结构和逻辑会复杂,管理和维护更加困难 安全风险:若没有正确的安全措施和权限控制,可能会泄漏敏感数据或资源被滥用等 AOS 资源编排 适用于资源量比较大的场景。 自动化:可以自动化部署和管理云上资源,省去手动管理的繁琐步骤,提高效率 可视化:通过资源编排模板,可以清晰了解云上资源的依赖关系和配置信息减少出错率,提高管理效率 可重用性:编排模板可以反复使用和修改,节约时间和精力,提高开发和管理效率 可追踪性:带有审计功能,方便故障的追踪和回溯 一致性:保证资源配置的一致性,减少人工出错导致的不一致问题 学习成本高,需掌握编排模板语言和云服务相关知识。 调试复杂,因涉及多个云资源之间的依赖关系,如果其中某个环节出错,需耗时排查问题 安全风险,需妥善保管资源编排过程中使用的敏感的认证信息和密钥 风险管理,模板执行过程中出错或缺陷,可能导致资源的不可用 不适用于特殊场景,例如需要复杂的交互和手动干预的场景 可能存在的依赖问题,资源编排中的某些资源可能依赖其它资源的创建和配置,如果依赖的资源不存在或配置不正确,可能会导致资源编排失败 限制,可能存在的限制,如无法直接控制操作系统,不支持所有类型的资源等 父主题: 部署
-
计算服务选型 华为云提供的计算服务主要是ECS(Elastic Cloud Server)服务和CCE(Cloud Container Engine)服务,华为云提供了很多ECS的实例类型,如下表所示,以满足多样化的计算场景需求。 关于上述ECS实例类型的详细信息,请查看实例类型。 表1 ECS实例类型 架构 实例类型 CPU 实例系列 系列说明 适用场景 x86 通用计算增强型 Intel c 计算、存储、网络各方面性能均衡,CPU独享、性能稳定 适合大部分应用场景 AMD ac 与c系列相比,CPU不同、同规格分配的网络带宽更小,保持稳定性能的同时成本更低 高性能计算型 Intel h 与c系列相比,CPU主频更高、计算性能高20%左右 HPC/游戏/科学计算 内存优化型 Intel m 与c系列相比,提供1:8的CPU/内存配比,内存性能更强 内存密集型,数据库/内存数据库 AMD am 与ac系列相比,提供1:8的CPU/内存配比,内存性能更强 超大内存型 Intel e 与c系列相比,提供1:20的CPU/内存配比,内存性能更强 磁盘增强型 Intel d 与c系列相比,提供大容量、低成本的SATA本地盘 大数据/缓存数据库 超高I/O型 Intel i 与c系列相比,提供高IOPS、低时延的大容量NVMe本地盘 ir 与c系列相比,提供高IOPS、低时延的小容量NVMe本地盘 通用计算型 Intel s 与c系列相比,采用非绑定CPU共享调度模式,主机负载较轻时可提供基本与c系列一致的计算性能,成本更低、性价比更高,但无法保证实例计算性能的稳定,适合对性能抖动容忍度较高的场景 一般Web/开发环境/小型数据库 通用入门型 Intel t 成本最低的实例,具备突发性能能力,突发时长受CPU积分影响,低价格 个人使用/维护终端等 GPU加速型 Intel g 搭载T4卡,图像加速 3D动画渲染、CAD p 搭载V100卡,计算加速 AI深度学习、科学计算 pi 搭载T4卡,推理加速 实时推理+轻量级训练 AI加速型 Intel ai 搭载昇腾310芯片,计算加速或推理加速 深度学习、科学计算、CAE ARM 鲲鹏通用计算增强型 鲲鹏 kc 与c系列相比,采用鲲鹏处理器,价格更低 已适配ARM的大部分应用场景 鲲鹏内存优化型 鲲鹏 km 与m系列相比,采用鲲鹏处理器,价格更低 数据库/内存数据库 鲲鹏超高I/O型 鲲鹏 ki 与i系列相比,采用鲲鹏处理器,价格更低 大数据/缓存数据库 鲲鹏AI推理加速型 鲲鹏 kai 与ai系列相比,采用鲲鹏处理器,价格更低 深度学习、科学计算、CAE 以下是ECS服务的选型原则: 业务适用:满足业务需求是选型的第一原则,除CPU、内存外,要特别重点关注带宽需求,通常同一系列的实例规格越大支持的带宽越大。 性价比:在能够满足业务需求的情况下,需要考虑低成本的选型方案。例如:同规格情况下,s系列/ac系列价格低于c系列,运维终端等无强性能需求时选择t系列更划算。对于业务量波动较大的业务,建议通过多节点集群负荷分担+AS弹性伸缩配合,此场景不建议使用大规格实例节点,否则弹性缩容到最小节点数时会存在较多的性能浪费。 可靠性:资源选型需要考虑如何降低故障率、避免单点故障,因此建议优先选择新系列(规格中代系数字更大的),且跨双可用区均衡部署。资源选型优化降本不能以牺牲业务的可靠性为代价,集群组网中单个节点故障不应造成剩余节点超负荷。 一致性:为保证基于镜像的快速扩容、快速恢复、弹性伸缩,承载同一类服务的主机,要求选型规格保持一致,无特殊需求的情况下同一业务系统中避免使用过多的实例类型/规格。 资源满足度:考虑业务发展和扩容诉求,资源选型时一般建议选择主力型号,避免选择老旧、冷门的规格,且尽量选择在主力可用区(如北京四的可用区1和7、上海一的可用区1和4)。 除AI等特殊场景需要使用BMS外,通用算力一般使用ECS即可,几个典型场景的选型建议如下: 表2 典型场景的ECS服务选型 位置 典型应用 选型建议 接入层 负载均衡/应用代理 Nginx c/m系列 运维终端 跳板机 t系列 应用层 普通应用 Web服务 ac/am系列 高性能计算服务 转码服务 c/m系列 中间件层 自建中间件 自建Redis/RocketMQ c/m系列 数据层 自建数据库 自建MySQL/Oracle c/m系列 父主题: 云服务选型
-
业务运营分析场景 场景描述:适用于在应用系统中打印业务日志,例如交易额、客户、产品等信息,然后使用LTS的SQL分析功能,输出可视化图表和仪表盘的场景。 使用建议: 日志采集方式:建议使用采集器ICAgent采集日志,将日志打印到单独的日志文件中,不要与应用程序的运行日志混在一起。不建议使用SDK、API上报日志。 日志结构化解析方式:建议您打印的业务日志使用空格分割或者JSON格式,这样方便快速配置日志结构化解析规则。 日志可视化呈现: 您可以创建自定义的仪表盘,使用类SQL语法分析已经结构化处理好的业务日志。自定义的仪表盘中,您可以添加多个图表,也可以添加过滤器,使用LTS做业务分析,可以减少采购数据仓库,没有额外成本,上手更简单。 日志加工:想要分析的业务日志混在运行日志中,或者业务日志中有些敏感数据需要删除,或者有些数据缺少维度数据,建议使用DSL加工功能对日志进行规整、富化、流转、脱敏、过滤等操作。详细请参考DSL加工。
-
大数据组件日志采集场景 场景描述:有些用户会使用MRS/Flink/Spark等大数据组件做数据处理,希望采集自定义的日志到LTS,但是不希望采集大数据组件的运行日志(对于业务分析价值小)。 使用建议: 日志采集方式:推荐用户使用JAVA SDK或者GO SDK上报日志。常见的大数据组件不太方便指定个性化的日志文件路径去只打印自己的业务日志,因此使用SDK上报日志是比较好的选择。 日志结构化解析方式:LTS支持iOS SDK、Android SDK、百度小程序SDK、微信小程序SDK等端侧SDK,使用端侧SDK上报的日志不支持云端结构化解析,因此建议您上报已经结构化的JSON格式日志。
-
容器应用日志场景 场景描述:适用于用户将应用系统部署在K8S集群上,使用LTS统一采集和搜索日志的场景。用户的应用系统一般由多个工作负载组成,每个工作负载至少部署2个实例。 使用建议: 日志采集方式: 建议使用采集器ICAgent采集日志,您可以使用CCE接入配置日志采集路径。不建议使用SDK、API上报日志。使用ICAgent的好处是与应用系统完全解耦,无侵入,无需更改代码,使用SDK/API等方式步骤相对复杂,如果代码编写不当容易对应用系统的稳定性造成影响。 采集容器应用日志的方式有:容器标准输出、容器文件、节点文件、K8S事件,建议优先使用容器文件。对比容器标准输出,容器文件的优点是可以持久化挂载到主机上,且输出的内容用户自主控制性更强。对比节点文件,容器文件的优点是采集的日志有命名空间、工作负载、POD等元数据信息,在搜索日志的时候更加便捷。 日志组规划:将一个CCE集群的所有日志放在一个日志组中,日志组的别名(支持修改)可以使用CCE集群的名称,日志组的原始名称(不支持修改)建议使用k8s-log-{集群ID}。 日志流规划: 如果您的日志是没有固定规则的日志,可以将类似组件的日志采集到同一个日志流,例如java组件、php组件、python组件。类似组件的日志采集到一个日志流的好处是日志流的数量不至于太多而难以管理,如果您的组件数量比较少(例如小于20个),您可以将每个组件的日志采集到不同的日志流。 如果您的日志是类似NGINX网关这种可以结构化解析的日志,建议您将相同格式的日志采集到同一个日志流。因为统一的日志格式才能方便您后续统一使用SQL分析功能,实现可视化图表分析。 权限隔离: 云日志 服务的日志流支持企业项目隔离,通过为日志流设定不同的企业项目可以实现不同IAM用户有不同日志流的访问权限。
-
应用监控告警场景 场景描述:适用于使用日志来实时监控应用系统是否正常,提前发现系统故障的场景。 SQL告警仅支持全部用户使用的局点有:华南-广州、华北-北京四、华北-乌兰察布一、华东-上海一、中国-香港、西南-贵阳一、亚太-新加坡、华南-深圳,支持部分白名单用户使用的局点有:亚太-曼谷、华北-北京一、华东-上海二、,其他局点暂不支持该功能。 使用建议: 告警统计方式:LTS有两种告警配置方式:关键词告警和SQL告警。如果您的日志是无规则的,那么适用关键词告警,例如java程序的运行日志;如果您的日志是有规则的,例如NGINX网关日志,那么适用SQL统计告警,您可以使用SQL语句对结构化的日志做统计分析,获取您想要的指标配置告警。 告警规则配置:告警触发一般需要越快越好,您的告警规则统计周期建议使用1分钟。您可以使用LTS提供的默认消息模板来发送告警。如果您有个性化的诉求,您可以在系统提供的默认模板的基础上做一些修改保存为消息模板,然后发送告警。 配置ELB/APIG等关键云服务日志告警:ELB经常用来作为应用系统的对外的入口,您可以打开ELB日志对接到LTS,然后配置ELB 5XX状态码告警,这样就可以及时发现系统是否有故障。同时您可以借助开箱即用的ELB仪表盘模板,观察应用系统整体的成功率。
-
云服务 日志分析 场景 如何采集云服务日志到LTS:LTS支持多种云服务接入采集到LTS,您需要在对应云服务的页面打开日志开关,即可以将日志采集到指定的日志组/日志流。 如何配置到最佳使用状态:很多云服务的日志都是支持结构化的,您可以在结构化配置页面为您的云服务日志配置对应的结构化解析规则,详细操作请参考日志结构化配置。结构化解析之后即可对日志使用SQL进行可视化分析。LTS也为很多常见的云服务日志提供了开箱即用的仪表盘,例如ELB/APIG/DCS等开箱即用仪表盘。
-
等保安全合规场景 场景描述:国家网络安全法要求上市公司、金融企业需要保存关键系统日志至少180天,用户可以将这些日志采集到LTS后统一存储。 使用建议: 日志采集方式:DSL加工 云主机和容器日志,建议优先使用采集器ICAgent采集,使用ECS向导或者CCE向导。 云服务日志例如ELB/VPC日志,您可以在云服务界面打开开关将日志采集到LTS。 如果您的某些设备必须要以Syslog协议上报日志,您可以参考如何搭建Syslog服务器收集日志并采集到LTS。 日志存储方式: LTS默认支持用户存储365天,您可以修改日志存储时长。如果您需要更多的存储时长,请提交工单申请开通3年存储时长。 降低存储成本: 使用LTS在23年1130公测的冷存储特性,冷存储的日志存储单价比OBS仅贵25%,但是可以支持搜索,在易用性和成本上是最佳选择。 转储至OBS,优点是成本低,缺点是不支持搜索历史日志的内容,使用不便利。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- ...
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333