华为云用户手册

  • GUC参数 表7 GUC参数 变更类型 序号 名称 变更描述 新增 1 sql_use_spacelimit 设置单SQL语句在单个DN上最大存储空间限额。 2 remote_read_mode 设置远程读模式。 3 enable_incremental_catchup 设置是否打开增量catchup。 4 wait_dummy_time 增量catchup中等待从备启动或者从备发回扫描列表的最长时间。 5 enable_xlog_group_insert 用于指定在ARM平台下,xlog是否启动group的插入方式。 6 topsql_retention_time 该参数表示gs_wlm_session_info和gs_wlm_operator_info表中的数据能够保存的天数。 7 user_metric_retention_time 该参数表示用户历史资源监控数据能够保存的天数。 8 instance_metric_retention_time 该参数表示实例历史资源监控数据能够保存的天数。 9 enable_user_metric_persistent 该参数表示是否开启用户历史资源监控转存功能。 10 enable_instance_metric_persistent 该参数表示是否开启实例历史资源监控转存功能。 11 COMM_IPC 通信性能问题定位开关,该参数设置是否打印通信各个节点的报文收发情况。 12 COMM_PA RAM 通信性能问题定位开关,该参数设置是否打印节点通信过程中session参数设置情况。 13 plan_cache_mode 控制cached plan的行为,可以强制走custom plan/generic plan/auto(和当前默认保持一致),默认值为auto。 修改 14 audit_system_object 扩展第18位表示是否审计SYNONYM对象,最大值修改为524287。 15 comm_max_stream 在一体机环境上,该参数集群安装之后,默认值修改为10000。 16 enable_dynamic_workload 默认值由off修改为on。 17 behavior_compat_options 增加成员convert_interval_to_text来控制,是否支持interval到text的隐式类型转换,默认不设置,不支持。
  • 关键字 表2 关键字 变更类型 序号 名称 变更描述 新增 1 SYNONYM 新增非保留关键字SYNONYM。 2 VERIFY 新增保留关键字VERIFY。 3 FAST 新增非保留关键字FAST。 4 COMPLETE 新增非保留关键字COMPLETE。 修改 5 FUNCTION 关键字FUNCTION类型改为非保留关键字‘U’。 6 OVER 关键字OVER类型改为非保留关键字‘U’。 7 SPLIT 关键字SPLIT类型改为非保留关键字‘U’。 8 RETURN 关键字RETURN类型改为非保留关键字‘U’。 9 ISNULL 关键字ISNULL类型改为非保留关键字‘U’。
  • 系统表 表3 系统表 变更类型 序号 名称 变更描述 新增 1 PG_SYNONYM 新增系统表pg_synonym,用于存储同义词对象与关联对象名间的映射关系。 2 PG_REDACTION_POLICY PG_REDACTION_COLUMN pg_redaction_policy用于存储对象脱敏策略,状态表达式等。 pg_redaction_column用于存储对象列信息,哪些列需要被脱敏,及脱敏方式。 3 PG_OBJECT 存储table/foreign table/view/index/sequence/function的创建时间、创建用户、最后修改时间。 修改 4 PG_AUTHID 增加一列authinfo标识用户的认证类型,默认是空,如果是AD用户,则是ldap。
  • 系统函数 表4 系统函数 变更类型 序号 名称 变更描述 新增 1 dbms_redact.add_policy dbms_redact.alter_policy dbms_redact.enable_policy dbms_redact.disable_policy dbms_redact.drop_policy 新增脱敏策略。 更改脱敏策略信息,包括对一个表对象增加脱敏列、修改脱敏列脱敏方式等。 开启、关闭脱敏策略。 删除脱敏策略。 2 pgxc_get_workload_sql_count 提供当前集群所有CN上所有Workload控制组内执行的SELECT/UPDATE/INSERT/DELETE语句的计数统计结果以及DDL、DML、DCL类型语句的计数统计结果。 3 pgxc_get_workload_sql_elapse_time 提供当前集群所有CN上所有Workload控制组内执行的SELECT/UPDATE/INSERT/DELETE语句的响应时间统计结果。 4 get_instr_unique_sql 提供当前节点中收集的Unique SQL的信息。 5 reset_instr_unique_sql(cstring, cstring, INT8) 清理已收集的Unique SQL信息。 6 pgxc_get_instr_unique_sql 提供集群中所有CN上收集的Unique SQL的完整信息。 7 pg_check_authid 根据用户oid检查用户是否存在。 修改 8 pg_stat_get_sql_count 新增提供当前节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。 9 pgxc_get_sql_count 新增提供所有节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。
  • SQL语法 表1 SQL语法 变更类型 序号 名称 变更描述 新增 1 设置临时表空间限额 新增语法CREATE USER/ROLE user1 …TEMP SPACE ‘5GB',进行临时空间配额设置。 2 修改临时表空间限额 新增语法ALTER USER user1 TEMP SPACE ‘5GB’;,进行临时空间配额修改。 3 设置中间计算结果集落盘空间限额 新增语法CREATE USER/ROLE user1 … SPILL SPACE ‘unlimited;,进行中间结果集临时空间配额设置。 4 修改中间计算结果集落盘空间限额 新增语法ALTER USER user1 SPILL SPACE ‘5GB’;,进行中间结果集临时空间配额设置。 5 ALTER TABLE 新增语法:alter table modify not null [enable] / alter table modify null。 6 CREATE INDEX 新增语法:创建索引时支持索引名带schema。 7 ALTER SEQUENCE 新增语法:ALTER SEQUENCE。 8 CREATE SYNONYM 新增语法:CREATE [OR REPLACE] SYNONYM syn_name FOR obj_name。 9 DROP SYNONYM 新增语法:DROP SYNONYM IF EXISTS syn_name。 10 ALTER SYNONYM 新增语法:ALTER SYNONYM syn_name OWNER TO newowner。 11 CREATE USER/ROLE with ldap password disable 支持AD认证,创建用户时指定用户认证类型是ldap。 12 ALTER USER/ROLEwith ldap password disable 支持AD认证,修改用户认证类型为ldap。 13 copy容错表参数选项增加 添加log errors data选项以支持用户自定义选择是否。 填充rawrecord字段。 修改 14 GIN索引 300场景下禁止GIN索引。 删除 15 ALTER TABLE分区表exchange with unlogg表 禁止分区表与unlogged表做exchange交换。
  • 分库分表场景 对于不同库上表可以聚合为一个表,同步时会被统一写入一个目标表中,匹配的分库分表需要保证结构的一致性。 源端配置。 图4 添加逻辑表 已添加的逻辑表支持预览,单击操作列的预览即可。 预览逻辑表,源表数量越多,等待时间可能越长,需要几分钟到几十分钟不等。 图5 逻辑表预览 目标端配置。 源库表和目标匹配策略: 目标端库名:自定义目标端库名。 表匹配策略:默认为与源端逻辑表同名,不可更改。 目标数据源配置: 数据存储路径:Hudi数据存储的基础路径,只对自动建表生效。每张目的端表会在基础路径下创建子目录,支持HDFS或OBS路径。格式如:OBS:obs://{桶名}、HDFS:/开头。 Hudi表属性全局配置:单击“查看编辑”配置Hudi表属性全局配置。 “Hudi全局配置”作用于所有Hudi表,可配置的Hudi配置项参考Hudi官网介绍。 “Hudi全局配置”优先级低于单表“表属性编辑”中的配置,存在相同配置项时会被覆盖。 源表与目标表映射: 图6 配置源表与目标表映射 Hudi表必须设置“同步主键”,在源端为非主键表时,必须在字段映射阶段手动勾选主键。 表属性编辑:单击操作列“表属性编辑”可配置Hudi表属性,包含表类型,分区类型及表自定义属性。 表类型:MERGE_ON_READ、COPY_ON_WRITE。 分区类型:无分区、时间分区、自定义分区。 其中时间分区需要用户指定一个源端表名,选择一个时间转换格式。 比如时间分区用户指定一个源端表名src_col_1,选择一个时间转换格式,日(yyyyMMdd)、月(yyyyMM)、年(yyyy),自动建表时会在Hudi表默认创建一个cdc_partition_key的字段,系统会根据配置的时间转换格式将源端字段(src_col_1)的值格式化后写入cdc_partition_key中。 自定义分区:选择源端的某个字段或多个字段作为分区,多个分区通过英文半角逗号”,”分割。 附加字段编辑:单击操作列“附加字段编辑”可为迁移后的Hudi表中增加自定义字段,附加字段会成为一个新的字段加入到Hudi表的建表中。 表2 附加字段值支持情况 类型 示例 常量 - 内置变量 源端host ip地址:source.host 源端schema名称:mgr.source.schema 源端table名称:mgr.source.table 目的端schema名称:mgr.target.schema 目的端table名称:mgr.target.table 字段变量 - udf方法 substring(#col, pos[, len]): 截取源端col列的子串, 范围在[pos, pos+len)。 date_format(#col, time_format[, src_tz, dst_tz]): 将源端col列按time_format格式化, 可选转换时区。 now([tz]): 获取指定时区的当前时间。 if(cond_exp, str1, str2): 满足条件表达式cond_exp时返回str1, 否则返回str2。 concat(#col[, #str, ...]): 拼接多个参数, 可为源端列或字符串。 from_unixtime(#col[, time_format]): 将unix时间戳按time_format格式化。 unix_timestamp(#col[, precision, time_format]): 将时间转成unix时间戳, 可显式定义时间格式及转换后精度。 对于新建的表,用户可以在已有的源表字段基础上添加附加字段,可以自定义字段名(如custom_defined_col)、选择字段类型、填写字段值。 用户可同时添加多个附加字段。 自动建表:单击“自动建表”为列表中的表按照已配置规则自动建表。成功后表建立方式会显示为使用已有表。
  • 整库场景 源端配置。 添加数据源,选择需要迁移的MySQL表。 图1 选择库表 库与表均支持自定义选择,即可选择一库一表,也可选择多库多表。 目标端配置。 图2 配置目标端参数 源库表和目标匹配策略: 库匹配策略:配置目标数据库的匹配策略,使数据按照规划迁移至目标库。 用户需要提前创建对应数据库,否则可能导致后续自动建表失败。 与来源库同名:会迁移至目的端对应与来源库同名的数据库中。 自定义:支持用户指定目的端库名,也支持通过#{source_db_name}给源数据库名添加自定义字段变成目的端Hudi表的库名。 表匹配策略:配置目标数据表的匹配策略,使数据按照规划迁移至目标表。 用户不需要提前创建对应数据表,后续作业时自动建表。 与来源表同名:会迁移至目的端对应与来源表同名的表中。 自定义:支持用户指定目的端表名,也支持通过内置参数#{source_table_name}给源表名添加前后缀,变成目的端Hudi表的表名。 目标数据源配置: 数据存储路径:Hudi数据存储的基础路径,只对自动建表生效。每张目的端表会在基础路径下创建子目录,支持HDFS或OBS路径。 OBS格式:obs://{桶名}。 HDFS格式:/tmp。 Hudi表属性全局配置:单击“查看编辑”配置Hudi表属性全局配置。 “Hudi全局配置”作用于所有Hudi表,可配置的Hudi配置项参考Hudi官网介绍。 “Hudi全局配置”优先级低于单表“表属性编辑”中的配置,存在相同配置项时会被覆盖。 源表与目标表映射: 图3 配置源表与目标表映射 Hudi表必须设置“同步主键”,在源端为非主键表时,必须在字段映射阶段手动勾选主键。 表属性编辑:单击操作列“表属性编辑”可配置Hudi表属性,包含表类型,分区类型及表自定义属性。 表类型:MERGE_ON_READ、COPY_ON_WRITE。 分区类型:无分区、时间分区、自定义分区。 其中时间分区需要用户指定一个源端表名,选择一个时间转换格式。 比如时间分区用户指定一个源端表名src_col_1,选择一个时间转换格式,日(yyyyMMdd)、月(yyyyMM)、年(yyyy),自动建表时会在Hudi表默认创建一个cdc_partition_key的字段,系统会根据配置的时间转换格式将源端字段(src_col_1)的值格式化后写入cdc_partition_key中。 自定义分区:选择源端的某个字段或多个字段作为分区,多个分区通过英文半角逗号”,”分割。 附加字段编辑:单击操作列“附加字段编辑”可为迁移后的Hudi表中增加自定义字段,附加字段会成为一个新的字段加入到Hudi表的建表中。 表1 附加字段值支持情况 类型 示例 常量 - 内置变量 源端host ip地址:source.host 源端schema名称:mgr.source.schema 源端table名称:mgr.source.table 目的端schema名称:mgr.target.schema 目的端table名称:mgr.target.table 字段变量 - udf方法 substring(#col, pos[, len]): 截取源端col列的子串, 范围在[pos, pos+len)。 date_format(#col, time_format[, src_tz, dst_tz]): 将源端col列按time_format格式化, 可选转换时区。 now([tz]): 获取指定时区的当前时间。 if(cond_exp, str1, str2): 满足条件表达式cond_exp时返回str1, 否则返回str2。 concat(#col[, #str, ...]): 拼接多个参数, 可为源端列或字符串。 from_unixtime(#col[, time_format]): 将unix时间戳按time_format格式化。 unix_timestamp(#col[, precision, time_format]): 将时间转成unix时间戳, 可显式定义时间格式及转换后精度。 对于新建的表,用户可以在已有的源表字段基础上添加附加字段,可以自定义字段名(如custom_defined_col)、选择字段类型、填写字段值。 用户可同时添加多个附加字段。 自动建表:单击“自动建表”为列表中的表按照已配置规则自动建表。成功后表建立方式会显示为使用已有表。
  • 约束限制 对于同一张Hudi表,必须确保同一时间段只有一个集成作业在写入,否则会有Hudi的数据写入冲突,导致作业失败。 源端MySql需要配置最小权限:SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT,即执行SQL: GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '用户名'@'%';
  • 整库场景 源端配置。 Kafka配置。 数据格式:源端Kafka Topic中消息内容的格式。 目前支持JSON、 CS V、TEXT格式。 JSON格式:支持对消息内容以JSON的层级格式进行解析。 CSV格式:支持对消息内容以CSV格式指定分隔符进行解析。 TEXT格式:将整条消息内容作为文本直接同步。 消费组ID:由用户指定,标识当前实时处理集成作业的消费组。 当迁移作业消费DMS Kafka集群某一Topic的消息后,在Kafka集群的“消费组管理”可以看到此处配置的消费组ID、在“消息查询”可以查到消费属性group.id。因为Kafka把消费消息的一方称为消费者(Consumer),多个消费者组成一个消费组(Consumer Group),消费组是Kafka提供的可扩展且具有容错性的消费者机制,建议配置消费组。 字段分隔符:数据格式为CSV格式时支持该参数。 使用该字符进行CSV消息的列分割,仅支持单个字符,默认为逗号。 记录分隔符:数据格式为CSV格式时支持该参数。 使用该字符串进行CSV消息的行分割,默认为换行符:\n。 Kafka源端属性配置:支持设置Kafka的配置项,需要增加 properties. 前缀,作业将自动移除前缀并传入底层Kafka客户端,例如:properties.connections.max.idle.ms=600000。 添加数据源。 图1 添加数据源 目标端配置。 图2 配置目标端参数 目标表的基本配置: 文件存储格式:Parquet、TextFile、SequenceFile。 OBS存储路径:指定OBS文件存储的路径。 支持填写#{source_topic_name}内置变量,可将源端不同的topic的数据写入不同的路径下。例如:obs://bucket/dir/test.db/prefix_#{source_topic_name}_suffix/。 文件压缩方式:指定写入文件的压缩方式,默认不进行压缩。 Parquet格式:UNCOMPRESSED,SNAPPY。 SequenceFile格式:UNCOMPRESSED,SNAPPY,GZIP,LZ4。 BZIP2TextFile格式:UNCOMPRESSED。 全局高级配置:单击查看编辑,配置高级属性。 auto-compaction:数据会先被写入临时文件,当checkpoint完成后,该配置控制检查点产生的临时文件是否被合并。 源表与目标表映射: 图3 配置源表与目标表映射 单表高级配置:单击“单表高级配置”为列表中的topic配置对应属性。 auto-compaction:数据会先被写入临时文件,当checkpoint完成后,该配置控制检查点产生的临时文件是否被合并。 目标字段编辑:单击操作列“目标字段编辑”可为迁移后的目标表中自定义字段。 表1 目标字段值支持情况 类型 示例 源表字段 - 内置变量 __key__ __value__ _topic__ __partition__ __offset__ _timestamp__ 手动赋值 - udf方法 支持填写Flink的内置函数用于数据转换。 例如:CONCAT(CAST(NOW() as STRING), `col_name`)、DATE_FORMAT(NOW(), 'yy')。 注意,其中字段名要用反引号包围起来。 Flink完整内置函数可参考:官网介绍。 可以自定义字段名(如custom_defined_col)、选择字段类型、填写字段值。 用户可同时添加多个字段。
  • 整库场景 源端配置。 添加数据源,选择需要迁移的MySQL表。 图1 选择库表 库与表均支持自定义选择,即可选择一库一表,也可选择多库多表。 目标端配置。 图2 配置目标端参数 设置源表与Topic映射规则: 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。 可以使用的内置变量有: #{source_db_name}:源库名。 #{source_table_name}:源库名。 同步kafka partition策略:支持以下三种投递策略,源端无主键情况下,目的端默认投递到partition 0。 按库名+表名的hash值投递到不同Partition。 全部投递到Partition 0。 按表的主键值hash值投递到不同的Partition。 需要同步的数据库操作:支持同步的数据库操作为DDL和DML。 投递到Kafka的数据格式:投递到Kafka的数据格式有Debezium JSON和Canal JSON。 源表与目标表映射:支持用户根据实际需求修改映射后的目的端topic名称,可以配置为一对一、多对一的映射关系。 图3 配置源表与目标表映射
  • 分库分表场景 源端配置。 图4 添加逻辑表 逻辑表名:即最终写入到DMS Kafka的表名。 源库过滤条件:支持填入正则表达式,在所有Mysql实例中通过该正则表达式过滤出要写入目标端DWS汇聚表的所有分库 源表过滤条件:支持填入正则表达式,在过滤出的源端分库中再次过滤出要写入目标端DWS汇聚表的所有分表 已添加的逻辑表支持预览,单击操作列的预览即可。 预览逻辑表,源表数量越多,等待时间可能越长,请耐心等待。 图5 逻辑表预览 目标端配置。 图6 配置目标端参数 设置源表与Topic映射规则: 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。 可以使用的内置变量有: #{source_db_name}:源库名。 #{source_table_name}:源库名。 同步kafka partition策略:支持以下三种投递策略,源端无主键情况下,目的端默认投递到partition 0。 按库名+表名的hash值投递到不同Partition。 全部投递到Partition 0。 按表的主键值hash值投递到不同的Partition。 需要同步的数据库操作:支持同步的数据库操作为DDL和DML。 投递到Kafka的数据格式:投递到Kafka的数据格式有Debezium JSON和Canal JSON。 源表与目标表映射:支持用户根据实际需求修改映射后的目的端topic名称,可以配置为一对一、多对一的映射关系。 图7 配置源表与目标表映射
  • 原因分析 查看日志提示报错信息为“Array element access needs an index starting at 1 but was 0”,即数组下标必须从1开始,a[1]表示数组中的第一个元素。 查看该 CDM 实时作业:配置源端为Kafka,目的端为 DLI 字段映射,赋值来源为“源表字段”,赋值框使用kafka消息中的嵌套json数组写入方式为a[0]。由于在字段映射使用源表字段对目标列进行赋值时,数组下标必须从1开始(表示数组的第一个元素),如果误用了下标0,那么作业会运行失败,故发现该问题为赋值数组下标设置错误导致,需重新设置。 图2 原有参数配置
  • 问题描述 1. 运行migration mysql2dws链路的实时同步作业,DDL同步中对增加列操作设置为“正常处理”。 2. 在目的端DWS表有数据的场景下,源端MySQL执行DDL语句,添加带非空约束的列,默认值为空字符串,如: alter table test add column t_col varchar(30) not null default '' 3. migration作业产生异常,报错执行DDL失败,失败原因为:column "t_col" contains null values。
  • 注意事项 本功能仅适用于“业务类型”为“全站加速”的 域名 ,且对应的资源在CDN节点不缓存,即对应资源的缓存“规则配置”中“缓存过期时间”设置为“0”。 本功能目前处于公测期,暂不收费。 可设置的最大超时时间是300秒,超过设置的时间没有消息传递,将关闭连接。 后台有特殊配置的域名,暂不支持配置WebSocket。 WebSocket协议和配置HTTP/2功能不兼容,请勿同时开启,否则会造成域名访问异常。
  • 数据保护技术 LTS通过多种数据保护手段和特性,保障LTS的数据安全可靠。 表1 LTS的数据保护手段和特性 数据保护手段 简要说明 详细介绍 传输加密(HTTPS) LTS支持HTTPS传输协议,保证数据传输的安全性。 构造请求 日志冗余存储 日志数据以多副本方式存储,保障数据可靠性。 / 日志转储OBS LTS支持将日志转储到 对象存储服务 OBS,并支持转储到加密OBS桶。用户可以以更低成本保存更长时间的日志,同时可以借助OBS的数据保护技术。 转储OBS 父主题: 安全
  • 产品功能 在使用 云日志服务LTS 之前,建议您先通过表1了解LTS提供的主要功能。 表1 产品功能 功能 说明 端云全场景日志接入 支持40+云服务、主机/容器、移动端、跨云、多语言SDK、多账号汇聚,满足全场景客户丰富的日志接入需求。 实时采集日志 云日志 服务提供实时日志采集功能,采集到的日志数据可以在云日志控制台以简单有序的方式展示、方便快捷的方式进行查询,并且可以长期存储。 采集到日志数据按照结构化和非结构化进行分析。结构化日志是通过规则将日志流中的日志进行处理,提取出来有固定格式或者相似度高的日志内容做结构化的分类。这样就可以采用SQL的语法进行日志的查询。 海量日志存储搜索 对采集的日志数据,可以通过关键字查询、模糊查询等方式简单快速地进行查询,支持百亿日志秒级搜索,千亿日志迭代搜索。 SQL统计和可视化图表 LTS提供多种开箱即用的日志仪表盘模板,用户接入日志后即可快速分析。 将 日志分析 的结果使用可视化图表呈现出来,支持表格、折线图、饼图、柱状图、地图等统计图表,或将统计图表汇聚在仪表盘上统一呈现,方便运营分析。 日志监控与日志告警 支持对存储在云日志服务中的日志数据进行关键词统计或SQL统计,通过在一定时间段内日志中关键字出现次数,实时监控服务运行状态;支持自定义告警内容,支持短信/邮件/企业微信/钉钉/HTTP多渠道通知。 日志转储 主机和云服务的日志数据上报至云日志服务后,支持自定义存储时间。超出存储时间的日志数据将会被自动删除,对于需要长期存储的日志数据(日志持久化),云日志服务提供转储功能,可以将日志转储至对象存储服务(OBS)中长期保存。日志转储基于复制的转储机制,在LTS设置的存储时间内转储至OBS的日志,不会在LTS被删除。 同时LTS还支持转储DWS/DIS/DLI/DMS,让用户实现日志数据便捷在云服务间流转,快速构建水平解决方案。 日志消费与加工 LTS提供DSL日志加工的能力,内置200+函数,可以实现一站式日志规整、富化、脱敏、过滤、分裂等功能;另外结合定时SQL统计,可以对数据实现聚合统计。 支持用户使用SDK消费LTS日志,可以获取全量日志数据,可以作为流计算的数据源(SDK消费功能邀测中,暂未开放)。
  • 主要功能 消息中心主要包括站内消息、消息接收配置、语音接收配置和接收人管理四个功能。 站内消息:支持按消息类别和消息类型,筛选查看站内信。 消息接收配置:用户能够根据自身的需求,配置各个类型消息的接收方式(邮箱、短信、站内信、企业微信、钉钉、飞书)和接收人。 语音接收配置:针对部分消息类型,支持开启语音通知、配置语音接收人、自定义语音接收时段。 接收人管理:支持添加/删除接收人、修改接收人的信息,支持自定义webhook的方式,以及管理接收人订阅的消息类型。
  • 解决方案 方案一:通过项目代码托管设置-成员同步 开启后,自动同步所选角色项目成员至代码组及仓库(项目成员有变动时触发),项目经理不依赖开关始终同步,可单击刷新按钮触发一次全量同步。 方案二:通过成员组进行成员管理。 操作步骤如下: 在项目里定义成员组。 通过代码组对仓库进行分层管理,代码组下建仓库。 将项目的成员组添加到代码组后,项目里的成员组有成员新加入/离开,就会自动同步到仓库。实现成员一键添加到所有代码仓里的述求。
  • 入门流程 云硬盘可以挂载至云服务器,用作提供系统盘和数据盘,系统盘和数据盘购买方式不同,请参见表1。 表1 购买方式 磁盘 说明 方法 系统盘 系统盘需要跟随云服务器一起购买,无法单独购买。 购买弹性云服务器 购买裸金属服务器 数据盘 数据盘可以跟随云服务器一起购买,也可以单独购买。 购买弹性云服务器 购买裸金属服务器 购买云硬盘 以单独购买数据盘为例,流程如图1所示。 图1 入门流程 准备工作: 注册华为账号 并开通华为云,为账户充值等,请参见步骤1:准备工作。 购买云硬盘:设置云硬盘的类型、容量、名称等信息,请参见购买云硬盘。 挂载数据盘:将独立购买的云硬盘挂载至弹性云服务器,请参见: 挂载非共享云硬盘 挂载共享云硬盘 初始化数据盘:数据盘挂载至弹性云服务器后,还不能直接使用,需要登录弹性云服务器初始化后才可以使用。初始化场景介绍及方法请参见: 初始化概述 初始化Linux数据盘(容量小于等于2TiB) 初始化Linux数据盘(容量大于2TiB) 初始化windows数据盘
  • 操作场景 云硬盘容量大于2TiB时,只能使用parted工具为磁盘新建GPT分区。不同云服务器的操作系统的初始化操作可能不同。 分区格式 操作系统 文件系统 初始化工具 配置示例 GPT 不限 ext*(如ext2、ext3、ext4)、xfs、btrfs parted 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc 分区:/dev/vdb1 分区格式:GPT 容量:3TiB
  • 约束与限制 从数据源创建的云硬盘无需初始化。该云硬盘在初始状态就具有数据源中的数据,初始化有丢失数据的风险。如果需要重新初始化,建议先备份云硬盘中的数据。。 初始化云硬盘不会删除云硬盘快照,初始化后仍可以使用快照回滚数据至原云硬盘。 使用该脚本初始化,分区格式默认设置为MBR分区,文件系统类型默认设置为NTFS。 不支持Windows组逻辑卷组的初始化。 Windows最多支持23块数据盘初始化。 只支持初始化简体中文和英文版本Windows系统中的数据盘。
  • 操作场景 本文介绍使用磁盘管理工具和使用脚本来初始化Windows系统中的一块数据盘,下文示例中所使用的配置如下表所示。不同云服务器的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。 初始化方式 分区格式 配置示例 使用脚本初始化数据盘(适用于容量小于等于2 TiB数据盘) GPT MBR 版本:Windows Server 2019 标准版 64bit 设备名:磁盘1 容量:10GiB 初始化后: 分区名:新加卷(D:) 分区格式:MBR 文件系统:NTFS 手动初始化数据盘 GPT MBR 版本:Windows Server 2019 标准版 64bit 设备名:磁盘1 容量:100GiB 初始化后: 分区名:新加卷(D:) 分区格式:GPT 文件系统:NTFS
  • 操作场景 系统盘 创建云服务器时,系统盘会被自动初始化,默认磁盘分区形式为主启动记录分区(MBR, Master boot record)。 全新数据盘 随云服务器创建的数据盘,系统已自动将数据挂载至云服务器,需要您对数据盘进行初始化后才能使用。 不随云服务器创建的数据盘,需要先挂载至云服务器后,再进行初始化。 全新数据盘初始化操作指导,请参见表1。 有数据的数据盘 有数据的数据盘是指从快照/备份/镜像创建的数据盘,或从其他云服务器上卸载后挂载至另一云服务器上的有数据的数据盘。 您可以选择不初始化,直接使用数据盘已有分区: Linux:需要将现有分区挂载至系统指定目录,并设置开机自动挂载至系统指定目录。 Windows:无需做任何操作,直接可以使用。 也可以选择对数据盘重新初始化: 重新划分分区,数据盘已有数据将会被全部删除,建议您先使用快照为云硬盘备份数据。 Linux:需要先卸载目录,并删除现有分区(运行 fdisk 数据盘名称 命令,再输入“d”,输入分区编号,输入“w”保存),再重新初始化即可。 Windows:需要先删除现有分区(使用“删除卷”工具),再重新初始化即可。 初始化操作请参见表1。 初始化云硬盘不会删除云硬盘快照,初始化后仍可以使用快照回滚数据至原云硬盘。
  • 约束与限制 直接将共享云硬盘挂载给多台云服务器无法实现文件共享功能。云服务器之间没有相互约定读写数据的规则,将会导致这些云服务器读写数据时相互干扰或者出现其他不可预知的错误。因此,如需在多台云服务器之间共享文件,需要搭建共享文件系统或类似的集群管理系统。 一块共享云硬盘最多可挂载至16台云服务器,这些云服务器必须与共享云硬盘位于同一区域下的同一可用区。 当共享盘状态为“正在使用”时,必须确保该共享盘还未挂满,才可以挂载给其他云服务器。 共享云硬盘挂载的多台云服务器只能为Windows或Linux操作系统中的一种。比如: 共享云硬盘首次挂载至多台Windows云服务器,则卸载后,也不能挂载至Linux云服务器。因为Windows和Linux支持的文件系统不同,无法识别云硬盘原有文件系统,如果操作不当会导致原有文件系统被破坏。 共享云硬盘只能用作数据盘,不能用作系统盘。 ISO镜像创建的云服务器只建议用来装机,部分功能受限,不支持挂载云硬盘操作。 云服务器的状态为“运行中”或“关机”才可挂载云硬盘。 处于冻结状态的云硬盘,不支持挂载给云服务器。 随包年/包月云服务器购买的系统盘,卸载后,如果继续作为系统盘使用,则只能挂载给原云服务器;如果作为数据盘使用,则可以挂载给任意云服务器。 随按需计费云服务器购买的系统盘,卸载后,如果继续作为系统盘使用,则只能挂载给与该系统盘镜像相同的云服务器;如果作为数据盘使用,则可以挂载给任意云服务器。
  • 操作场景 单独创建的云硬盘为数据盘,可以在云硬盘列表中看到磁盘属性为“数据盘”,磁盘状态为“可用”。此时需要将该数据盘挂载给云服务器使用。 系统盘必须随云服务器一同购买创建,并且会自动挂载,可以在云硬盘列表中看到磁盘属性为“系统盘”,磁盘状态为“正在使用”。当系统盘从云服务器上卸载后,此时系统盘的磁盘属性变为“启动盘”,磁盘状态变为“可用”。 卸载后的系统盘即为启动盘,根据您选择的挂载点不同,启动盘可以重新挂载给云服务器用作系统盘或者数据盘。 本章节指导用户挂载非共享云硬盘。
  • 约束与限制 ISO镜像创建的云服务器只建议用来装机,部分功能受限,不支持挂载云硬盘操作。 非共享云硬盘仅可以挂载至1台云服务器上。 云硬盘只能挂载至同一区域、同一可用区的云服务器上。 随包年/包月云服务器购买创建的非共享数据盘,卸载后,如果重新挂载,则只能挂载给原云服务器作数据盘使用。 云服务器的状态为“运行中”或“关机”才可挂载云硬盘。 处于冻结状态的云硬盘,不支持挂载给云服务器。 随包年/包月云服务器购买的系统盘,卸载后,如果继续作为系统盘使用,则只能挂载给原云服务器;如果作为数据盘使用,则可以挂载给任意云服务器。 随按需计费云服务器购买的系统盘,卸载后,如果继续作为系统盘使用,则只能挂载给与该系统盘镜像相同的云服务器;如果作为数据盘使用,则可以挂载给任意云服务器。
  • 使用脚本初始化数据盘 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 查看待初始化的云硬盘的盘符信息。 lsblk 执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 如果回显异常,请检查云服务器是否绑定弹性公网IP,绑定弹性公网IP后才能获取脚本。 使用脚本对/dev/vdb进行初始化 chmod +x LinuxVMDataDiskAutoInitialize.sh ./LinuxVMDataDiskAutoInitialize.sh 输入盘符如/dev/vdb并回车,脚本将自动执行硬盘的创建分区(/dev/vdb1)与格式化。 您可以使用lsblk查看ECS挂载的所有盘符情况。 对于有数据的云硬盘,脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,请根据提示选择是否卸载磁盘。成功卸载磁盘后根据提示选择是否开始格式化磁盘。 对磁盘进行挂载操作,例如输入挂载目录为/data-test,脚本会自动新建该目录进行挂载操作。 脚本将会自动设置为开机自动挂载。 针对/dev/vdb磁盘分区为/dev/vdb1的初始化成功。
  • 手动初始化数据盘 MBR分区个数最多支持4个主分区或最多3个主分区+1个扩展分区,在扩展分区中创建任意多个逻辑分区。 例如:您需要划分4个分区,可以使用4个主分区,或者1个主分区+1个扩展分区(3个逻辑分区),或者2个主分区+1个扩展分区(2个逻辑分区),或者3个主分区+1个扩展分区(1个逻辑分区)。 示例说明:使用fdisk工具,针对“/dev/vdb”数据盘划分2个MBR主分区,分别为40GiB(/dev/vdb1)、60GiB(/dev/vdb2)。 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 针对数据盘“/dev/vdb”划分2个主分区/dev/vdb1、/dev/vdb2。 查看/dev/vdb数据盘容量为100GiB。 lsblk [root@ecs-centos76 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 1G 0 part /boot └vda2 253:2 0 39G 0 part / vdb 253:16 0 100G 0 disk 开始新建第一个主分区/dev/vdb1。 fdisk /dev/vdb n p 1 “Partition type”:“p”表示主分区,“e”表示扩展分区。 “1”代表主分区编号 [root@ecs-test-0001 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x38717fc1. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 针对第一个分区/dev/vdb1(40 GiB)设置起始磁柱值(2048)和截止磁柱值(83886079)。 First sector (2048-209715199, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079 Partition 1 of type Linux and of size 40 GB is set 开始新建第二个主分区/dev/vdb2。 n p 2 Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 2): 2 针对第2个分区/dev/vdb2设置起始磁柱值(83886080)和截止磁柱值(209715199)。 First sector (83886080-209715199, default 83886080): 83886080 Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199 Partition 2 of type Linux and of size 60 GB is set 分区的起始磁柱值和截止磁柱值计算方法: sectors值=容量/512 bytes,1GiB=1073741824 bytes First sector (2048-209715199, default 2048)是数据盘/dev/vdb(100 GiB)的磁柱范围 起始磁柱=2048 截止磁柱值=sectors值-1=(100 * 1073741824 / 512)-1=209715200-1=209715199 数据盘/dev/vdb的第1个分区/dev/vdb1(40 GiB): 起始磁柱值=2048(此处使用数据盘/dev/vdb的起始磁柱) 截止磁柱值=sectors值-1=(40 * 1073741824 / 512 )-1=83886079 数据盘/dev/vdb的第2个分区/dev/vdb2(60 GiB): 起始磁柱值 = /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080 截止磁柱值 = 起始磁柱值 + sectors - 1 = 83886080+(60 * 1073741824 / 512 ) -1 = 209715199 查看新建分区大小、分区格式信息。 确定之前的分区操作是否正确。 p Command (m for help): p Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x994727e5 Device Boot Start End Blocks Id System /dev/vdb1 2048 83886079 41942016 83 Linux /dev/vdb2 83886080 209715199 62914560 83 Linux Command (m for help): 如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤1和步骤2即可。 确认完成后,将分区结果写入分区表中,并变更同步至操作系统。 w partprobe 如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 再次确认分区格式为MBR。 parted /dev/vdb p “Partition Table:msdos”表示磁盘分区格式为MBR [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary 2 42.9GB 107GB 64.4GB primary (parted) q [root@ecs-test-0001 ~]# 输入“q”,按“Enter”,退出parted模式。 分别对分区/dev/vdb1(40GiB)和/dev/vdb2(60GiB)创建ext4文件系统。 mkfs -t ext4 /dev/vdb1 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。 [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2621440 inodes, 10485504 blocks 524275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done 执行以下命令确认文件系统类型是否是ext4 parted /dev/vdb p [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary ext4 2 42.9GB 107GB 64.4GB primary ext4 (parted) q [root@ecs-test-0001 ~]# 输入“q”,按“Enter”,退出parted模式。 新建目录,并将新建分区挂载至新建目录。 mkdir -p /mnt/sdc mkdir -p /mnt/sdd mount /dev/vdb1 /mnt/sdc mount /dev/vdb2 /mnt/sdd lsblk 查看挂载结果 [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 40G 0 part /mnt/sdc ├vdb2 253:18 0 60G 0 part /mnt/sdd 表示新建分区“/dev/vdb1”和“/dev/vdb2”已分别挂载至“/mnt/sdc”、“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。 不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 该操作不会影响弹性云服务器中的现有数据。 查询磁盘分区的UUID。 blkid /dev/vdb1 blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" /dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 磁盘分区“/dev/vdb1”和“/dev/vdb2”的UUID分别为0b3040e2-1367-4abb-841d-ddb0b92693df、0d6769k2-1745-9dsf-453d-hgd0b34267dj。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表2 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 umount /dev/vdb1 umount /dev/vdb2 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdc mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效。 root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered) root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
  • 操作场景 本文介绍使用脚本和手动方式初始化Linux系统中的数据盘,不同云服务器的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。 表1 初始化指导 操作指导 操作系统 分区格式 文件系统 初始化工具 配置示例 使用脚本初始化数据盘 CentOS MBR ext4 不涉及 设备名:/dev/vdb 分区名:/dev/vdb1 挂载目录:/data-test 手动初始化数据盘 不限 GPT MBR ext*(如ext2、ext3、ext4)、xfs、btrfs fdisk parted 初始化工具:fdisk 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:40GiB 分区格式:MBR 分区二:/dev/vdb2 容量:60GiB 分区格式:MBR
  • 约束与限制 表1 购买云硬盘约束与限制 购买云硬盘位置 限制说明 在云硬盘控制台购买 通过云硬盘控制台购买的数据盘,需要手动挂载到弹性云服务器上。 云硬盘只能挂载到同一个区域、同一可用区的弹性云服务器上,且在云硬盘购买完成后不支持修改区域和可用区。 单独购买的未归属于云服务器的包年/包月云硬盘,不可随后续挂载的云服务器自动进行续费、退订;且到期时间与云服务器不一致,可能出现云硬盘提前到期后自动删除,导致云服务器业务受损。 购买云硬盘的数量和容量存在配额限制,请提前规划好配额。详见管理配额。 在弹性云服务器控制台购买 系统盘只能在购买弹性云服务器时自动购买并挂载。 随弹性云服务器一同购买或追加购买的数据盘,系统会自动将其挂载给弹性云服务器。 随弹性云服务器购买的云硬盘,其计费模式与弹性云服务器一致。 随裸金属服务器购买的云硬盘默认为SCSI模式。 - 云硬盘购买后,不支持将多块云硬盘容量合并或将一块云硬盘拆分为多块云硬盘。
共100000条