华为云用户手册

  • 示例 LOG ICAL: CREATE TABLE testTable (regionkey int, name varchar);EXPLAIN SELECT regionkey, count(*) FROM testTable GROUP BY 1; Query Plan ------------------------------------------------------------------------------------------------------------------------------------- Output[regionkey, _col1] │ Layout: [regionkey:integer, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} │ _col1 := count └─ RemoteExchange[GATHER] │ Layout: [regionkey:integer, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ Project[] │ Layout: [regionkey:integer, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ Aggregate(FINAL)[regionkey][$hashvalue] │ Layout: [regionkey:integer, $hashvalue:bigint, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} │ count := count("count_8") └─ LocalExchange[HASH][$hashvalue] ("regionkey") │ Layout: [regionkey:integer, count_8:bigint, $hashvalue:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ RemoteExchange[REPARTITION][$hashvalue_9] │ Layout: [regionkey:integer, count_8:bigint, $hashvalue_9:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ Aggregate(PARTIAL)[regionkey][$hashvalue_10] │ Layout: [regionkey:integer, $hashvalue_10:bigint, count_8:bigint] │ count_8 := count(*) └─ ScanProject[table = hive:default:testtable] Layout: [regionkey:integer, $hashvalue_10:bigint] Estimates: {rows: 0 (0B), cpu: 0, memory: 0B, network: 0B}/{rows: 0 (0B), cpu: 0, memory: 0B, network: 0B} $hashvalue_10 := "combine_hash"(bigint '0', COALESCE("$operator$hash_code"("regionkey"), 0)) regionkey := regionkey:int:0:REGULAR DISTRIBUTED: EXPLAIN (type DISTRIBUTED) SELECT regionkey, count(*) FROM testTable GROUP BY 1; Query Plan ----------------------------------------------------------------------------------------------------------------------- Fragment 0 [SINGLE] Output layout: [regionkey, count] Output partitioning: SINGLE [] Stage Execution Strategy: UNGROUPED_EXECUTION Output[regionkey, _col1] │ Layout: [regionkey:integer, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} │ _col1 := count └─ RemoteSource[1] Layout: [regionkey:integer, count:bigint] Fragment 1 [HASH] Output layout: [regionkey, count] Output partitioning: SINGLE [] Stage Execution Strategy: UNGROUPED_EXECUTION Project[] │ Layout: [regionkey:integer, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ Aggregate(FINAL)[regionkey][$hashvalue] │ Layout: [regionkey:integer, $hashvalue:bigint, count:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} │ count := count("count_8") └─ LocalExchange[HASH][$hashvalue] ("regionkey") │ Layout: [regionkey:integer, count_8:bigint, $hashvalue:bigint] │ Estimates: {rows: ? (?), cpu: ?, memory: ?, network: ?} └─ RemoteSource[2] Layout: [regionkey:integer, count_8:bigint, $hashvalue_9:bigint] Fragment 2 [SOURCE] Output layout: [regionkey, count_8, $hashvalue_10] Output partitioning: HASH [regionkey][$hashvalue_10] Stage Execution Strategy: UNGROUPED_EXECUTION Aggregate(PARTIAL)[regionkey][$hashvalue_10] │ Layout: [regionkey:integer, $hashvalue_10:bigint, count_8:bigint] │ count_8 := count(*) └─ ScanProject[table = hive:default:testtable, grouped = false] Layout: [regionkey:integer, $hashvalue_10:bigint] Estimates: {rows: 0 (0B), cpu: 0, memory: 0B, network: 0B}/{rows: 0 (0B), cpu: 0, memory: 0B, network: 0B} $hashvalue_10 := "combine_hash"(bigint '0', COALESCE("$operator$hash_code"("regionkey"), 0)) regionkey := regionkey:int:0:REGULAR VALIDATE: EXPLAIN (TYPE VALIDATE) SELECT id, count(*) FROM testTable GROUP BY 1; Valid------- true IO: EXPLAIN (TYPE IO, FORMAT JSON) SELECT regionkey , count(*) FROM testTable GROUP BY 1; Query Plan --------------------------------- { "inputTableColumnInfos" : [ { "table" : { "catalog" : "hive", "schemaTable" : { "schema" : "default", "table" : "testtable" } }, "columnConstraints" : [ ] } ] } COST: EXPLAIN (TYPE COST, FORMAT JSON) SELECT regionkey , count(*) FROM testTable GROUP BY 1; Query Plan ----------------------------- "Aggregated": { "CPU Time": 0.0 "MaxMemory": 0.0 "outputRows": 0.0 "outputSize(bytes)": 0.0 } (1 row)
  • 示例 CREATE SCHEMA web; DESCRIBE SCHEMA web; Describe Schema ------------------------------------------------------------------------- web hdfs://hacluster/user/hive/warehouse/web.db admintest USER (1 row)
  • 示例 describe formatted show_table1 a; Describe Formatted Column ------------------------------ col_name a data_type integer min max num_nulls distinct_count 0 avg_col_len max_col_len num_trues num_falses comment (1 row)
  • Qualifying Column Names 当JOIN的两个relation有相同的列名时,列引用必须使用relation别名(如果relation有别名)或relation名称进行限定: SELECT nation.name, region.name FROM nation CROSS JOIN region;SELECT n.name, r.name FROM nation AS n CROSS JOIN region AS r;SELECT n.name, r.name FROM nation n CROSS JOIN region r;
  • SYSTEM 此采样方法将表划分为数据的逻辑段,并按此粒度对表进行采样。此采样方法要么从特定数据段中选择所有行,要么跳过它(基于采样百分比与运行时计算的随机值之间的比较)。系统采样中行的选择依赖于使用的connector。例如,如果使用Hive数据源,这将取决于数据在HDFS上的布局。这种采样方法不能保证独立的抽样概率。 SELECT * FROM users TABLESAMPLE SYSTEM (75);
  • SEMI JOIN、ANTI JOIN 当一张表在另一张表找到匹配的记录之后,半连接(semi-join)返回第一张表中的记录。与条件连接相反,即使在右节点中找到几条匹配的记录,左节点的表也只会返回一条记录。另外,右节点的表一条记录也不会返回。半连接通常使用IN或EXISTS作为连接条件。 而anti-join则与semi-join相反,即当在第二张表没有发现匹配记录时,才会返回第一张表里的记录;当使用not exists/not in的时候会用到。 其他支持的条件包括如下内容: where子句中的多个条件 别名关系 下标表达式 解引用表达式 强制转换表达式 特定函数调用 目前,只在如下情况下支持多个semi/anti join表达式:第一个表中的列在其直接后续的join表达式中被查询,且不与其它join表达式有关系。 示例如下:
  • BERNOULLI 每一行都将基于指定的采样率选择到采样表中。当使用Bernoulli方法对表进行采样时,将扫描表的所有物理块并跳过某些行(基于采样百分比和运行时计算的随机值之间的比较)。结果中包含一行的概率与任何其他行无关。这不会减少从磁盘读取采样表所需的时间。如果进一步处理采样输出,则可能会影响总查询时间。 SELECT * FROM users TABLESAMPLE BERNOULLI (50);
  • FETCH FIRST FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES FETCH FIRST支持FIRST或NEXT关键字以及ROW或ROWS关键字。这些关键字等效,不影响query执行。 如果FETCH FIRST未指定数量,默认为1: SELECT orderdate FROM orders FETCH FIRST ROW ONLY; orderdate -------------- 2020-11-11 SELECT * FROM new_orders FETCH FIRST 2 ROW ONLY; orderkey | orderstatus | totalprice | orderdate --------------|-------------|------------|-------------- 202011181113 | online | 9527.0 | 2020-11-11 202011181114 | online | 666.0 | 2020-11-11 (2 rows) 如果使用了OFFSET,则LIMIT或FETCH FIRST会在OFFSET之后应用于结果集: SELECT * FROM (VALUES 5, 2, 4, 1, 3) t(x) ORDER BY x OFFSET 2 FETCH FIRST ROW ONLY; x --- 3 (1 row) 对于FETCH FIRST子句,参数ONLY或WITH TIES控制结果集中包含哪些行。 如果指定了ONLY参数,则结果集将限制为包含参数数量的前若干行。 如果指定了WITH TIES参数,则要求必须带ORDER BY子句。其结果集中包含符合条件的前若干行基本结果集以及额外的行。这些额外的返回行与基本结果集中最后一行的ORDER BY的参数一样: CREATE TABLE nation (name varchar, regionkey integer);insert into nation values ('ETHIOPIA',0),('MOROCCO',0),('ETHIOPIA',2),('KENYA',2),('ALGERIA',0),('MOZAMBIQUE',0);--返回regionkey与第一条相同的所有记录。SELECT name, regionkey FROM nation ORDER BY regionkey FETCH FIRST ROW WITH TIES; name | regionkey ------------|----------- ALGERIA | 0 ETHIOPIA | 0 MOZAMBIQUE | 0 MOROCCO | 0 (4 rows)
  • ORDER BY ORDER BY子句用于按一个或多个输出表达式对结果集排序。 ORDER BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] 每个expression可以由输出列组成,也可以是按位置选择输出列的序号。 ORDER BY子句在GROUP BY或HAVING子句之后,在OFFSET、LIMIT或FETCH FIRST子句之前进行计算。 按照SQL规范,ORDER BY子句只影响包含该子句的查询结果的行顺序。HetuEngine遵循该规范,并删除该子句的冗余用法,以避免对性能造成负面影响。 例如在执行INSERT语句时,ORDER BY子句不会对插入的数据产生影响,是个冗余的操作,会对整个INSERT语句的整体性能产生负面影响,因此HetuEngine会跳过ORDER BY操作。 ORDER BY只作用于SELECT子句: INSERT INTO some_tableSELECT * FROM another_tableORDER BY field; ORDER BY冗余的例子是嵌套查询,不影响整个语句的结果: SELECT *FROM some_tableJOIN (SELECT * FROM another_table ORDER BY field) uON some_table.key = u.key;
  • 使用多个列 SELECT numbers, animals, n, aFROM (VALUES(ARRAY[2, 5], ARRAY['dog', 'cat', 'bird']),(ARRAY[7, 8, 9], ARRAY['cow', 'pig'])) AS x (numbers, animals)CROSS JOIN UNNEST(numbers, animals) AS t (n, a);
  • OFFSET OFFSET的作用是丢弃结果集中的前若干行数据。 OFFSET count [ ROW | ROWS ] 如果有ORDER BY,则OFFSET将会作用于排序后的结果集,OFFSET丢弃前若干行数据后保留的数据集,仍然是排序的: SELECT name FROM fruit ORDER BY name OFFSET 3;name------------peachpearwatermelon(3 rows) 否则,如果没有使用ORDER BY,被丢弃的行可能是任意的行。如果OFFSET指定的行数等于或超过了结果集的大小,则最终返回的结果为空。
  • INTERSECT query INTERSECT [DISTINCT] query INTERSECT仅返回第一个和第二个查询的结果相交的行。以下是最简单的INTERSECT子句之一的示例。它选择值13和42,并将此结果集与选择值13的第二个查询合并。由于42仅在第一个查询的结果集中,因此不包含在最终结果中。 SELECT * FROM (VALUES 13,42) INTERSECT SELECT 13; _col0 ------- 13 (1 row)
  • EXCEPT query EXCEPT [DISTINCT] query EXCEPT返回在第一个查询结果而不在第二个查询结果中的行。 SELECT * FROM (VALUES 13, 42) EXCEPT SELECT 13; _col0------- 42(1 row) Having子句目前不支持使用列的别名,例如: select count(userid) as num ,dept as aaa from salary group by dept having aaa='d1'; 报错如下: Query 20210630_085136_00024_wc8n9@default@HetuEngine failed: line 1:75: Column 'aaa' cannot be resolved
  • 示例 -- 创建事务表create table upd_tb(col1 int,col2 string) with (format='orc',transactional=true);--插入数据insert into upd_tb values (3,'A'),(4,'B');--修改col1 = 4的数据update upd_tb set col1=5 where col1=4;--查询表,col1=4的记录已被修改select * from upd_tb; -- col1 | col2 ------|------ 5 | B 3 | A
  • 描述 列出catalogName为mv中的所有物化视图以及对应的数据表。如果希望只查看某个schema中的物化视图,可以使用子句[IN/FROM schema_name] 通过可选子句“LIKE”,筛选视图名满足规则运算表达式的视图,如果不使用这个子句,会列举所有视图。匹配的视图会按字母顺序排列。 目前规则运算表达式支持“*”或“%”用于匹配任何字符,下划线“_”用于匹配一个字符,或“|”用于条件连接两个或多个条件。
  • 语法 [/*+ query_rewrite_hint*/] [ WITH with_query [, ...] ] SELECT [ ALL | DISTINCT ] select_expression [, ...] [ FROM from_item [, ...] ] [ [INNER | LEFT [OUTER|SEMI|ANTI] | RIGHT [OUTER|SEMI|ANTI] | FULL [OUTER] | CROSS] JOIN table_reference [ON join_equality_clauses | USING (col1[, col2 ...]] ... [ WHERE condition ] [ GROUP BY [ ALL | DISTINCT ] grouping_element [, ...] ] [ HAVING condition] [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ] [ ORDER BY expression [ ASC | DESC ] [, ...] ] [ OFFSET count [ ROW | ROWS ] ] [ LIMIT { count | ALL } ] [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES } ] from_item 可以是以下形式: table_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ] from_item join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ] join_type 可以是以下形式: [ INNER ] JOIN LEFT [ OUTER ] JOIN RIGHT [ OUTER ] JOIN FULL [ OUTER ] JOIN LEFT [SEMI] JOIN RIGHT [SEMI] JOIN LEFT [ANTI] JOIN RIGHT [ANTI] JOIN CROSS JOIN grouping_element 可以是以下形式: () expression GROUPING SETS ( ( column [, ...] ) [, ...] ) CUBE ( column [, ...] ) ROLLUP ( column [, ...] )
  • 示例 创建文件“f1.txt”,填入3行数字,并通过HDFS上传到“/opt/load_test/”目录下。 --读取f1.txt的数据填充表f1CREATE TABLE tb_load_f1(id int) with (format='TEXTFILE'); LOAD DATA INPATH '/opt/load_test/f1.txt' into table tb_load_f1; select * from tb_load_f1; id ---- 1 2 3 (3 rows) --读取/opt/load_test/目录下的文件,填充表f2CREATE TABLE tb_load_f2(id int) with (format='TEXTFILE'); LOAD DATA INPATH '/opt/load_test/' into table tb_load_f2; select * from tb_load_f2; id ---- 1 2 3 (3 rows) --读取f3.txt文件内容填充表f3(多字段,数据分割符为'-'),并通过HDFS上传到/opt/load_test/ 目录下,f3.txt文件内容如下: 1-n1 2-n2-- 创建目标表tb_load_f3CREATE TABLE tb_load_f3(id int,name varchar) with(format='TEXTFILE',textfile_field_separator='-'); Load data inpath '/opt/load_test/f3.txt' into table tb_load_f3; Select * from tb_load_f3;id | name ----|------ 1 | n1 2 | n2 (2 rows)
  • 示例 START TRANSACTION;START TRANSACTION ISOLATION LEVEL REPEATABLE READ;START TRANSACTION READ WRITE;START TRANSACTION ISOLATION LEVEL READ COMMITTED, READ ONLY;START TRANSACTION READ WRITE, ISOLATION LEVEL SERIALIZABLE; 不支持嵌套事务,也就是开启事务后,在commit之前不能再开启其它事务。
  • 描述 返回表的近似统计信息。 返回每一列的统计信息。 列 描述 column_name 列名(汇总行为NULL) data_size 列中所有值的总大小(以字节为单位) distinct_values_count 列中不同值的数量 nulls_fraction 列中值为NULL的部分 row_count 行数(仅针对摘要行返回) low_value 在此列中找到的最小值(仅对于某些类型) high_value 在此列中找到的最大值(仅适用于某些类型)
  • 示例 SHOW STATS FOR orders;SHOW STATS FOR (SELECT * FROM orders); 在 Analyze nation表之前: SHOW STATS FOR nation; column_name | data_size | distinct_values_count | nulls_fraction | row_count | low_value | high_value -------------|-----------|-----------------------|----------------|-----------|-----------|------------ name | NULL | NULL | NULL | NULL | NULL | NULL regionkey | NULL | NULL | NULL | NULL | NULL | NULL NULL | NULL | NULL | NULL | 6.0 | NULL | NULL (3 rows) 在 Analyze nation表之后: Analyze nation;ANALYZE: 6 rows--查询分析后的结果SHOW STATS FOR nation;column_name | data_size | distinct_values_count | nulls_fraction | row_count | low_value | high_value -------------|-----------|-----------------------|----------------|-----------|-----------|------------ name | 45.0 | 5.0 | 0.0 | NULL | NULL | NULL regionkey | NULL | 2.0 | 0.0 | NULL | 0 | 2 NULL | NULL | NULL | NULL | 6.0 | NULL | NULL (3 rows)
  • 审计与日志 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。CTS的详细介绍和开通配置方法,请参见CTS快速入门。 用户开通云审计服务并创建和配置追踪器后,CTS可记录与 SMS 相关的操作事件,方便您进行事后审计。您可以在CTS控制台,事件列表菜单中,搜索SMS的事件来源,即可查看所有SMS相关的审计日志。详细的操作列表以及查看方法,请参见查看审计日志。 父主题: 安全
  • 资产识别与管理 在使用SMS服务的过程中,主要涉及数据资产和配置资产。 数据资产:源端服务器磁盘上的持久化数据。迁移Agent不会对客户源端的数据资产做任何变更,仅将客户数据资产传输到目的端并做必要的配置,使目的端能正常启动。数据资产在源端和目的端点对点传输,不经过第三方转发,推荐客户配置目的端安全组为“仅允许源端IP访问”以保障传输安全。 配置资产:客户在迁移实施时,注册的源端信息和配置的迁移任务等信息。配置资产用于控制迁移进程,其保存在SMS的数据库中。迁移结束后客户可以删除所有配置资产。 父主题: 安全
  • Windows兼容性列表 主机迁移服务 支持的Windows操作系统列表参见Windows兼容性列表。 若您需要将不包含在Windows兼容性列表的OS版本源端服务器迁移到华为云,您可以采用以下方式: 使用 镜像服务 ,通过外部镜像文件创建Windows系统盘镜像。 不迁移源端服务器,直接使用公有镜像或市场镜像创建目的端服务器,然后重新部署源端服务器的应用。 使用上云迁移服务。 表1 Windows兼容性列表 OS版本 位数 支持UEFI 备注 Windows Server 2008 64 NO 无法通过UEFI方式启动Windows Server 2008/2008 R2。 Windows Server 2008 R2 64 NO Windows Server 2012 64 Yes - Windows Server 2012 R2 64 Yes Windows Server 2016 64 Yes Windows Server 2019 64 Yes Windows 7 64 NO Windows 8.1 64 NO Windows 10 64 Yes 父主题: 兼容性列表
  • Windows 全量迁移与同步 如果源端服务器是Windows OS且通过迁移可行性校验后,您可以在 主机迁移 服务界面上配置目的端并开始迁移。开始迁移后,源端服务器中的迁移Agent会向主机迁移服务获取迁移指令并且执行,执行时迁移Agent会识别源端服务器分区的有效块,并把有效块传输到目的端服务器对应分区,全量迁移完成后自动进行持续同步。持续同步过程中,您可以在不影响业务的时间内,停止源端服务器上的业务,然后“启动目的端”。 父主题: 主机迁移服务的功能
  • 主机迁移服务工作原理 主机迁移服务的工作原理如下,其中第1步、第3步和第7步需要用户操作,其余步骤由主机迁移服务自动完成。 用户在源端服务器上安装迁移Agent。 源端服务器上的迁移Agent向主机迁移服务注册自身连接状态并将源端服务器信息上报到主机迁移服务,完成迁移可行性检查。 用户在主机迁移服务控制台设置目的端并开始迁移。 迁移Agent获取并执行主机迁移服务发送的迁移指令。 迁移源端服务器系统盘。 迁移源端服务器数据盘。 启动目的端。 源端:指迁移任务中的源端服务器。 目的端:指迁移任务中的目的端服务器。 服务端:指主机迁移服务。
  • 身份认证 SMS服务包含:控制台、Agent、API以及SDK供您使用。控制台使用华为云统一账户进行登录,Agent、SDK、API本质上都是REST风格的API接口调用。 所有的API接口调用均需要经过认证的请求才可以访问成功,经过认证的请求需要包含一个签名值,该签名值以请求者的访问密钥(AK/SK)作为加密因子,结合请求体携带的特定信息计算而成。通过访问密钥(AK/SK)认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。关于访问密钥的详细介绍及获取方式,请参见如何获取AK/SK?(账号)或如何获取AK/SK?( IAM 用户)。
  • 服务韧性 SMS后端节点采用AZ级容灾,其中任何一个AZ故障,剩余的AZ中仍然会有足够的节点承载后端流量。 数据库采用主备模式,主节点出现故障可自动漂移到备节点,实现主备倒换,保障系统的可用性。 SMS的API接口均配置有流控,超过阈值数量的访问将被限制,从而保障SMS服务的可用性。 SMS支持断点续传,在迁移过程中出现断网或者迁移出错等故障,故障修复后可支持在之前的进度上继续迁移、同步。 父主题: 安全
  • 主机迁移服务与其他服务的关系 主机迁移服务SMS与其他服务的关系参见下表。 表1 与其他服务的关系 相关服务 交互功能 位置 弹性云服务器(Elastic Cloud Server,E CS ) 将源端服务器的系统、应用和文件等数据迁移到华为云弹性云服务器。 如何创建弹性云服务器? 弹性公网IP(Elastic IP,EIP) 创建迁移任务过程中支持采用公网迁移,要求目的端服务器配置有“弹性IP”。 主机迁移的网络安全配置与条件有哪些? 虚拟私有云(Virtual Private Cloud,VPC) 在创建迁移任务前,通过虚拟私有云设置您目的端弹性云服务器所在VPC的安全组。 如何配置目的端服务器安全组规则? 云硬盘服务(Elastic Volume Service,EVS) 迁移任务创建并启动后,主机迁移服务会创建一块临时按需计费EVS卷,迁移完成删除该临时卷。 - 云审计服务(Cloud Trace Service,CTS) 通过云审计服务收集主机迁移服务操作记录,便于日后的查询、审计和回溯。 如何查看审计日志
  • 主机迁移服务的优势 简单易用 您只需在源端服务器安装和配置Agent、在服务端设置目的端并启动迁移任务、“持续同步”状态时启动目的端,其余事情都由主机迁移服务处理。 创建迁移任务您只需三步。即选择和配置源端、目的端及确认任务信息。 业务平滑切换 在主机迁移过程中您无需中断或者停止业务。 若不选择持续同步,只需在最后一次数据同步时短暂地停止业务,待最后一次增量数据同步完成后,目的端的业务即可启动,大大减少业务中断时间。 若选择持续同步,只需在“持续同步”状态时,启动目的端前短暂停止业务,大大减少业务中断时间。 Linux文件级迁移,暂不支持“持续同步”功能。 兼容性好 支持国内外主流公有云、私有云平台虚拟机迁移,和X86物理服务器迁移。 支持约90款主流Windows Server与Linux Server 操作系统迁移。 传输高效 支持块迁移,且能够识别有效块数据并对其进行迁移。 迁移网络利用率达到90%以上。 安全性高 使用AK/SK校验迁移Agent身份。 传输通道使用SSL加密,保证您数据传输安全性。 SSL加密的证书和密钥是动态生成。
  • 计费说明 主机迁移服务本身不收费,但是在迁移过程中会产生少量其他服务费用: 云硬盘费用 主机迁移服务在迁移过程中会在目的端服务器临时创建并挂载一个容量为40 GB的磁盘,用于辅助迁移,该磁盘会在迁移结束后自动删除。迁移期间,请勿对该磁盘进行删除操作或将计费模式转为包周期操作,否则会导致迁移失败。 有关云硬盘的收费标准,请参见云硬盘价格说明。 比如迁移使用高IO磁盘,迁移持续了10个小时,那么产生的云硬盘费用为:0.00049(元/每GB每小时) * 40GB * 10小时 = 0.196元 云硬盘快照费用 主机迁移服务涉及的快照包括:割接快照、同步快照、克隆快照。关于快照的详细说明请参见主机迁移服务涉及的快照有哪些?。 云硬盘快照目前免费使用,具体请参见公测时期的收费标准。 流量费用 在迁移过程中会产生一些流量,流量的费用计算如下: 如果是公网迁移,且您源端是固定带宽的,那么流量将不会产生额外费用。 如果是公网迁移,且您源端是按量付费的,那么流量费用为:流量单价(元/GB)* 迁移量(GB)。关于流量单价,请咨询源端服务器公网IP的提供商。关于迁移量,为您源端服务器磁盘的实际使用量。 假设弹性公网IP按流量收费,单价为 0.8元/GB,磁盘大小500GB,磁盘占用了300GB,那么流量费用为 0.8元/GB * 300GB = 240元。需要注意该费用为您源端服务器弹性公网IP的提供商收取。 如果是云专线或VPN,具体的流量费用以云专线或VPN的费用为准,无其他额外的流量费用。 以上费用仅为示例说明,仅供您迁移前评估迁移费用,具体迁移费用以实际收费为准。 迁移过程中,请确保华为云账户余额大于100元,否则会导致迁移失败。
共100000条