华为云用户手册

  • 具体步骤 Token认证,并 获取Token 值,具体操作请参考认证鉴权。 获取DRS的Endpoint。 调用接口前,您需要提前获取到地区和终端节点,即下文中的Endpoint值。 调用接口前,您需要提前联系企业管理员,获取地区和终端节点,即下文中的Endpoint值。 获取用户在某一Region下的Project ID,请参见获取项目ID。 发送“POST https://{DRS的Endpoint}//v3/{projectId}/jobs”。 在Request Header中增加“X-Auth-Token”,值为用户Token。 在Request Header中增加“Content-Type”,值为“application/json”。 在Request Body中传入参数如下: 关于创建实例接口的详细说明,请参见批量创建任务。 { "bind_eip": true,// 在公网网络场景下确认迁移实例是否绑定弹性IP "db_use_type": "migration",// 使用类型,取值:migration-实时迁移,sync-实时同步,cloudDataGuard-实时灾备,必填。 "description": "",// 任务描述。 "engine_type": "mysql",//引擎类型,取值:mysql,mongodb,cloudDataGuard-mysql,gaussdbv5。 "is_target_readonly": true,// 指定目标实例是否限制为只读。 "job_direction": "up",// 任务方向,取值up,down "name": "DRS-2057",// 任务名称,必填。 "net_type": "eip",// 网络类型,取值:vpn,vpc,eip,必填。 "node_type": "high",// 规格类型,必填。 "source_Endpoint": { // 源数据库信息体,必填。 "db_type": "mysql",// 数据库类型,取值:mysql,mongodb,gaussdbv5,必填。 }, "target_Endpoint": { // 目标数据库信息体。 "db_type": "mysql",// 数据库类型,必填。 "inst_id": "63e0699063494a8a93798f38abf3247ein01",// RDS实例id,数据库为RDS实例必填。 "region": "cn-xianhz-1" // RDS实例所在region,数据库为rds时必填。 }, "task_type": "FULL_INCR_TRANS" // 任务模式,取值:FULL_TRANS, FULL_INCR_TRANS。 } 如果请求失败,会返回错误码及对应的错误信息说明,详细错误码信息请参见错误码。
  • 响应示例 状态码: 200 OK { "process_status" : "success", "parsed_success_number" : "1" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 send_success Boolean 是否上传完成。 process_status String 文件解析状态。 parsed_success_number String 解析成功的行数。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • URI GET /v5/{project_id}/jobs/{job_id}/db-object/template/progress 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0 limit 否 Integer 每页显示的条目数量
  • 响应示例 状态码: 200 OK { "object_mapping_list" : [ { "source_db_name" : "yf", "source_table_name" : "aaaa", "target_db_name" : "yf", "target_table_name" : "aaaa" } ], "count" : 1 } 状态码: 400 Bad Request { "error_code": "DRS.M05003", "error_msg": "Task information not found." }
  • 请求示例 查询同步映射列表请求示例。 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/jobs/163b98e8-6088-46c3-8b86-c18fea6jb502/object-mappings { "db_name": "", "schema_name": "", "table_name": "", "offset": 1, "limit": 10, "has_column_info": false }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Long 总数。 object_mapping_list Array of objects 同步映射数据列表。 详情请参见表5。 表5 object_mapping_list参数说明 参数 参数类型 描述 source_db_name String 源数据库库名。 source_schema_name String 源数据库模式名。 source_table_name String 源数据库表名。 target_db_name String 目标数据库库名。 target_schema_name String 目标数据库模式名。 target_table_name String 目标数据库表名。 has_column_info Boolean 是否有列映射。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset 大于等于 0。默认为0 缺省值:0 limit 否 Integer 每页显示的条目数量。默认为10,取值范围【1-1000】 最小值:1 最大值:1000 缺省值:10 db_name 否 String 库名。 schema_name 否 String 模式名。 table_name 否 String 表名。 has_column_info 否 Boolean 是否有列映射。
  • URI GET /v5/{project_id}/jobs/{job_id}/data-processing-rules 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。如果请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token的接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainnname为用户所属的账号名称,********为用户登录密码,projectname为project的名称,如cn-north-1,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token额作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取IAM用户Token(使用密码)。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "projectname" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token的接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如表3 公共请求消息头公共消息头需要添加到请求中。 表3 公共请求消息头 名称 描述 是否必选 示例 Content-Type 发送的实体的MIME类型。 是。 默认取值为:“application/json”,有其他取值时会在具体接口中专门说明。 Content-Length 请求body长度,单位为Byte。 POST/PUT请求为可选。 GET不包含该消息头。 3495 X-Auth-Token 用户Token,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token的接口的响应值,该接口是唯一不需要认证的接口。 是。 - X-Language 请求语言类型。 否。 en-us 其它header属性,请遵照http协议。 对于获取用户Token的接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求URI 请求URI由如下部分组成。 {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 表1 请求URI 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 请求方法 请求方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 响应参数 状态码: 202 表16 响应Body参数 参数 参数类型 描述 id String 查询结果ID。 job_id String 任务ID。 status String 查询状态。 枚举值: pending failed success 状态码: 400 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 202 Accept { "id" : "0eacda0b-9422-4535-8b62-537d1833638b", "job_id": "177738d1-4eee-4fcb-a4e1-09aea79jb20i", "status" : "pending" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 响应参数 状态码: 202 表16 响应Body参数 参数 参数类型 描述 id String 查询结果ID。 job_id String 任务ID。 status String 查询状态。 枚举值: pending failed success 状态码: 400 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 202 Accept { "id" : "0eacda0b-9422-4535-8b62-537d1833638b", "job_id": "177738d1-4eee-4fcb-a4e1-09aea79jb20i", "status" : "pending" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 切换须知 切换操作系统后,将不再保留原操作系统,并删除原有系统盘及清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。详细内容,请参考备份弹性云服务器。 切换操作系统不影响数据盘数据。 切换操作系统后IP地址和MAC地址不发生改变。 切换操作系统成功后会自动开机。 切换操作系统后不支持更换系统盘的云硬盘类型。 切换操作系统后,您的业务运行环境需要在新的系统中重新部署。 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 重新配置云服务器DNS信息请参考:怎样配置弹性云服务器的DNS和NTP信息? 重新配置主机名请参考:怎样使修改的静态主机名永久生效?
  • 前提条件 待切换操作系统的挂载有系统盘。 如果原服务器使用的是密码登录方式,切换操作系统后使用密钥登录方式,请提前创建密钥文件。 如果您使用私有镜像切换操作系统请参考《 镜像服务 用户指南》提前完成私有镜像的制作。 如果需要指定云服务器的镜像,请提前使用指定云服务器创建私有镜像。 如果需要使用本地的镜像文件,请提前将镜像文件导入并注册为云平台的私有镜像。 如果需要使用其他区域的私有镜像,请提前复制镜像。 如果需要使用其他账号的私有镜像,请提前完成镜像共享。
  • 后续处理 如果切换操作系统前后都是Linux系统,且数据盘设置了开机自动挂载分区。切换操作系统后,数据盘分区挂载信息会丢失,请更新/etc/fstab配置。 在/etc/fstab写入切换后的分区信息。 建议您先备份/etc/fstab文件。 详细操作请参考初始化Linux数据盘(fdisk),设置开机自动挂载磁盘分区。 挂载分区。挂载分区后即可开始使用数据盘。 mount diskname mountpoint 执行以下命令,查看挂载结果。 df -TH 如果操作系统切换失败,公有云平台支持重试功能,用户可重新执行2-7,切换操作系统。 重试后,如果仍未成功,可联系客服进行人工恢复。
  • 约束限制 当弹性云服务器实例规格和替换的OS系统均在支持的实例规格和支持迁移的公共镜像列表中时,才支持系统迁移。 操作系统迁移过程中涉及rpm卸载、安装及更新,操作系统存在异常重启的风险。请在迁移前做好操作系统的系统盘备份,可以通过创建云服务器备份。 建议操作系统内存剩余大于128MB,系统盘空间剩余大于5GB(指迁移工具运行需要的系统盘空间,不包含数据备份的空间),boot分区可用空间大于200MB。 请避免自定义的RPM包和操作系统组件rpm重名。否则迁移时,自定义的rpm会被迁移工具删除。 迁移操作系统后不支持更换系统盘的云硬盘类型。 系统迁移过程中,待迁移系统中存在部分冲突包。迁移工具会自动删除冲突包以完成系统迁移。冲突包列表详见冲突包列表。 父主题: 将操作系统迁移至HCE OS 2.0
  • 使用概述 您可通过下列方法使用Huawei Cloud EulerOS。 首次创建弹性云服务器实例时,推荐使用HCE OS公共镜像。 将操作系统切换为HCE OS。 如果现有的弹性 云服务器配置 (网卡、磁盘、VPN等配置的类型和数量)都不需要改变,仅需要修改E CS 的操作系统镜像,并且您的软件和原操作系统耦合度较低,适配到HCE OS改动较小,建议使用系统切换,可快速切换到HCE OS。 将操作系统迁移为HCE OS。 如果现有的弹性云服务器配置(网卡、磁盘、VPN等配置的类型和数量)都不需要改变,操作系统软件的配置参数希望保留,可以通过操作系统迁移的方式迁移到HCE OS。 仅支持迁移至Huawei Cloud EulerOS 2.0标准版和Huawei Cloud EulerOS 1.1CentOS兼容版,不支持迁移至其他HCE OS镜像版本。 表1 系统切换和迁移的区别 区别 系统切换 系统迁移 数据备份 切换操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区。 切换操作系统不影响数据盘数据。 迁移操作系统不会清除系统盘数据,为避免系统软件的数据丢失,建议将其备份。 迁移操作系统不影响数据盘数据。 个性化设置 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 迁移操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)不需重新配置。
  • 约束与限制 仅HCE OS 2.0 x86架构支持使用tbwmcli命令。 仅允许root用户执行tbwmcli命令。 tbwmcli命令同一时间只能在一个网卡使能Qos功能,多个网卡不支持并行使能网络QoS。 网卡被插拔重新恢复后,原来设置的QoS规则会丢失,需要手动重新配置网络QoS功能。 不支持cgroup v2。 升级oncn-tbwm软件包不会影响升级前的使能状态。卸载oncn-tbwm软件包会关闭对所有设备的使能。 仅支持识别数字、英文字母、中划线“-” 和下划线“_”四类字符类型的网卡名,其他字符类型的网卡不被识别。 实际使用过程中,带宽限速有可能造成协议栈内存积压,此时依赖传输层协议自行反压,对于udp等无反压机制的协议场景,可能出现丢包、ENOBUFS、限流不准等问题。 收包方向的网络限速依赖于TCP的反压能力,在非TCP协议的场景中,网络包已经收至目标网卡,不支持对于收包方向的网络限速。 不支持tbwmcli、tc命令和网卡命令混用,只能单独使用tbwmcli工具进行限速。例如,某个网卡上已经设置过tc qdisc规则的情况下,对此网卡使能网络QoS功能可能会失败。
  • hung task 当内核检测到进程处于D状态超过设定的时间时,上报hung task异常。 原理 进程其中一个状态是TASK_UNINTERRUPTIBLE,也叫D状态,处于D状态的进程只能被wake_up唤醒。内核引入D状态时,是为了让进程等待IO完成。正常情况下,IO正常处理,进程不应该长期处于D状态。 hung task检测进程长期处于D状态的原理,内核会创建一个线程khungtaskd,用来定期遍历系统中的所有进程,检查是否存在处于D状态超过设置时长(默认120秒)的进程。如果存在这样的进程,则打印并上报相关警告和进程堆栈。如果配置了hung_task_panic(通过proc或内核启动参数配置),则直接发起panic。 触发方法 创建内核线程,设成D状态,scheduler释放时间片。
  • page allocation failure page allocation failure是申请空闲页失败时,系统上报的错误。当程序申请某个阶数(order)的内存,但系统内存中,没有比申请阶数高的空闲页,即触发内核报错。 原理 Linux使用伙伴系统(buddy system)内存分配算法。将所有的空闲页表(一个页表的大小为4K)分别链接到包含了11个元素的数组中,数组中的每个元素将大小相同的连续页表组成一个链表,页表的数量为1、2、4、8、16、32、64、128、256、512、1024,所以一次性可以分配的最大连续内存为1024个连续的4k页表,即4MB的内存。 假设申请一个包括256个页表的内存,指定阶数order为6,系统会依次查找数组中的第9、10、11个链表,上一个为空,表示没有此阶数的空闲内存,查找下一个,直到最后一个链表。 如果所有链表均为空,申请失败,则内核上报错误page allocation failure。输出报错信息,描述申请阶数为6的内存页失败: page allocation failure:order:6 触发方法 用alloc_pages连续申请高阶数内存页(例如order=10),不释放,直到申请失败。
  • warning Warning是操作系统在运行时,检测到需要立即注意的内核问题(issue),而采取的上报动作,打印发生时的调用栈信息。上报后,系统继续运行。 原理 Warning是通过调用WARN、WARN_ON、WARN_ON_ONCE等宏来触发的。 导致Warning的原因有多种,需要根据调用栈回溯,找到调用Warning宏的具体原因。Warning宏并不会导致系统运行状态发生改变,也不提供处理Warning的指导。 触发方法 根据系统调用构造Warnning条件。
  • panic Kernel panic是指操作系统在监测到内部的致命错误,并无法安全处理此错误时采取的动作。内核触发到某种异常情况,运行kernel_panic函数,并尽可能把异常发生时获取的全部信息打印出来。 原理 导致异常的原因多种多样,通过异常打印的调用信息,找到调用kernel_panic的原因。常见的原因包括内核堆栈溢出、内核空间的除0异常、内存访问越界、内核陷入死锁等。 触发方法 内核态读0地址。
共100000条