华为云用户手册

  • 步骤一:安装宝塔面板 购买并登录X实例。 购买X实例的步骤详见购买Flexus云服务器X实例。 登录X实例的步骤详见登录Flexus云服务器X实例。 执行以下命令,下载并安装宝塔面板。 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 当出现以下提示信息时,输入“y”: ... Do you want to install Bt-Panel to the /www directory now?(y/n): y ... 安装完成后,回显如下类似信息: 图1 宝塔面板安装成功 首行为宝塔面板的登录地址,请记录并妥善保存。 地址格式为:http://弹性公网IP:随机端口号/随机字符串。本例为:http://1.95.xx.xx:28796/0ed54a3b。为确保能正常访问宝塔面板,须在云服务器安全组放通随机端口号(本例为28796)。 username/password:登录宝塔面板的用户名及密码。
  • 步骤三:开始迁移服务器 登录目的端Flexus应用服务器 L实例 所在的华为云 SMS 控制台,选择左侧“迁移服务器”。 在迁移服务器列表页面,找到待迁移的源端服务器,单击“操作”列“开始”,进入迁移配置页面。 或勾选待迁移的服务器,单击上方“开始”按钮批量迁移。 开始迁移后,单击源端服务器名称,可查看迁移状态和详情。 “迁移实时状态”为“已完成”,说明已启动目的端,整个迁移操作已完成。 (可选)如果您的源端服务器首次全量迁移完成后有增量数据,您可以使用同步功能,将源端增量数据同步到目的端。 首次全量迁移完成后,如果您仍然想迁移新增的数据,请勿对目的端服务器重装或切换操作系统,否则将迁移失败。
  • 步骤五:制作并切换镜像 迁移完成后,目的端Flexus应用服务器L实例控制台仍然显示迁移前的操作系统名称(Huawei Cloud EulerOS 2.0),如下图。同时,如果目的端Flexus应用服务器L实例在迁移后重装操作系统,将会回退至原操作系统(Huawei Cloud EulerOS 2.0)非迁移后的操作系统(CentOS 7.9),源端服务器数据也将丢失。 基于此两种情况,请根据本节指导,及时对Flexus应用服务器L实例创建私有镜像并切换至该私有镜像。切换镜像后,可解决此两种问题。 一旦切换镜像,将无法同步源端服务器增量数据。请确保无增量数据后再制作并切换镜像。 图4 目的端Flexus应用服务器L实例镜像名称 进入IMS控制台,在“创建私有镜像”页面,配置如下镜像信息。 区域:服务器所在区域,请保持此默认配置。 创建方式:创建私有镜像,请保持此默认配置。 镜像类型:系统盘镜像,请保持此默认配置。 镜像源:迁移系统的Flexus应用服务器L实例中云服务器名称。 名称:填写便于识别的镜像名称,例如CentOS 7.9_source-server-image。 协议:阅读并勾选协议。 单击“立即创建”,根据界面提示创建私有镜像。 私有镜像创建完成后,返回Flexus应用服务器L实例控制台,在Flexus应用服务器L实例右上角单击“切换镜像”。 设置切换操作系统的相关配置后,单击“立即切换”。 选择待切换的镜像:选择步骤1创建的私有镜像CentOS 7.9_source-server-image。 变更规格前请先将云服务器关机,或根据页面提示勾选“立即关机”。 阅读并勾选“协议许可”。 检查控制台镜像名称是否更改。
  • 步骤二:在华为云SMS控制台设置目的端迁移配置 登录目的端Flexus应用服务器L实例所在的华为云SMS控制台,选择左侧“迁移服务器”。 在迁移服务器列表页面,找到待迁移的源端服务器,单击“设置目的端”,进入迁移配置页面。 在完成步骤一后,在SMS服务控制台的“迁移服务器”列表中,将会显示源端服务器记录。 设置基本配置。 基本配置保持默认设置:使用公网迁移,不限制带宽大小,不调整磁盘分区,迁移后目的端Flexus应用服务器L实例自动开机。 各项参数说明详见设置迁移目的端。 设置目的端配置后,单击右下角“下一步:确认配置”。 区域:选择之前购买好的Flexus应用服务器L实例的区域。 服务器选择:选择“已有服务器”,并选中之前购买好的Flexus应用服务器L实例。 仅支持迁移最多一个数据盘的云服务器,不支持迁移多个数据盘的云服务器。并确保目的端Flexus应用服务器L实例系统盘或数据盘容量不小于源端。 目的端服务器的操作系统类型需要和源端的OS类型保持一致(指Linux或Windows类型)。 确保目的端服务器所在安全组配置准确。如果是Windows系统,开放TCP的8899端口、8900端口和22端口;如果是Linux系统,开放TCP的22端口。 执行此步骤时,如果出现如下提示,添加提示的端口,刷新页面后,重新执行本步骤。 在“确认配置”界面,确认信息无误后,单击“保存配置”或“保存配置并开始迁移”。 单击“保存配置”后,仔细阅读“迁移条件须知和风险提示”后,单击“是”。后续请根据步骤三:开始迁移服务器完成迁移。 单击“保存配置并开始迁移”后,仔细阅读“迁移条件须知和风险提示”后,单击“是”,随即自动开始迁移。后续请跳转步骤3查看迁移状态和详情按步骤执行。
  • 步骤四:查看并检查迁移结果 在目的端Flexus应用服务器L实例查看服务器操作系统。 单击Flexus应用服务器L实例资源卡片上的“远程登录”,可看到操作系统已经变更为源端服务器的CentOS系统及内核信息,表示迁移成功。 输入源端服务器的用户名密码,可直接登录,您可查看其它信息。 (可选)为Flexus应用服务器L实例安装一键式密码重置插件。 如果您的源端服务器为非华为云镜像的服务器,迁移后请为目的端服务器安装一键式密码重置插件。安装安装一键式密码重置插件后,在您遗忘密码时可重置密码,否则无法使用重置密码功能。 如果您知晓您的源端服务器密码,请参考安装一键式密码重置插件安装插件。 如果您遗忘了您的源端 镜像服务 器密码,请参设置密码并安装一键式密码插件安装插件。 (可选)检查HSS服务状态。 如果您的目的端Flexus应用服务器L实例未包含HSS服务,请忽略此步骤。 在您的目的端Flexus应用服务器L实例包含HSS服务的情况下,如果您迁移服务器后,HSS为“未防护”异常状态请参考使用私有镜像创建/切换服务器后,主机安全(HSS)服务未启动怎么办?启用HSS。 图3 HSS为“未防护”异常状态
  • 操作流程 操作步骤 说明 准备工作 使用SMS服务前,请准备好帐号、权限及源端、目的端服务器环境,以确保顺利完成迁移。 步骤一:在源端待迁移服务器安装并启动SMS-Agent 您需要在源端服务器上安装迁移Agent并且输入目的端Flexus应用服务器L实例所在华为帐号的AK/SK。迁移Agent启动成功后会收集源端服务器信息并自动发送给 主机迁移服务 。 步骤二:在华为云SMS控制台设置目的端迁移配置 迁移前,您需要设置目的端服务器,该目的端用来接收源端的数据。 步骤三:开始迁移服务器 将源端服务器所有数据都复制到目的端,复制速度取决源端服务器出网带宽和目的端服务器入网带宽(两者取较小者)。 步骤四:查看并检查迁移结果 查看源端服务器是否迁移成功,并安装一键式重置密码插件和主机安全Agent。 步骤五:制作并切换镜像 通过制作并切换镜像,可更改Flexus应用服务器L实例资源卡片上的镜像名称,并且在Flexus应用服务器L实例重装系统时,避免回退至Flexus应用服务器L实例迁移前的操作系统。
  • 准备工作 使用SMS服务前,请参考以下步骤准备好帐号、权限及源端、目的端服务器环境,以确保顺利完成迁移。 已注册华为帐号并开通华为云,登录华为云完成实名认证。 已获取华为帐号的迁移权限。 如果您使用华为帐号登录,默认拥有迁移权限,无需配置迁移权限;如果您使用 IAM 用户登录,可参考创建用户组并授权进行授权。 已获取目的端帐号的AK/SK。 迁移时使用访问密钥即AK/SK(Access Key ID/Secret Access Key)进行鉴权认证。请在目的端帐号创建并获取AK/SK,具体操作请参见如何获取AK/SK?(账号)。 主机迁移 服务不支持使用企业联邦用户(虚拟IAM用户)的AK/SK进行鉴权认证。 源端服务器账号密码要求。 如果您的源端服务器非华为云的服务器,请您牢记源端服务器账号密码。迁移服务器后,在目的端服务器安装一键式重置密码插件时,如果您知晓源端服务器账号密码,操作将较为简便,否则操作将较为复杂。 帐号余额不少于100元(充值、代金券皆可)。 建议您目的端账户余额不少于100元(充值、代金券皆可),避免迁移过程中欠费,导致迁移失败。 主机迁移服务本身免费,但迁移过程中会创建按量付费资源并产生少量费用,具体费用请参见计费说明。 操作系统要求。 主机迁移服务支持迁移的源端服务器操作系统列表请参见Windows兼容性列表、Linux兼容性列表。 目的端服务器的操作系统类型需要和源端的OS类型(指Linux或Windows类型)保持一致。 迁移网络要求。 源端能连接到华为云API Gateway(安全组放通端口:443),具体操作请参见源端能连接到API Gateway。具体操作请参见配置安全组。 源端出网方向端口,建议全部开放。 源端能连接到目的端。具体操作请参见源端能连接到目的端。 本例使用弹性公网IP连接,源端和目的端均需要提前购买和配置正确的弹性公网IP。其中,目的端Flexus应用服务器L实例在创建后已经默认分配一个固定弹性公网IP。 目的端服务器所属安全组需要开放入方向端口: Windows系统需要开放TCP的8899端口、8900端口和22端口。 Linux系统文件级迁移开放22端口,块级迁移开放8900端口、22端口。 具体操作请参见配置安全组。 以上端口,建议只对源端服务器开放。 防火墙开放端口与操作系统开放端口保持一致。 源端服务器环境、剩余空间及其他要求。 源端服务器剩余空间要求: Windows:当分区大于等于600MB,该分区的可用空间小于320MB时不能迁移;当分区小于600MB,该分区的空间小于40MB时不能迁移。 Linux:根分区可用空间小于200MB时不能迁移。 源端服务器环境要求: 源端服务器时间与标准时间一致,避免源端Agent注册失败。 当源端服务器为Linux系统时,执行rsync -v查看是否安装Rsync库。 当未安装Rsync库,执行如下命令安装Rsync库: CentOS:执行yum -y install rsync。 Ubuntu:执行apt-get -y install rsync。 Debian:执行apt-get -y install rsync。 SUSE:执行zypper install rsync。 其他平台系统:参见官网安装相关文档。 当前主流服务器系统已默认安装Rsync库,无需手动安装。
  • 步骤一:在源端待迁移服务器安装并启动SMS-Agent 如果源端是linux系统,请参考安装Linux版的SMS-Agent。 如果源端是windows机器,请参考安装Windows版的SMS-Agent。 常见问题 在Linux源端待迁移服务器安装SMS-Agent时,如果出现rsync未安装的错误提示,请根据安装Rsync库先安装rsync,再重新安装SMS-Agent。 当出现如下错误提示时,请检查访问密钥是否输入正确,或者是否删除了访问密钥。 图1 错误提示 图2 访问密钥
  • 资源和成本规划 资源 数据规划 说明 成本 源端服务器 服务器名称:source-server 操作系统:CentOS 7.9 源端服务器可以是华为云服务器,也可以是其他云平台或线下物理服务器。 如果您的源端服务器未配置弹性公网IP,需要购买弹性公网IP,此时涉及费用。 目的端服务器 服务器名称:destination_server 操作系统: Huawei Cloud EulerOS 2.0 目的端服务器为华为Flexus应用服务器L实例。 Flexus应用服务器L实例需付费购买。 SMS服务 - SMS服务为您免费提供服务器迁移服务。 主机迁移服务本身免费,但迁移过程中会创建按量付费资源(包括云硬盘、云硬盘快照、流量)并产生少量费用,具体费用请参见计费说明。
  • url_extract_protocol函数 提取URL中的协议信息。 语法:url_extract_protocol(expr) 表16 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表17 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http
  • url_extract_port函数 提取URL中的端口信息。 语法:url_extract_port(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表15 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 8080
  • url_extract_query函数 提取URL中的查询部分的信息。 语法:url_extract_query(expr) 表18 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表19 查询分析结果 类型 场景 查询语句 URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 parameterName=parameterValue
  • url_extract_path函数 提取URL中的path信息。 语法:url_extract_path(expr) 表12 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型: String类型 示例:SELECT URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表13 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 /index
  • url_encode函数 对URL进行编码。 语法:url_encode(expr) 表2 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表3 查询分析结果 类型 场景 查询语句 URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment
  • url_extract_fragment函数 提取URL中的fragment信息。 语法:url_extract_fragment(expr) 表6 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表7 查询分析结果 类型 场景 查询语句 URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 fragment
  • url_decode函数 对URL进行解码。 语法:url_decode(expr) 表4 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 表5 查询分析结果 类型 场景 查询语句 URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 返回结果 http://username:password@host:8080/index?parameterName=parameterValue#fragment
  • url_extract_parameter函数 提取URL中的参数信息。 语法:url_extract_host(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 paramName 参数名称 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PA RAM ETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 表11 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 返回结果 parameterValue
  • url_extract_host函数 提取URL中的host信息。 语法:url_extract_fragment(expr) 表8 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表9 查询分析结果 类型 场景 查询语句 URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 host
  • 函数列表 表1 URL函数 函数 描述 url_encode函数 对URL进行编码。 url_decode函数 对URL进行解码。 url_extract_fragment函数 提取URL中的fragment信息。 url_extract_host函数 提取URL中的host信息。 url_extract_parameter函数 提取URL中的参数信息。 url_extract_path函数 分割目标字符串,返回被分割后的子串合集。 url_extract_port函数 提取URL中的端口信息。 url_extract_protocol函数 提取URL中的协议信息。 url_extract_query函数 提取URL中查询部分的信息。
  • regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 语法:regexp_extract_all(expr, regularExpr) 表6 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_EXTRACT_ALL('HTTP/2.0', '\\\\d+') 表7 查询分析结果 类型 场景 查询语句 REGEXP_EXTRACT_ALL ('HTTP/2.0', '\\\\d+') 返回结果 ["2","0"]
  • regexp_split函数 分割目标字符串,返回被分割后的子串合集。 语法:regexp_split(expr, regularExpr) 表10 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 表11 查询分析结果 类型 场景 查询语句 REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 返回结果 ["request_uri:","request","path-0","file-7"]
  • regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 删除目标字符串中符合正则表达式的子串,返回未被删除的子串。 语法:regexp_replace(expr, regularExpr) 替换目标字符串中符合正则表达式的子串,返回被替换后的字符串。 语法:regexp_replace(expr, regularExpr, replaceStr) 表8 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 replaceStr 替换的字符串 String 否 返回值类型:String类型 示例:SELECT REGEXP_REPLACE('ab12cd34', '\\d+'), REGEXP_REPLACE('ab12cd34', '\\d+', '00') 表9 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_REPLACE('ab12cd34', '\\d+') REGEXP_REPLACE('ab12cd34', '\\d+', '00') 返回结果 abcd ab00cd00
  • 函数列表 表1 正则式函数 函数 描述 regexp_extract函数 提取目标字符串中符合正则表达式的子串。 regexp_like函数 判断目标字符串是否符合正则表达式。 regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 regexp_split函数 分割目标字符串,返回被分割后的子串合集。
  • regexp_extract函数 提取目标字符串中符合正则表达式的子串。 提取并返回目标字符串中符合正则表达式的第一个子串。 语法:regexp_extract(expr, regularExpr) 提取并返回目标字符串中符合正则表达式的第n个子串。 语法:regexp_extract(expr, regularExpr, n) 表2 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串。 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组。 String 是 n 第n个符合正则表达式的子串。 Integer 否 返回值类型:String类型 示例:SELECT REGEXP_EXTRACT('HTTP/2.0', '\\\\d+') 表3 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_EXTRACT('HTTP/2.0', '\\\\d+') REGEXP_EXTRACT ('HTTP/2.0', '\\\\d+', 1) 返回结果 2 2
  • regexp_like函数 判断目标字符串是否符合正则表达式。 语法:regexp_like(expr, regularExpr) 表4 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型: Boolean类型 示例:SELECT REGEXP_LIKE('HTTP/2.0', '\\d+') 表5 查询分析结果 类型 场景 查询语句 REGEXP_LIKE('HTTP/2.0', '\\d+') 返回结果 true
  • ip_subnet_range函数 获取IPv4网段范围。 语法:ip_subnet_range(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr1 IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_RANGE('192.120.80.128/10') 表15 查询分析结果 类型 场景 查询语句 IP_SUBNET_RANGE ('192.120.80.128/10') 返回结果 ["192.64.0.1","192.127.255.254"] 在计算给定网段的最大IP地址、最小IP地址和IP范围时,排除了网段的单播和广播地址,计算出的IP地址为网段的最大可用IP地址、最小可用IP地址和可用IP地址范围。
  • ip_prefix函数 获取目标IPv4地址的前缀。 语法:ip_prefix(expr, prefixBit) 表4 参数说明 参数名称 描述 类型 是否必选 expr IPv4地址 String 是 prefixBit 前缀位数 String 是 返回值类型:String类型 示例:SELECT IP_PREFIX('10.110.10.210', 8), IP_PREFIX('144.101.32.5', 12) 表5 查询分析结果 类型 场景1 场景2 查询语句 IP_PREFIX('10.110.10.210', 8) IP_PREFIX('144.101.32.5', 12) 返回结果 10.0.0.0/8 144.96.0.0/12
  • ip_subnet_max函数 获取IPv4网段中的最大IP地址。 语法:ip_subnet_max(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_MAX('192.120.80.128/10') 表11 查询分析结果 类型 场景 查询语句 IP_SUBNET_MAX('192.120.80.128/10') 返回结果 192.127.255.254
  • is_prefix_subnet_of函数 判断目标IPv4网段是否为某网段的子网。 语法:is_prefix_subnet_of(expr1, expr2) 表6 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4网段 String 是 返回值类型:Boolean类型 示例:SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 表7 查询分析结果 类型 场景 查询语句 IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 返回结果 false
  • is_subnet_of函数 判断目标IPv4地址是否在某网段内。 语法:is_subnet_of(expr1, expr2) 表8 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4地址 String 是 返回值类型:Boolean类型 示例:SELECT IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 表9 查询分析结果 类型 场景 查询语句 IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 返回结果 false
共100000条