华为云用户手册

  • 自研超级调度器Superior Scheduler原理 Superior Scheduler是一个专门为Hadoop YARN分布式资源管理系统设计的调度引擎,是针对企业客户融合资源池,多租户的业务诉求而设计的高性能企业级调度器。 Superior Scheduler可实现开源调度器、Fair Scheduler以及Capacity Scheduler的所有功能。另外,相较于开源调度器,Superior Scheduler在企业级多租户调度策略、租户内多用户资源隔离和共享、调度性能、系统资源利用率和支持大集群扩展性方面都做了针对性的增强。设计的目标是让Superior Scheduler直接替代开源调度器。 类似于开源Fair Scheduler和Capacity Scheduler,Superior Scheduler通过YARN调度器插件接口与YARN Resource Manager组件进行交互,以提供资源调度功能。图1为其整体系统图。 图1 Superior Scheduler内部架构 图1中,Superior Scheduler的主要模块如下: Superior Scheduler Engine:具有丰富调度策略的高性能调度器引擎。 Superior YARN Scheduler Plugin:YARN Resource Manager和Superior Scheduler Engine之间的桥梁,负责同YARN Resource Manager交互。 在调度原理上,开源的调度器都是基于计算节点心跳驱动的资源反向匹配作业的调度机制。具体来讲,每个计算节点定期发送心跳到YARN的Resource Manager通知该节点状态并同时启动调度器为这个节点分配作业。这种调度机制把调度的周期同心跳结合在一起,当集群规模增大时,会遇到系统扩展性以及调度性能瓶颈。另外,因为采用了资源反向匹配作业的调度机制,开源调度器在调度精度上也有局限性,例如数据亲和性偏于随机,另外系统也无法支持基于负载的调度策略等。主要原因是调度器在选择作业时,缺乏全局的资源视图,很难做到好的选择。 Superior Scheduler内部采用了不同的调度机制。Superior Scheduler的调度器引入了专门的调度线程,把调度同心跳剥离开,避免了系统心跳风暴问题。另外,Superior Scheduler调度流程采用了从作业到资源的正向匹配方法,这样每个调度的作业都有全局的资源视图,可以很大的提高调度的精度。相比开源调度器,Superior Scheduler在系统吞吐量、利用率、数据亲和性等方面都有很大提升。 图2 Superior Scheduler性能对比 Superior Scheduler除了提高系统吞吐量和利用率,还提供了以下主要调度功能: 多资源池 多资源池有助于在逻辑上划分集群资源并在多个租户/队列之间共享它们。资源池的划分可以基于异构的资源或完全按照应用资源隔离的诉求来划分。对于一个资源池,不同队列可配置进一步的策略。 每个资源池多租户调度(reserve、min、share、max) Superior Scheduler提供了灵活的层级多租户调度策略。并允许针对不同的资源池可以访问的租户/队列,配置不同策略,如下所示。 表1 策略描述 策略名称 描述 reserve 预留租户资源。即使租户没有作业,其他租户也不能使用该预留的资源。其值可以是百分比或绝对值。如果两者都配置,调度系统动态计算转换为资源绝对值,并取两者的最大值。缺省的reserve值为0。相对于定义一个专用资源池并指定具体机器的方式,reserve的策略可以认为提供了一种灵活的浮动预留功能,由于并不限定具体的机器,可以提高计算的数据亲和性,也不会受具体机器故障的影响。 min 具有抢占支持的最低保证资源。其他租户可以使用这部分资源,但是本租户享有优先使用权。其值可以是百分比或绝对值。如果两者都配置,调度系统动态计算转换为资源绝对值,并取两者的最大值。缺省值是0。 share 不支持抢占的共享资源。本租户要使用这部分资源时,需要等待其他租户完成作业并释放资源。其值是百分比或绝对值。 max 允许的最大资源数量。租户无法获得比允许的最大资源多的资源。其值是百分比或绝对值。如果两者都配置,调度系统动态计算转换为资源绝对值,并取两者最大值。缺省值不受限制。 租户资源分配策略示意图,如图3所示。 图3 策略示意图 其中“total”表示总资源,不是调度策略。 同开源的调度器相比,Superior Scheduler同时提供了租户级百分比和绝对值的混配策略,可以很好的适应各种灵活的企业级租户资源调度诉求。例如,用户可以在一级租户提供最大绝对值的资源保障,这样租户的资源不会因为集群的规模改变而受影响。但在下层的子租户之间,可以提供百分比的分配策略,这样可以尽可能提升一级租户内的资源利用率。 异构和多维资源调度 Superior Scheduler除支持CPU和内存资源的调度外,还支持扩展以下功能: 节点标签可用于识别不同节点的多维属性,可以根据这些标签进行调度。 资源池可用于对同一类别的资源进行分组并分配给特定的租户/队列。 租户内多用户公平调度 在叶子租户里,多个用户可以使用相同的队列来提交作业。相比开源调度器,Superior Scheduler可以支持在同一租户内灵活配置不同用户的资源共享策略。例如可以为VIP用户配置更多的资源访问权重。 数据位置感知调度 Superior Scheduler采用“从作业到节点的调度策略”,即尝试在可用节点之间调度给定的作业,使得所选节点适合于给定作业。通过这样做,调度器将具有集群和数据的整体视图。如果有机会使任务更接近数据,则保证了本地化。而开源调度器采用“从节点到作业的调度策略”,在给定节点中尝试匹配适当的作业。 Container调度时动态资源预留 在异构和多样化的计算环境中,一些container需要更多的资源或多种资源,例如Spark作业可能需要更大的内存。当这些container与其他需要较少资源的container竞争时,可能没有机会在合理的时间内获得所需的资源而处于饥饿状态。由于开源的调度器是基于资源反向匹配作业的调度方式,会为这些作业盲目的进行资源预留以防进入饥饿状态。这就导致了系统资源的整体浪费。Superior Scheduler与开源特性的不同之处在于: 基于需求的匹配:由于Superior Scheduler采用“从作业到节点的调度”,能够选择合适的节点来预留资源提升这些特殊container的启动时间,并避免浪费。 租户重新平衡:启用预留逻辑时,开源调度器并不遵循配置的共享策略。Superior Scheduler采取不同的方法。在每个调度周期中,Superior Scheduler将遍历租户,并尝试基于多租户策略重新达到平衡,且尝试满足所有策略(reserve,min,share等),以便可以释放预留的资源,将可用资源流向不同租户下的其他本应得到资源的container。 动态队列状态控制(Open/Closed/Active/Inactive) 支持多个队列状态,有助于 MRS 集群管理员操作和维护多个租户。 Open状态(Open/Closed):如果是Open(默认)状态,将接受提交到此队列的应用程序,如果是Closed状态,则不接受任何应用程序。 Active状态(Active/Inactive):如果处于Active(默认)状态,租户内的应用程序是可以被调度和分配资源。如果处于Inactive状态则不会进行调度。 应用等待原因 如果应用程序尚未启动,则提供作业等待原因信息。 Superior Scheduler和YARN开源调度器做了对比分析,如表2所示: 表2 对比分析 领域 YARN开源调度器 Superior Scheduler 多租户调度 在同构集群上,只能选择容量调度器(Capacity Scheduler)或公平调度器(Fair Scheduler)两者之一,且集群当前不支持公平调度器(Fair Scheduler)。容量调度器只支持百分比方式配置,而公平调度器只支持绝对值方式。 支持异构集群和多资源池。 支持预留,以保证直接访问资源。 数据位置感知调度 从节点到作业的调度策略导致降低数据本地化命中率,潜在影响应用的执行性能。 从作业到节点的调度策略。可具有更精确的数据位置感知,数据本地化调度的作业命中率比较高。 基于机器负载的均衡调度 不支持 Superior Scheduler在调度时考虑机器的负载和资源分配情况,做到均衡调度。 租户内多用户公平调度 不支持 租户内用户的公平调度,支持关键字default、others。 作业等待原因 不支持 作业等待原因信息可显示为什么作业需等待。 综上所述,Superior Scheduler是一个高性能调度器,拥有丰富的调度策略,在功能、性能、资源利用率和扩展性方面都优于Capacity Scheduler。
  • KrbServer及LdapServer原理 Kerberos认证 Kerberos作为安全认证的概念,该系统设计上采用客户端/服务器结构与DES、AES等加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场景,是一种应用对称密钥体制进行密钥管理的系统。 Kerberos认证协议,主要包含三个角色: Client:客户端 Server:客户端需要请求的服务端 KDC(Key Distribution Center): 密钥分发中心,包括AS和TGS两部分。 AS(Authentication Server): 认证服务器,用于验证客户端账号密码信息,并生成TGT(Ticket Granting Ticket) 票据授权票据。 TGS(Ticket Granting Server): 票据授权服务器,用于通过TGT生成访问服务的服务票据ST。 图2 认证流程图 LDAP数据读写 LDAP作为用户数据存储中心,存储了集群内用户的信息,包含密码,附属信息等。用户操作用户数据或进行Kerberos认证需要访问LDAP。 图3 数据修改过程 LDAP数据同步 安装集群前 OMS LDAP数据同步 图4 OMS LDAP数据同步 安装集群前数据同步方向:主OMS LDAP同步到备OMS LDAP。 安装集群后LDAP数据同步 图5 LDAP数据同步 安装集群后数据同步方向:主OMS LDAP同步到备OMS LDAP、备组件LDAP和备组件LDAP。
  • KrbServer及LdapServer简介 为了管理集群中数据与资源的访问控制权限,推荐安装安全模式集群。在安全模式下,客户端应用程序在访问集群中的任意资源之前均需要通过身份认证,建立安全会话链接。MRS通过KrbServer为所有组件提供Kerberos认证功能,实现了可靠的认证机制。 LdapServer支持轻量目录访问协议(Lightweight Directory Access Protocol,简称为LDAP),为Kerberos认证提供用户和用户组数据保存能力。
  • KrbServer及LdapServer结构 用户登录时安全认证功能主要依赖于Kerberos和LDAP。 图1 安全认证场景架构 图1可分为三类场景: 登录Manager WebUI 认证架构包含步骤1、2、3、4 登录组件Web UI 认证架构包含步骤5、6、7、8 组件间访问 认证架构为步骤9 表1 关键模块解释 名称 含义 Manager 集群Manager Manager WS WebBrowser Kerberos1 部署在Manager中的KrbServer(管理平面)服务,即OMS Kerberos Kerberos2 部署在集群中的KrbServer(业务平面)服务 LDAP1 部署在Manager中的LdapServer(管理平面)服务,即OMS LDAP LDAP2 部署在集群中的LdapServer(业务平面)服务 Kerberos1访问LDAP数据:以负载均衡方式访问主备LDAP1两个实例和双备LDAP2两个实例。只能在主LDAP1主实例上进行数据的写操作,可以在LDAP1或者LDAP2上进行数据的读操作。 Kerberos2访问LDAP数据:读操作可以访问LDAP1和LDAP2,数据的写操作只能在主LDAP1实例进行。
  • Hive CBO原理介绍 CBO,全称是Cost Based Optimization,即基于代价的优化器。 其优化目标是: 在编译阶段,根据查询语句中涉及到的表和查询条件,计算出产生中间结果少的高效join顺序,从而减少查询时间和资源消耗。 Hive中实现CBO的总体过程如下: Hive使用开源组件Apache Calcite实现CBO。首先SQL语句转化成Hive的AST,然后转成Calcite可以识别的RelNodes。Calcite将RelNode中的Join顺序调整后,再由Hive将RelNode转成AST,继续Hive的逻辑优化和物理优化过程。流程图如图1所示: 图1 实现流程图 Calcite调整Join顺序的具体过程如下: 针对所有参与Join的表,依次选取一个表作为第一张表。 依据选取的第一张表,根据代价选择第二张表,第三张表。由此可以得到多个不同的执行计划。 计算出代价最小的一个计划,作为最终的顺序优化结果。 代价的具体计算方法: 当前版本,代价的衡量基于Join出来的数据条数:Join出来的条数越少,代价越小。Join条数的多少,取决于参与Join的表的选择率。表的数据条数,取自表级别的统计信息。 过滤条件过滤后的条数,由列级别的统计信息,max,min,以及NDV(Number of Distinct Values)来估算出来。 例如存在一张表table_a,其统计信息如下:数据总条数1000000,NDV 50,查询条件如下: Select * from table_a where column_a='value1'; 则估算查询的最终条数为1000000 * 1/50 = 20000条,选择率为2%。 以下以TPC-DS Q3为例来介绍CBO是如何调整Join顺序的。 select dt.d_year, item.i_brand_id brand_id, item.i_brand brand, sum(ss_ext_sales_price) sum_agg from date_dim dt, store_sales, item where dt.d_date_sk = store_sales.ss_sold_date_sk and store_sales.ss_item_sk = item.i_item_sk and item.i_manufact_id = 436 and dt.d_moy = 12 group by dt.d_year , item.i_brand , item.i_brand_id order by dt.d_year , sum_agg desc , brand_id limit 10; 语句解释:这个语句由三张表来做Inner join,其中store_sales是事实表,有约2900000000条数据,date_dim是维度表,有约73000条数据,item是维度表,有约18000条数据。每一个表上都有过滤条件,其Join关系如所图2示: 图2 Join关系 CBO应该先选择能起到更好过滤效果的表来Join。 通过分析min,max,NDV,以及数据条数。CBO估算出不同维度表的选择率,详情如表1所示。 表1 数据过滤 表名 原始数据条数 过滤后数据条数 选择率 date_dim 73000 6200 8.5% item 18000 19 0.1% 上述表格获取到原始表的数据条数,估算出过滤后的数据条数后,计算出选择率=过滤后条数/原始条数。 从上表可以看出,item表具有较好的过滤效果,因此CBO将item表的Join顺序提前。 CBO未开启时的Join示意图如图3所示: 图3 未开启CBO CBO开启后的Join示意图如图4所示: 图4 开启CBO 可以看出,优化后中间结果由495000000条减少到了2900000条,执行时间也大幅减少。
  • 设置CodeArts TestPlan接口脚本的响应提取 响应提取是提取接口响应结果的某一部分,命名为参数,供后续测试步骤参数化调用。响应提取需要在前序测试步骤定义,后续测试步骤使用。 用户可根据需要将响应参数中涉及敏感信息进行脱敏配置,可参考敏感参数配置。 在前序测试步骤中,在“响应提取”页签创建要传递的参数。响应提取的来源需要用到内置参数,请参考内置参数了解如何使用内置参数。响应提取同时支持正则表达式的匹配,提取出与给定正则表达式匹配的返回值。 在后续测试步骤中,通过${参数名}方式引用前序测试步骤创建的响应提取。后续步骤的URL、请求头、请求体中均可以引用此参数。如果在JSON格式的请求体中引用此参数,请在参数外使用英文引号,如: { id: "用例ID" name:"${name}" } 响应提取支持根据给定的“key:value”获取字符串,详细配置可参考示例:根据给定的key:value从响应体中获取字符串。 字段 说明 出参名称 用于之后使用${出参名称}来引用此参数,名称使用字母数字下划线。 来源 被检测字段的来源,如响应体(JSON)、响应头、响应码。 属性 在属性中,支持输入$调用全局变量、局部变量、内置函数。 若来源是响应码,属性为空。详细介绍请参见响应码检查。 若来源是响应头,属性为响应头中字段的名称。详细介绍请参见响应头检查。 若来源是响应体(JSON),属性有两种填写方法: 普通提取表达式(非“$”开头),例如“item.name”。 取字段中的值,支持嵌套取值。详细介绍请参见响应体(JSON)检查。 从响应体中提取数组时,下标可以是数字,也可以是“key:value”表达式,详细介绍请参见示例:根据给定的key:value从响应体中获取字符串。 JsonPath表达式(“$.”或“$[”开头),例如“$.store.book[0].title”。 详细介绍请参见示例:根据JsonPath从响应体中获取数据。 高级提取类型 可选项,使用高级提取类型,辅助提取响应结果信息,若选择不涉及则视为不使用额外的方式匹配。 目前有两种方式: 字符串提取,也就是字符串的截取,详见字符串提取说明。 正则表达式,即使用正则方式对来源字符串进行过滤,详见正则表达式说明。 高级提取类型优先使用字符串提取功能,若不能满足需求可考虑使用正则表达式。 赋值给环境动态参数 将响应提取后的值赋值给动态参数,用于后续测试引用该动态参数。 父主题: 使用自定义URL请求添加CodeArts TestPlan接口脚本
  • 内置参数 内置参数是将HTTP/HTTPS响应的对应部分参数化,在检查点、响应提取功能中的“来源”选项中可以选择内置参数。 测试计划服务中的内置参数如下表: 内置参数 参数说明 是否支持多级取值 用途 举例 响应体(json) 表示接口返回的响应体。 是 检查点的属性字段 参数传递的属性字段 检查点:判断响应体中的id等于100。 设置方法:设置检查点来源为响应体(JSON),属性为id(前提条件响应体JSON串有id字段),设置比较符为等于(字符串、不区分大小写),设置目标值为100。 响应头 表示接口返回的响应头。 是 检查点的属性字段 参数传递的属性字段 检查点:判断响应头中的token等于abcd。 设置方法:设置来源为响应头,属性为token(前提条件响应头有token),设置比较符为等于(字符串、不区分大小写),设置目标值为abcd。 响应码 表示接口返回的响应码。 否 检查点的属性或值字 变量的属性字段 检查点:判断响应码等于200。 设置方法:设置来源为响应码,设置比较符为等于(数字),设置目标值为200。 内置参数支持多级取值,例如 响应体为“{"result":{"appId":12}}”时,则取appId的格式为:来源选择响应体,属性为“result.appId”。如果result是数组格式。则属性为“result[i].appId”,其中,i为非负整数。
  • 局部参数 局部参数使用范围是当前测试用例,如:测试步骤的参数、检查点、变量等都可以引用局部参数。 局部参数引用形式为“${参数名}”,如:参数名为“hostIp”,则可以使用“${hostIp}”来引用该参数。 局部参数主要配置项如下: 表1 参数主要配置项 配置项 是否必填 描述 名称 是 支持中英文、数字、点号、中文短横线、下划线的半角字符,并且长度范围是1~300。 类型 是 支持文本、随机字符串、随机整数、时间戳、格式化时间戳、生成UUID、Base64编码、MD5哈希值、密码或认证信息、SHA512编码。 详情介绍请参考表2。 描述 否 对参数的简要描述,上限为3000字符。默认为当前参数类型的描述。 单击“文本框”后,用户可以直接输入文本描述。 单击,输入一个json,单击“Json转换”,可以给没有换行的Json添加换行和缩进,单击“回填”添加成功。 值 否 用户可以为不同类型的参数赋值,详情请参考表2。 敏感变量 否 勾选为敏感数据后,测试计划对参数值加密存储,在测试结果日志中使用星号覆盖处理。敏感数据类型适用并不限于个人信息、鉴权信息,例如姓名、地址、用户名等。 动态变量 否 动态参数的值可以在用例执行过程中被赋值。动态参数初始值可为空,被赋值之后,此处显示的是最新值。 动态参数赋值方法:在用例测试步骤“响应提取”的“赋值给环境动态参数”中设置后,在测试执行时,响应提取的内容将被赋值给动态参数。 表2 参数类型 名称 描述 文本 上限为10000字符,支持设置“敏感参数”、“动态参数” ,默认为否。 随机字符串 随机生成指定长度字符串,随机字符串的变量值长度校验范围【1-9999】,不支持设置“敏感参数”及“动态参数”。 随机整数 随机生成指定范围整数,区间范围校验为【-999999999~999999999】,不支持设置“敏感参数”及“动态参数” 。 例如:设置【-9999,9999】 ,会获取这个区间内的随机整数。 时间戳 无需输入,生成当前整数时间戳,不支持设置“敏感参数”及“动态参数”。 格式化时间戳 参数的值默认为当前时间戳,用户可以单击右侧的下拉栏,选择需要的转化后格式。具体参数类型请参加表1,不支持设置“敏感参数”及“动态参数”。 例如:1.yyyy-MM-dd HH:mm:ss:33250825252000 , 预期值为3023-09-05 20:20:52。 2.yyyy-MM-dd:33250825252000,预期值为3023-09-05。 生成UUID 无需输入,不支持设置“敏感参数”及“动态参数”。 Base64编码 使用Base64方法编码参数,上限为256字符,不支持设置“敏感参数”及“动态参数”。 MD5哈希值 使用指定参数生成MD5哈希值,上限为256字符,不支持设置“敏感参数”及“动态参数”。 密码或认证信息 上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 SHA512编码 上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 数组 数组的内容是json数组格式,上限为10000字符,不支持设置“敏感参数”及“动态参数”。 局部参数配置方法如下: 在界面新建变量 进入接口自动化用例编辑的“脚本”页签,单击图标。 单击左上方“新建变量”,输入参数名、类型、值。 全部参数设置完毕,单击“保存”。 从本地批量导入变量 进入接口自动化用例编辑的“脚本”页签,单击图标。 单击“导入”。 在弹框中单击“下载模板”。 按照模板中的格式要求填写参数信息,返回页面,在弹框中单击,上传编写好的文档,单击“确定”。 查看导入结果: 导入成功:列表中将新增参数,新增的参数条数与Excel中编辑的行数相同。 导入失败:页面右上角会显示弹框提示失败,单击“详情”可以查看错误原因,修改后请重新导入。
  • 操作场景 您可以为需要容灾的云硬盘创建复制对,并将其添加到指定的保护组中。保护组添加复制对时: 如果保护组的状态为“可用”,即停止保护状态,此时,生产站点和容灾站点磁盘只是建立复制对关系,数据并未同步。如需数据同步,请开启保护。 如果保护组的状态为“保护中”,即开启保护状态,此时,新添加复制对创建成功后,会自动开启数据同步。 复制对创建完成后,系统默认容灾站点磁盘名称与生产站点磁盘名称相同,但ID不同。 如果需要修改磁盘名称,请在复制对详情页面单击磁盘名称,进入磁盘详情页面进行修改。
  • 操作场景 切换操作将以容灾站点最新的有效数据来创建云服务器,新创建的服务器按照云服务器相关标准计费。如果切换时待切换的服务器仍在运行,系统会将执行切换操作时刻之前的数据同步至容灾站点,持续写入的数据存在无法同步到容灾站点的风险。如果待切换的服务器出现故障无法同步,则可能会丢失部分数据。 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 切换为高危操作,切换后将会在容灾端启动业务,需要用户保证生产端业务已经停止,否则可能造成生产端和容灾端同时接管业务或业务冲突从而造成数据破坏或业务中断,需要对容灾端数据进行验证和分析时建议用“容灾演练”功能。 在V2C场景的切换过程中,会临时创建一个后缀名为VMwareToCloud的系统转换E CS ,请勿对该ECS进行任何操作,否则可能会导致切换失败,切换完成后会自动删除该ECS。 开启网卡切换功能,生产站点服务器会被关机,状态变为“计划性关机”;若不开启网卡切换功能,生产站点服务器不会被关机,状态不变。 切换后,生产站点服务器不能继续提供业务,否则反向同步会将新写入的数据覆盖。
  • 操作步骤 进入弹性云服务器界面,登录已创建好的Windows操作系统弹性云服务器。 进入“控制面板”,单击“用户账号”。 单击“管理用户账号”。弹出“用户账号”对话框。选择用户名“rdadmin”,并单击“重置密码”。 输入新密码,确认无误后单击“确定”。 进入“任务管理器”,在“服务”页签,单击“打开服务”。 分别选择RdMonitor和RdNginx服务,在弹出的属性对话框中选择“登录”,将密码修改为步骤4中输入的新密码并单击“确定”,完成修改密码。
  • 操作场景 为需要容灾的云服务器在指定的保护组下创建保护实例。在当前的生产站点遇到不可抗力导致大规模服务器故障时,可以进行切换,将生产站点服务器上运行的业务切换到容灾站点服务器,从而确保保护实例上运行业务的连续性。 创建保护实例过程中,只在保护组的容灾站点创建对应的云硬盘,云硬盘的类型可根据需要进行选择,云硬盘的大小和生产站点服务器的磁盘保持一致。保护实例创建成功后,自动开启保护,直到数据同步完成。 创建保护实例会将服务器的所有磁盘创建对应的复制关系复制对,并在容灾端创建指定规格的磁盘,后台自动启动数据初始同步,初始同步占用生产站点服务器的磁盘读带宽、CPU及内存,可能会对业务造成一定的影响。 建议在业务低峰时创建保护实例或在对业务有影响时及时停止保护实例(保护实例选择“停止保护”),业务低峰时再开启保护(保护实例选择“开启保护”)。
  • 操作步骤 Linux卸载 登录需要卸载sdrs的服务器,执行以下命令,进行容灾网关或代理客户端卸载。 sh /opt/cloud/sdrs/uninstall.sh 回显中包含如下信息,说明代理客户端卸载成功: ... Uninstall SDRS successfully. Windows 卸载 以管理员身份运行cmd窗口,执行以下命令: C:\cloud\sdrs\uninstall.bat 当交互框出现确认提示框时,输入“y”继续执行卸载。 回显中包含如下信息,说明代理客户端卸载成功: ... Uninstall SDRS successfully. 删除C:\cloud\sdrs目录
  • 示例流程 图1 给用户授权SDRS权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予存储容灾服务管理员权限“SDRS Administrator”和虚拟私有云管理员权限“VPC Administrator”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择存储容灾服务,进入SDRS主界面,单击右上角“创建保护组”,尝试创建保护组,如果成功创建保护组,表示“SDRS Administrator”已生效。 在“服务列表”中选择除存储容灾服务外的任一服务,若提示权限不足,表示“SDRS Administrator”已生效。 创建容灾演练时,选择自动创建VPC,若容灾演练创建成功,表示“VPC Administrator”已生效。
  • Linux安装代理客户端步骤 以下操作以在centos系统安装“24.9.0”版本的代理客户端安装包“sdrs_xxxx_24.9.0.xxxx.tar.gz”为例。 获取在网关节点/opt/cloud目录下生成的安装包sdrs_xxxx_24.9.0.xxxx_with_certs.tar.gz 到待部署服务器的任意目录并比对软件包的sha256值,确保安装包完整性。 在软件包所在目录下,以“root”用户,执行以下命令,解压缩软件包。 tar -zxvf sdrs_xxxx_24.9.0.xxxx_with_certs.tar.gz 执行以下命令,进入安装脚本所在目录。 cd sdrs_xxxx_24.9.0.xxxx 执行以下命令,安装代理客户端软件。 sh install.sh --hostagent-ip=hostagent_ip --drm-ip=drm _ip --role=all 其中,“hostagent_ip”为代理客户端的IP地址,需要设置为安装代理客户端服务器的主网卡IP地址。“drm_ip”为云容灾网关的IP地址。 回显中包含如下信息,说明代理客户端安装成功: ... Installed SDRS successfully. ... 安装完成后,删除安装包及其解压文件。
  • 安装包准备步骤 基于安全考虑,SDRS服务将在首次安装时随机生成自签证书用于组件间认证。为保证通信正常,安装代理客户端时,需使用在网关节点上生成的携带证书的安装包。 仅新安装客户端涉及以下安装包准备步骤。 如果云容灾网关存在已经签名的目标版本安装包,可直接使用该安装包安装,详见Linux安装代理客户端步骤或Windows安装代理客户端步骤。 获取代理客户端软件包到网关服务器的/opt/cloud目录,并比对软件包的sha256值,确保安装包完整性。 IDC上云模式:通过界面链接下载软件包,并上传到网关服务器/opt/cloud目录; 跨区域和跨可用区模式:在服务控制台页面选择生产站点服务器的操作系统及对应版本,复制页面提供的命令,登录到网关服务器,进入/opt/cloud目录,粘贴并执行命令获取软件包。 执行以下命令,将网关节点上的证书打包生成新的Linux安装包和sha256文件: sh /opt/cloud/sdrs/create_certs.sh -l 执行以下命令,将网关节点上的证书打包生成新的windows安装包和sha256文件: sh /opt/cloud/sdrs/create_certs.sh -w 打包windows安装包需要使用unzip\zip命令,若回显中包含如下提示,需安装后再进行重试。 ... unzip not installed. 或者 ... zip not installed.
  • 操作场景 切换操作会改变保护组的容灾方向,将生产站点可用区的业务切换到容灾站点可用区,容灾站点可用区的业务切换到生产站点可用区。如表1所示。 表1 容灾方向切换 - 生产站点 容灾站点 切换前 可用区1 可用区2 切换后 可用区2 可用区1 切换后数据同步不中断,容灾方向更改为从容灾站点到生产站点。您可以针对生产站点预期会出现的中断执行计划性迁移,确保不丢失任何数据。如当前生产站点可用区AZ1即将下电,您可以执行切换操作,将容灾站点可用区AZ2切换至生产站点。切换操作不会影响保护组的数据同步。 切换时SDRS会对ECS的网卡进行迁移,切换后生产站点ECS的IP、EIP、MAC地址会迁移到容灾站点的ECS上,从而保持切换后和切换前ECS的IP、EIP、MAC地址保持不变。 切换启动前,保护组的所有云服务器必须全部处于关机状态。 切换过程中,请勿对保护组内的云服务器执行开机操作,否则可能导致保护组切换失败。 切换完成后,数据同步不会停止,只是数据同步的方向会改变。 切换完成后,保护组的状态变为“保护中”,此时需进入保护实例的详情页面将当前生产站点可用区的云服务器开机。 图1 切换
  • 前提条件 24.6.0及之前版本,需要待重保护的生产站点服务器已完成预配置;如果还未进行预配置,请参考配置生产站点服务器进行配置。 24.9.0及之后版本支持自动配置容灾网关功能(即在重保护过程不再需要配置生产站点服务器)。24.6.0及之前版本实现该功能,需要将网关及生产服务器的sdrs软件升级至24.9.0或之后版本,并参照配置云容灾网关重新配置网关。 保护实例状态为“切回完成”或者“重保护失败”。
  • 操作步骤 以下操作以“24.9.0”版本的代理客户端“sdrs_xxxx_24.9.0.xxxx.tar.gz”为例。 在云容灾网关服务器上获取新版本代理客户端软件包“sdrs_xxxx_24.9.0.xxxx.tar.gz”。 以root权限执行以下升级命令,批量升级代理客户端。 /opt/cloud/sdrs/sidecar/script/cmd_tools.sh upgrade --ip=ip_list --package=package_path --timeout=cmd_timeout_in_s 参数说明: --ip:需要升级的生产站点服务器私有ip列表,多个ip之间使用逗号分隔 --package:需要升级的Linux安装包sdrs_xxxx_24.9.0.xxxx.tar.gz的路径 --timeout:升级命令执行超时时间,单位:秒。默认值:300,建议值:需要批量升级的服务器数量*200(单台生产站点服务器升级代理客户端的时间,若为Windows客户端则建议单台升级超时时间为300) 完整命令示例: /opt/cloud/sdrs/sidecar/script/cmd_tools.sh upgrade --ip=192.168.0.6,192.168.0.188,192.168.0.204 --package=sdrs_xxxx_24.9.0.xxxx.tar.gz --timeout=600 当交互框出现确认提示框时,输入“y”继续执行升级。 如果界面回显中包含“upgrade SDRS successfully”信息,则表示所有生产站点服务器升级成功。
  • 前提条件 已安装云容灾网关。若客户端为linux,云容灾网关为24.6.0及更高版本;若客户端为windows,则要求云容灾网关为24.9.0及更高版本。 需要升级的生产站点服务器已安装代理客户端,若生产站点服务器为Linux操作系统,代理客户端为24.6.0及更高版本,若生产站点服务器为Windows操作系统,代理客户端为24.9.0及更高版本。 在Linux代理客户端升级前,需使用命令getenforce检查SELinux的模式,若为Enforcing模式,则需要临时关闭Enforcing模式或设置为Permissive模式,待升级完成后再恢复配置。
  • 前提条件 24.6.0及之前版本,需要待反向重保护的容灾站点服务器已完成预配置,如果还未进行预配置,请参考配置容灾站点服务器进行配置。 24.9.0及之后版本支持自动配置容灾网关功能(即在反向重保护过程不再需要配置容灾站点服务器)。24.6.0及之前版本实现该功能,需要将网关及生产服务器的sdrs软件升级至24.9.0或之后版本,并参照配置云容灾网关重新配置网关。 保护组中保护实例状态为“切换完成”或者“反向重保护失败”。
  • 操作场景 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 执行反向重保护后,在初始同步过程中,如果容灾站点服务器重启,数据会重新进行同步,直到同步完成。 反向重保护时会将原生产站点服务器关机,状态变为“计划性关机”。 反向重保护会将容灾站点服务器的数据覆盖原生产站点服务器数据,在执行切换操作后,如果生产端服务有写入数据将会被覆盖。 当创建的站点复制对为“IDC”类型且复制类型为“V2C”时,暂不支持反向重保护操作。
  • 异步复制客户端的端口说明 表1 容灾网关端口说明 端口 协议 使用说明 29210 tcp 用于与代理客户端通信 29211 tcp 用于接收控制命令 7443 tcp 用于与API进行通信 表2 生产站点/容灾站点服务器端口说明 端口 协议 使用说明 8091 tcp 用于代理客户端内部消息转发 59526 tcp 用于与容灾网关通信 29210 tcp 本地监听,用于切换后与代理客户端通信 29211 tcp 本地监听,用于切换后接收控制命令 7443 tcp 本地监听,用于切换后与API进行通信 父主题: 附录
  • 操作场景 切换操作将以容灾站点最新的有效数据来创建云服务器,新创建的服务器按照云服务器相关标准计费。如果切换时待切换的服务器仍在运行,系统会将执行切换操作时刻之前的数据同步至容灾站点,持续写入的数据存在无法同步到容灾站点的风险。如果待切换的服务器出现故障无法同步,则可能会丢失部分数据。 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 切换为高危操作,切换后将会在容灾端启动业务,需要用户保证生产端业务已经停止,否则可能造成生产端和容灾端同时接管业务或业务冲突从而造成数据破坏或业务中断,需要对容灾端数据进行验证和分析时建议用“容灾演练”功能。 在V2C场景的切换过程中,会临时创建一个后缀名为VMwareToCloud的系统转换ECS,请勿对该ECS进行任何操作,否则可能会导致切换失败,切换完成后会自动删除该ECS。 开启网卡切换功能,生产站点服务器会被关机,状态变为“计划性关机”;若不开启网卡切换功能,生产站点服务器不会被关机,状态不变。 切换后,生产站点服务器不能继续提供业务,否则反向同步会将新写入的数据覆盖。
  • 操作场景 当生产站点可用区内的云服务器和云硬盘由于不可抗力导致物理环境故障时,可参考本章节执行故障切换操作,启用容灾站点可用区内的云服务器和云硬盘等资源,以确保业务正常运行。 如果启动故障切换,容灾站点的服务器和磁盘将立刻可用。您可上电服务器,或结合云服务器备份服务或云硬盘备份服务将数据恢复至您指定的具有应用一致性的数据恢复点。 故障切换时SDRS会对ECS的网卡进行迁移,切换后生产站点ECS的IP、EIP、MAC地址会迁移到容灾站点的ECS上,从而保持切换后和切换前ECS的IP、EIP、MAC地址保持不变。 启动故障切换的同时,数据同步停止。 故障切换完成后,保护组的状态变为“故障切换”,原容灾站点会变更为生产站点,此时需进入保护实例的详情页面将当前生产站点可用区的云服务器开机。 故障切换完成后,请勿对当前容灾站点可用区的云服务器(原生产站点,即故障端)进行开机操作,否则可能会导致重保护失败。 图1 故障切换
  • 升级步骤 以下操作以升级“24.9.0”版本的容灾网关“sdrs_xxxx_24.9.0.xxxx.tar.gz”为例。 获取云容灾网关软件包到待部署服务器的任意目录。 IDC上云:通过界面链接下载软件包,并上传到待部署的云容灾网关服务器; 跨区域和跨可用区:复制服务控制台页面提供的命令,登录待部署的云容灾网关服务器,进入任意目录,粘贴并执行命令获取软件包。 在软件包所在目录下,以“root”用户,执行以下命令,解压缩软件包。 tar -zxvf sdrs_xxxx_24.9.0.xxxx.tar.gz 执行以下命令,进入升级脚本所在目录。 cd sdrs_xxxx_24.9.0.xxxx.tar.gz 执行以下命令,升级云容灾网关软件。 sh upgrade.sh 回显中包含如下信息,说明云容灾网关升级成功: ... Upgrade SDRS successfully.
  • 前提条件 云容灾网关和代理客户端建议放在同一安全组内,安全组配置为仅允许安全组内弹性云服务器互通。 为保障服务正常运行,需要确保异步复制客户端的端口说明中的端口未被占用。 如果待安装代理客户端的服务器的防火墙已开启,需要放通59526端口的访问。 已安装云容灾网关,云容灾网关为24.9.0及更高版本。 已获取生产站点服务器的Administrator密码,需要安装的生产站点服务器均为Windows操作系统。 已手动安装一台Windows代理客户端,可参见安装代理客户端。 云容灾网关服务器、已安装的代理客户端和待安装的生产站点服务器网络互通,可通过ping命令检查。
  • 异常排查 如果界面回显“error: install SDRS timeout”,则表示脚本超时,在云容灾网关服务器上按照下述步骤排查: 根据回显信息“IP地址 install successfully”可通过以下命令查看到已成功安装代理客户端的生产站点服务器。 等待几分钟通过该命令查看是否有新增服务器出现,若有,则设置的超时时间太短,后台安装依然成功,由此可继续等待几分钟后查看剩下的服务器是否安装成功。。 /opt/cloud/sdrs/sidecar/script/cmd_tools.sh list 若上述步骤中依然查看不到对应的客户端,则查看windows-host-list.txt文件中的密码输入是否正确。
  • 操作场景 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 执行反向重保护后,在初始同步过程中,如果容灾站点服务器重启,数据会重新进行同步,直到同步完成。 反向重保护时会将原生产站点服务器关机,状态变为“计划性关机”。 执行反向重保护后,初始同步完成,如果容灾站点服务器重启,数据不会重新进行同步。之后如果容灾站点服务器写入数据,数据增量同步。 反向重保护会将容灾站点服务器的数据覆盖原生产站点服务器数据,在执行切换操作后,如果生产端服务有写入数据将会被覆盖。 当创建的站点复制对为“IDC”类型且复制类型为“V2C”时,暂不支持反向重保护操作。
  • 前提条件 24.6.0及之前版本,需要待反向重保护的容灾站点服务器已完成预配置;如果还未进行预配置,保护实例将如下图所示无法进行操作,请参考配置容灾站点服务器进行配置。 24.9.0及之后版本支持自动配置容灾网关功能(即在反向重保护过程不再需要配置容灾站点服务器)。24.6.0及之前版本实现该功能,需要将网关及生产服务器的sdrs软件升级至24.9.0或之后版本,并参照配置云容灾网关重新配置网关。 保护实例状态为“切换完成”或者“反向重保护失败”。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全