华为云用户手册

  • 上报升级结果 根据PCP协议约定的交互流程,设备在执行完软件升级后,将会向 物联网平台 上报升级的结果。 设备发送的请求消息 根据PCP消息结构的定义可以得出,物联网平台向设备发送执行软件升级消息,各个消息字段的填写如下: 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致,为18。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出数据区长度为17字节,转换为十六进制为:0011。 数据区:结果码,以上报升级成功为例,结果码为00。当前版本号:升级完成后的版本号,与物联网平台下发的软件版本一致,即v1.0,转换为十六进制为:56312E30000000000000000000000000。 物联网平台向设备下发的执行软件升级的消息为:FFFE 01 18 0000 0011 0056312E30000000000000000000000000(CRC16校验前),经CRC16计算得到校验码为:C7D2。则替换校验码后设备发送的消息上报升级结果码流为:FFFE0118C7D200110056312E30000000000000000000000000。 物联网平台发送的应答消息 物联网平台收到设备上报的升级结果消息后,将对设备进行应答,各个消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致:18。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段定义得出该数据长度为1个字节,转换为十六进制为:0001。 数据区:处理成功,则返回00,升级任务不存在80。本示例以返回00处理成功为例进行说明。 设备向物联网平台应答的消息为:FFFE 01 18 0000 0001 00 (CRC16校验前),经CRC16计算得到校验码为:AFA1。则替换校验码后设备返回的响应消息为:FFFE0118AFA1000100 。 至此,设备的软件升级功能适配就完成了,赶紧动手试一试吧。
  • 数据转发方案对比 在许多场景中,您需要将设备上报给物联网平台的数据进行加工处理或用于业务应用。使用物联网平台提供的订阅推送功能和数据转发功能,均可实现设备数据的转发。 数据转发:提供初级的数据过滤能力。支持对设备数据进行过滤,然后再转发到其他华为云服务。 订阅推送:第三方应用可在物联网平台订阅相关业务数据,当业务信息发生变化时(如设备注册、设备数据上报、设备状态变更等),平台会向第三方应用发送通知消息,通知其具体的变化信息。可快速地获取设备消息,无数据过滤能力,功能较为单一,但是简单易用且高效。 数据转发方案 适用场景 优缺点 数据转发 设备上报数据上云。 复杂场景。 优点: 支持将数据转发至其他华为云服务产品。 支持对数据进行条件过滤。 缺点: 只能转发设备上报数据,不支持设备注册、设备状态变更等数据的转发。 订阅推送 设备数据推送至第三方应用。 单纯的接收设备数据的场景。 优点: 支持将设备注册、设备数据上报、设备状态变更等多种数据推送至第三方应用。 缺点: 缺少过滤能力。 第三方应用需要自实现对推送数据的存储、分析等操作,无法使用其他华为云服务。 物联网平台默认只提供较弱的Http推送能力,高于10TPS的推送建议使用数据转发规则。
  • 查看应用详情 应用可以理解为在物联网平台中为用户的业务划分一个项目空间,园区物联网平台默认就创建了应用。当用户在开发中心、线下环境里完成应用服务器侧的开发、物联网平台侧的开发以及设备侧的开发后,就需要将开发完的应用服务器与真实设备接入到这个项目空间中,实现设备的数据采集和设备管理。 登录园区物联网平台控制台,选择“应用配置详情”,即可查看应用信息。 参数类型 参数说明 基本 可查看应用的基本信息,包括应用名称、应用ID、创建时间,应用ID在应用服务器接入物联网平台时使用。 安全 可单击“重置密钥”,重置后旧密钥自动失效,应用服务器需要更新为新的密钥才能重新接入物联网平台。 单击“编辑”,可打开或者关闭消息跟踪数据授权开关。 打开授权,表示平台管理员在辅助用户进行设备的故障定位时,可以跟踪设备上报的业务数据,便于快速解决问题。授权打开的状态下需要设置“授权时效”,可设置“指定时间”或者“永久有效”。为了保证用户的数据权益,物联网平台运维管理员跟踪的设备数据保留时间不超过3天。 关闭授权,表示平台管理员在辅助用户进行设备的故障定位时,不能跟踪设备上报的业务数据,可能导致没有足够的信息,将会降低问题定位效率,建议您授权给平台管理员进行业务数据的跟踪。 推送协议 推送协议是由应用服务器在订阅物联网平台的设备信息时设置的传输协议来确定的。应用服务器设置的订阅数据推送的传输通道为HTTP时,用户可以设置采用加密的HTTPS协议或者非加密的HTTP协议进行传输数据。如果采用HTTPS协议,需要上传CA证书,证书的上传可参考CA证书加载方法。 说明: 如果采用HTTPS协议,应用服务器取消了订阅,则绑定的证书会自动解绑,重新订阅后,请重新上传CA证书。 HTTP/HTTPS订阅推送服务 园区物联网平台支持查看应用的北向推送配置消息以及回调地址状态记录。在180s周期内,园区物联网平台向回调地址推送消息连续失败数达到10次,回调地址就会被自动设置为无效地址。平台会定期检测该地址是否恢复,检测到恢复则设置该回调地址状态为有效。 MQS订阅推送服务 园区物联网平台支持将设备上报的数据通过消息队列服务MQS推送给华为智慧园区沃土数字平台进行数据分析处理,MQS作为华为IT服务提供的一个第三方组件,需要提前配置园区物联网平台与MQS的对接数据。单击“添加”,在弹出的对话框中填写相关参数。 iPaas地址:MQS Namesrv的地址信息,格式为“IP:端口”,如“10.10.11.11:8965”。 用户名:访问MQS的用户名信息。 密钥:访问MQS的用户名密码信息(iPaas地址,用户名和密钥请向MQS服务管理员获取。) 传输是否加密:是否对IoT平台发送给MQS的消息进行加密。建议勾选“加密”。 Topic:Topic名称,如To_Bigdata。不同的Topic用于处理不同的消息类型,目前只支持设置1个Topic,表示所有信息均发送到同一个Topic处理。请向MQS服务管理员获取。 ROMA订阅推送服务 园区物联网平台支持与华为云的企业集成平台ROMA服务进行对接,用于 设备接入服务 将设备上报的数据推送给ROMA。单击“添加”,在弹出的对话框中填写相关参数。 ROMA地址:在华为云中按照购买实例购买ROMA云服务,在购买中,需要选择“公网访问”,设置“弹性IP”。购买完成后,可以在ROMA管理控制台的“实例信息”中,查看“公网访问”中的“弹性IP地址”,端口固定为9095,多个地址之间使用英文逗号分隔。例如:139.128.xx.xx:9095,139.129.xx.xx:9095 账户名:在ROMA的消息集成MQS中创建的用户,详情可参考用户管理。 密钥:在ROMA的消息集成MQS中创建用户时设置的密码,详情可参考用户管理。 SSL证书:IoT平台与ROMA通信的传输加密证书,由ROMA提供,可以在SASL方式连接MQS中获取。 证书密钥:SSL证书对应的密钥,由ROMA提供,可以在SASL方式连接MQS中获取。 Topic:用于指定IoT平台向ROMA推送消息的Topic名称,需提前按照Topic创建进行定义。 说明: 平台与ROMA服务对接完成后,还需通过管理规则功能,配置设备的数据转发规则,将数据转发至ROMA服务。 CA证书加载方法: 单击“证书管理”,在弹出的对话框中单击“添加”按钮。 按照表格填写相关信息后,单击“确定”完成证书的加载。 父主题: Console操作
  • 告警管理 如果用户在控制台上设置规则引擎时,定义了响应动作为上报告警,且定义了告警属性、告警级别等,则当满足触发条件时,系统就会上报告警,需要用户密切关注设备的告警并及时进行处理,确保设备的正常运行。 例如:智能水表设备3天未上报数据,可能存在水表设备发生故障导致,平台会产生对应的告警,维护人员可通过告警信息找到对应告警的水表设备,进行快速定位维修。 用户在控制台上可以查看某应用下的所有设备的告警信息,也可以查看单个设备的告警信息。 所有设备告警信息 在“告警”界面上: 单个设备告警信息 在设备列表中,单击具体的设备进入到设备的详情页面,选择“告警”页签。
  • 设备消息跟踪 在设备绑定、命令下发、数据上报、设备信息更新和设备监控业务场景中出现故障时,物联网平台可以通过消息跟踪功能进行快速的故障定位和原因分析。目前物联网平台支持NB-IoT设备和MQTT设备的消息跟踪,单个用户下,最多支持同时进行跟踪的设备数上限为10。 登录园区物联网平台控制台,点击右上角“进入园区物联网平台服务”。 通过检索条件,快速找到需要跟踪的设备,并点击进去设备详情。 在“设备详情”页,单击“消息跟踪”页签,点击“启动消息跟踪”按钮,选择需要跟踪的消息类型,并设置设备的消息跟踪时间,如下图所示,消息跟踪时长表示从启动消息跟踪功能开始,在设置的时间段内进行消息跟踪,修改跟踪配置后,会已修改后时间为准。
  • 查看Console总览信息 登录园区物联网平台Console后,在总览页面,您可以看到以下信息: 参数类型 参数解释 告警/事件 园区物联网平台产生的告警数量。 设备总数 接入园区物联网平台的设备数量。 在线/离线设备 在线设备及离线设备的数量。 对于短连接设备(如NB-IoT),如果在25小时内设备有上报过数据,设备的状态为“在线”;如果在25小时内未上报过数据,设备的状态会变为“离线”。 对于长连接设备(采用Agent Lite SDK或者原生MQTT接入),设备与平台之间一直连接,无断开则设备状态为在线,设备与平台之间的连接断开1分钟后(数据自动刷新周期为1分钟),置为“离线”状态。 联动规则 园区物联网创建的联动规则数。 边缘节点 园区使用的边缘节点个数。 快捷操作 园区物联网平台日常操作的快捷入口。 对接地址 园区物联网平台与设备及应用服务器的对接地址。 常见链接及文档 常用的文档链接等。 父主题: Console操作
  • 查看园区运营报表 园区物联网平台提供了园区设备管理的能力。选择“设备运营中心”,即可参看相关报表,详细说明如下表所示。 报表名称 报表说明 数据刷新频率 设备总数 统计当前园区注册的所有设备总数、在线数、离线数、未激活设备数。同时可以在地图上查看园区设备的地理分布。 每5分钟 设备类型状态统计 统计设备总数、设备在线数、离线及异常数的趋势。 每5分钟 分区域状态统计 查看园区各个地域或者楼栋中的设备在线数、离线及异常数。 每5分钟 告警报表 统计当前园区所有设备每天产生的告警数、不同级别的告警分布、不同类型设备的故障率、告警趋势及列表等信息。 每5分钟 车辆报表 统计园区车辆总数,空闲车位数,临时及月卡车辆的出入情况,同时展示园区入口车行流量、车行趋势及车辆出入记录等信息。 每5分钟 人员报表 统计园区人员总数,出入情况,同时展示园区入口人行流量等信息。 每5分钟 父主题: 设备管理
  • 了解操作环境 园区物联网平台日常操作主要集中在Console及Portal界面。 园区物联网平台Console:在Console上您可以查看园区物联网平台注册的设备总体信息、默认产生的应用信息、平台与设备及应用对接地址以及接入边缘节点操作等,具体操作详见查看Console总览信息、查看应用详情和接入边缘节点。 园区物联网平台Portal:您可在园区物联网平台Console总览页面,点击右上角“进入物联网平台”访问Portal(如上图所示)。园区物联网平台Portal面向园区业务运营人员,提供设备管理、规则引擎、软件管理、设备初始化、命令下发、业务状态统计等功能。平台Portal的日常操作请参见设备接入和设备管理。
  • 概述 设备注册鉴权是指物联网平台对接入平台的设备进行注册鉴权。对于不同接入方式的设备,注册鉴权方式不同。 接入类型 注册鉴权方式 使用LWM2M/CoAP协议接入的设备 当采用DTLS/DTLS+传输层安全协议接入时,即设备为安全设备时,通过预置密钥进行设备和物联网平台之间的传输通道安全加密。 集成Agent Lite SDK的设备 在设备接入物联网平台前,用户通过应用服务器调用注册设备(验证码方式接口或通过控制台在物联网平台注册设备,并把设备的唯一标识码nodeId(如IMEI)设置为设备接入平台的验证码,平台返回设备ID。当设备上电时,携带nodeId等进行平台绑定,并返回设备ID和密钥。当绑定后设备重新登录时,携带设备ID和密钥完成网关的接入鉴权。 如果设备是网关,网关下有子设备,则当网关接入物联网平台后,在网关上通过调用Agent Lite的添加非直连设备接口,完成子设备的接入,具体请参见注册网关与子设备。 使用原生MQTT协议接入的设备 在设备接入物联网平台前,用户通过应用服务调用注册设备(密码方式)接口或通过控制台在物联网平台注册设备,获取设备ID和密钥,并把设备ID和密码烧录到设备中。在设备接入物联网平台时携带设备ID和密钥、或者nodeId和密钥,通过一机一密的方式,完成设备的接入鉴权。
  • API接口 使用园区物联网平台构建一个完整的物联网解决方案主要包括4部分:园区物联网平台、业务应用、设备和IoT边缘服务。 园区物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑用户快速构建各种园区物联网业务应用。 设备可以通过固网、2/3/4G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP或MQTT协议将业务数据上报到平台,平台也可以将控制命令下发给设备。 业务应用通过调用物联网平台提供的API,实现设备管理、数据上报、命令下发等业务场景。 IoT边缘服务通过在靠近终端设备的地方建立边缘节点,将云端园区物联网平台的管理能力延伸到靠近终端设备的边缘节点,提供轻量化的设备管理(设备接入、设备鉴权、云边数据同步等),在节点与云端断链情况下也能提供设备的本地管理(设备数据缓存、设备命令、规则引擎等),为用户提供低成本、本地自闭环、边缘智能、云边协同的软硬一体化方案。 因此,基于园区物联网平台去实现一个物联网解决方案时,需要完成以下开发操作: 开发操作 开发说明 平台侧的开发 主要包括Profile的开发和编解码插件的开发。编解码插件的开发仅针对上报数据为二进制码流格式的设备,对于上报数据为JSON格式的设备不需要开发编解码插件。 设备侧的开发 主要为设备与物联网平台的集成对接开发,包括设备接入物联网平台、业务数据上报和对平台下发控制命令的处理。 应用侧的开发 主要为业务应用与园区物联网平台的集成对接开发,包括API接口的调用、业务数据的获取和HTTPS证书的管理。 为了降低应用的开发难度、提升开发效率,物联网平台开放了丰富的Restful API和SDK包。物联网平台支持设备通过MQTT协议和LWM2M/CoAP协议进行接入,设备可以通过调用设备接口或者集成SDK的方式接入到物联网平台。应用通过调用物联网平台的API,实现安全接入、设备管理、数据采集、命令下发等业务场景。API及SDK参考文档如下: API类型 参考文档 应用侧API 《应用侧API参考》 《应用侧 JAVA SDK API参考》 《应用侧 Python API参考》 设备侧API 《Agent Lite API参考(C)》 《Agent Lite API参考(Android)》 《Agent Lite API参考(Java)》 《设备侧MQTT API 参考》
  • 产品优势 传统园区由于不同系统之间数据格式不同存在信息不能共享,智慧化应用水平低等原因,产生了技术与人难互动、信息化与园区难以有机整体协调,公共数据难以互联互通,用户感知度较差等问题。同时由于缺乏统一、高效、便捷的集中式管理,应用可扩展性差、预警事故难以实现。另外随着园区的不断发展,人数增长、设备增多、能耗增加等,管理园区的难度越来越大,特别是传统园区的管理方式无法从全面整合、互联互通的全局视角去管理园区。 园区物联网平台是华为智慧园区解决方案物联网设备接入及管理底座,相比传统平台,园区物联网平台的优势在于: 主要优势 传统平台 园区IoT平台 设备全连接 硬件开发平台、接入协议、接入网络碎片化严重,多厂家多终端类型,上层应用伙伴集成兼容难度高。 自定义IoT主流协议适配组件,支持园区内所有设备接入,如楼宇、安防、能耗、基础设施设备等。提供灵活多样的接入方式如网关或基于原生协议接入。 数据全融合 存在多个应用子系统,每个系统保存的数据格式不统一,无法做到数据共享。 数据从传统独立子系统汇聚到统一平台,以统一标准格式保存,从而打破信息孤岛,实现跨业务数据共享,使能园区各类智慧应用,支撑园区高效运营。 场景全联动 周界、消防、视频等系统无法联动,突发事件响应速度慢。 自定义规则,在满足触发条件时,物联网平台会触发预设操作,实现周界、消防、视频等系统联动协同,实现自动化调度,提升效率,促进园区业务创新。 调度全智能 网络异常时或者对于实时性能要求较高的视频监控,无法快速做出响应。 云端推理,边缘决策,终端执行,基于云边协同,将云端智能分析能力延展到边缘、终端。
  • 名词解释 名词 描述 开发中心 物联网一站式开发工具,帮助开发者快速进行Profile(产品模型)和编解码插件的开发,同时提供在线自助测试、产品发布等多种能力,端到端指引物联网开发,帮助开发者提升集成开发效率、缩短物联网解决方案建设周期。 产品中心 产品中心为客户展示通过华为IoT生态认证的解决方案、终端产品、模组等商用产品,并与全球IoT商用平台联网,实现产品一点接入,全球可达,帮助客户缩短商业变现周期,降低商业风险。 项目 指物联网平台的资源空间。开发者在基于开发者中心进行物联网开发时,需要根据行业属性创建独立的项目,并在该项目空间内建设物联网产品和应用。 产品 某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、插件、测试报告等资源。 产品模型 产品模型(也称Profile)用于描述设备具备的能力和特性。开发者通过定义Profile,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。 服务 产品模型的一部分,描述设备具备的业务能力。将设备业务能力拆分成若干个服务后,再定义每个服务具备的属性、命令以及命令的参数。 属性 产品模型的一部分,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。 编解码插件 物联网平台和应用服务器使用JSON格式进行通信,所以当设备使用二进制格式上报数据时,开发者需要在物联网平台上开发编解码插件,帮助物联网平台完成二进制格式和JSON格式的转换。 应用 物联网平台中,应用包括用户在物联网平台上创建的应用和用户自行开发的应用服务器。 应用是用户在物联网平台中为用户的业务划分一个项目空间,每个项目空间会分配一个应用ID和应用密钥,用于将开发完的应用服务器与真实设备接入到这个项目空间中,实现设备的数据采集和设备管理。 应用服务器是用户基于物联网平台开放的API接口或者SDK进行自行开发的物联网应用,可接入物联网平台进行设备的管理。 设备 归属于某个产品下的设备实体,每个设备具有一个唯一的标识码。设备可以是直连物联网平台的设备,也可以是代理子设备连接物联网平台的网关。 网关 具有子设备管理功能,并代理子设备连接物联网平台的设备实体。 子设备 不与IoT平台直连,通过网关连接物联网平台的设备实体。 边缘节点 是物联网的边缘“小脑”,在靠近物或数据源头的边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供计算和智能服务,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。 模组 又称通信模组,由若干个显示模块、驱动电路、控制电路、芯片以及相应的结构件构成的一个独立的显示单元,设备通过通信模组具备与物联网平台的通信能力。当前模组厂商主要提供Wifi、NB-IoT、2/3/4/5G等通信模组。 固件 固件(Firmware)一般是指设备硬件的底层“驱动程序”,承担着一个系统最基础最底层工作的软件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System)。 固件升级又称为FOTA(Firmware Over The Air),是指用户可以通过OTA的方式对支持LWM2M协议的设备进行固件升级,升级协议为LWM2M协议。 软件 软件(Software)一般分为系统软件和应用软件,系统软件实现设备最基本的功能,比如编译工具、系统文件管理等;应用软件可以根据设备的特点,提供不同的功能,比如采集数据、数据分析处理等。 软件升级又称为SOTA(SoftWare Over The Air),是指用户可以通过OTA的方式支持对LWM2M协议的设备进行软件升级,升级协议为PCP协议。 PCP协议 平台升级协议(PCP协议)规定了设备和平台之间升级的通信内容与格式,用于实现设备的升级。 nodeId 设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成注册鉴权。 deviceId 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得,是设备在IoT平台上的内部标识,用于设备注册鉴权,及后续在网络中通过deviceId进行消息传递。 预置密钥 当NB-IoT设备、集成Agent Lite SDK的设备接入时,预置密钥用于设备和物联网平台之间的传输通道安全加密。 密钥 用于设备采用原生MQTT协议接入物联网平台时的鉴权认证。 数字证书 由国际知名的证书机构VeriSign、Symantec和GlobalSign等CA(Certification Authority)机构进行签发,用于HTTPS建链时服务端和客户端之间的身份合法性验证。 token 鉴权参数,访问物联网平台API接口的凭证。应用服务器首次访问物联网平台的开放API时,需调用鉴权接口完成认证鉴权,获取accessToken。 群组 群组是一系列设备的集合,用户可以对应用下所有设备,根据区域、类型等不同规则进行分类建立群组,以便处理对海量设备的批量管理和操作。 标签 物联网平台支持定义不同的标签,并对设备打标签,通过标签,可以快速筛选设备。 订阅推送 订阅:是指应用服务器通过调用物联网平台的API接口,向平台获取发生变更的设备业务信息(如设备注册、设备数据上报、设备状态等)和管理信息(软固件升级状态和升级结果)。 推送:是指订阅成功后,物联网平台根据应用服务器订阅的数据类型,将对应的变更信息推送给指定的URL地址。 Topic Topic是UTF-8字符串,是发布/订阅(Pub/Sub)消息的传输中介。可以向Topic发布或者订阅消息。 设备影子 设备影子是一个JSON文件,用于存储设备的在线状态、设备最近一次上报的设备属性、应用服务器期望下发的配置(期望值)。每个设备有且只有一个设备影子,设备可以获取和设置设备影子以此来同步状态,这个同步可以是影子同步给设备,也可以是设备同步给影子。 规则引擎 物联网平台根据用户设置的规则和设备上报的数据,当设备满足设置的条件时,即触发对应动作,给设备下发命令或将数据转发给公有云其他服务进行进一步整合利用。包含设备联动和数据转发两种类型。 NB-IoT 窄带物联网(Narrow Band Internet of Things, NB-IoT)是IoT领域的一个重要技术。NB-IoT构建于蜂窝网络,只消耗大约180kHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。其具有覆盖广、连接多、速率低、成本低、功耗低、架构优等特点,可以广泛应用于多种垂直行业,如远程抄表、智慧农业等。 MQTT MQTT(Message Queue Telemetry Transport)是一个物联网传输协议,被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。 MQ TTS 指MQTT+SSL/TLS,在MQTTS中使用SSL/TLS协议进行加密传输。 CoAP 受约束的应用协议CoAP(Constrained Application Protocol)是一种软件协议,旨在使非常简单的电子设备能够在互联网上进行交互式通信。 CoAPS指CoAP over DTLS,在CoAPS中使用DTLS协议进行加密传输。 LWM2M LWM2M(lightweight Machine to Machine)是由OMA(Open Mobile Alliance)定义的物联网协议,主要使用在资源受限(包括存储、功耗等)的NB-IoT终端。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 审计 云审计 服务(Cloud Trace Service, CTS ),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务后,系统将开始记录APIG资源的操作事件,并为您保存最近7天的操作记录。CTS支持记录的APIG操作请参见云审计服务支持APIG操作列表。 图1 云审计服务 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 APIG用户查看云审计日志方法,请参见云审计日志。
  • 后续管理 访问控制策略创建完成后,可在策略列表页面,管理已创建策略,包括管理关联用户或资源、删除策略、启停策略、策略排序等。 若需补充关联用户或资源,可单击“关联”,快速关联用户、用户组、资源账户、账户组。 若需删除策略,可选择目标策略,单击“删除”,立即删除策略。 若需禁用策略授权,可勾选一个或多个“已启用”状态的策略,单击“禁用”,策略状态变更为“已禁用”,策略授权立即失效。 若需排序策略优先等级,可选中策略行上下拖动策略,改变策略排序。 若需线下管理策略,可单击“导出”,以 CS V格式导出全量访问控制策略详情。
  • 访问控制策略说明 不同运维方式或不同的资源类型在执行部分运维操作时目前还存在不支持的情况。 Linux应用运维从3.3.40.0版本开始支持文件上传、下载,上、下行剪切板功能。 特性名称 有效期 文件传输 更多选项 登录时段限制 IP限制 双人授权候选人 生效时间 失效时间 上传 下载 文件管理 上行剪切板 下行剪切板 显示水印 允许登录 禁止登录 黑名单 白名单 SSH-H5运维 √ √ √ √ √ √ √ √ √ √ √ √ √ SSH-客户端运维 √ √ × × × × × × √ √ √ √ × RDP-H5运维 √ √ √ √ √ √ √ √ √ √ √ √ √ RDP-客户端运维 √ √ × × × × × × √ √ √ √ × TELNET-H5运维 √ √ √ √ √ √ √ √ √ √ √ √ √ TELNET-客户端运维 √ √ × × × × × × √ √ √ √ × VNC √ √ × × × × × √ √ √ √ √ √ FTP √ √ √ √ √ × × × √ √ √ √ √ SFTP √ √ √ √ √ × × × √ √ √ √ √ SCP √ √ × × × × × × √ √ √ √ √ Postgresql √ √ × × × × × × √ √ √ √ √ Gaussdb √ √ × × × × × × √ √ √ √ √ DB2 √ √ × × × × × × √ √ √ √ √ MYSQL √ √ × × × × × × √ √ √ √ √ SQL Server √ √ × × × × × × √ √ √ √ √ Oracle √ √ × × × × × × √ √ √ √ √ Rlogin-H5运维 √ √ √ √ √ √ √ √ √ √ √ √ √ Rlogin-客户端运维 √ √ × × × × × × √ √ √ √ × win应用运维 √ √ √ √ √ √ √ √ √ √ √ √ √ Linux应用运维 √ √ √ √ √ √ √ √ √ √ √ √ √
  • 操作步骤 配置云服务器。 配置网络 检查云服务器的私有IP是否和控制台显示的私有IP一致(可以通过ifconfig查看)。如果不一致,请参考“清理网络规则文件”。 检查网卡属性是否为DHCP。如果云服务器网络配置为静态IP地址,请参考“设置网卡属性为DHCP”。 检查SSH服务是否为开启状态(可以通过service sshd status查看)。如果未开启,请执行service sshd start。请确保您的云服务器防火墙(例如:Linux iptables)允许访问SSH。 安装驱动 为了保证镜像创建的新云服务器的网络性能以及基本功能正常,必须在创建镜像时使用的云服务器中安装原生XEN和KVM驱动。在安装原生XEN和KVM驱动前,需要先卸载PV driver。 建议您禁用任何防病毒软件或入侵检测软件,安装原生的XEN和KVM驱动完成后,您可以再次启用这些软件。 卸载PV driver,请参考“在Linux系统中卸载PV driver”。 安装原生的XEN和KVM驱动,请参考“安装原生的XEN和KVM驱动”。 驱动安装完成后需要清除日志文件、历史记录等,请参考“清除系统日志”。 配置文件系统 修改grub文件的磁盘标识方式为UUID,请参考“修改grub文件磁盘标识方式为UUID”。 修改fstab文件的磁盘标识方式为UUID,请参考“修改fstab文件磁盘标识方式为UUID”。 清除“/etc/fstab”中非系统盘的自动挂载信息,避免对后续挂载数据盘可能带来影响。请参考“卸载云服务器的数据盘”。 (可选)配置增值功能 安装并配置Cloud-Init,请参考(可选)安装和配置Cloud-Init工具。 开启网卡多队列,请参考“如何设置镜像的网卡多队列属性?”。 配置IPv6地址,请参考“如何开启云服务器动态获取IPv6(试用)?”。 创建Linux系统盘镜像。 具体操作请参考通过云服务器创建系统盘镜像。
  • 操作步骤 以CentOS 7.0为例,执行blkid命令获取所有分区对应的UUID并记录下来,编辑“/etc/fstab”文件,使用分区的UUID来配置分区自动挂载。 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid 回显信息如下所示。 /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 执行以下命令,查看“fstab”文件。 cat /etc/fstab 回显信息如下所示。 [root@CTU1000028010 ~]# cat /etc/fstab /dev/xvda2 / xfs defaults 0 0 /dev/xvda1 swap swap defaults 0 0 查看“fstab”文件中的磁盘的表示形式为设备名称。 若为UUID的表示形式,无需修改。 若为设备名称的表示形式,请执行步骤5。 执行以下命令,打开“fstab”文件。 vi /etc/fstab 按“i”进入编辑模式,将fstab中的磁盘表示形式修改为UUID的形式。 以CentOS 7.1为例,执行blkid命令获取所有分区对应的UUID并记录下来,编辑“/etc/fstab”文件,使用分区的UUID来配置分区自动挂载。 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 修改前: [root@CTU1000028010 ~]# cat /etc/fstab /dev/xvda2 / xfs defaults 0 0 /dev/xvda1 swap swap defaults 0 0 修改后: [root@CTU1000028010 ~]# cat /etc/fstab UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 / xfs defaults 0 0 UUID=2de37c6b-2648-43b4-a4f5-40162154e135 swap swap defaults 0 0 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。 修改后,执行以下命令确认修改结果。 cat /etc/fstab 回显信息如下所示,即磁盘的表示形式为UUID,表示修改成功。 [root@CTU1000028010 ~]# cat /etc/fstab UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 / xfs defaults 0 0 UUID=2de37c6b-2648-43b4-a4f5-40162154e135 swap swap defaults 0 0
  • InfiniBand网卡驱动 如果这个私有镜像用于创建H2型云服务器,需要在镜像中安装InfiniBand网卡驱动。请根据IB类型,在Mellanox官网选择相应版本的InfiniBand网卡驱动下载(建议选择4.2-1.0.0.0的驱动版本下载使用),并根据Mellanox提供的操作指导进行安装。 IB网卡类型:“Mellanox Technologies ConnectX-4 Infiniband HBA (MCX455A-ECAT)” Mellanox官网地址:http://www.mellanox.com/ 网卡驱动下载地址:https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ H2型云服务器介绍:超高性能计算型
  • 前提条件 云服务器的状态为“运行中”。 需保证C盘可写入,且剩余空间大于300MB。 云服务器使用的VPC网络DHCP不能禁用。 云服务器网络正常通行。 云服务器安全组出方向规则满足如下要求: 协议:TCP 端口范围:80 远端地址:169.254.0.0/16 如果您使用的是默认安全组出方向规则,则已经包括了如上要求,可以正常初始化。默认安全组出方向规则为: 协议:ALL 端口范围:ALL 远端地址:0.0.0.0/16
  • 安装须知 用户自行决定是否安装CloudResetPwdAgent插件,使云服务器具备一键式重置密码功能。 一键式重置密码插件CloudResetPwdAgent已按照GNU General Public License v2.0协议开源至Github开源平台,开放、透明、安全,请您放心使用。 支持安装一键式重置密码插件的操作系统版本如表 支持安装一键式重置密码插件的操作系统版本所示。 表1 支持安装一键式重置密码插件的操作系统版本 操作系统类型 操作系统版本 Windows Windows Server 2016 Datacenter 64bit Windows Server 2012 R2 Standard 64bit Windows Server 2012 R2 Datacenter 64bit Windows Server 2008 R2 Enterprise 64bit Windows Server 2008 SP2 Enterprise 64bit Windows Server 2008 R2 Datacenter 64bit Windows Server 2008 R2 Standard 64bit Windows Server 2008 R2 WEB 64bit
  • 操作步骤 登录弹性云服务器。 检查弹性云服务器是否已安装密码重置插件CloudResetPwdAgent。检查方法如下: 查看任务管理器,如果找到cloudResetPwdAgent服务,如图 安装插件成功所示,表示弹性云服务器已安装密码重置插件。 图1 安装插件成功 是,结束。 否,执行3。 请参考获取并校验一键式重置密码插件完整性(Linux),下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。 安装一键式重置密码插件对插件的具体放置目录无特殊要求,请您自定义。 解压软件包CloudResetPwdAgent.zip。 安装一键式重置密码插件对插件的解压目录无特殊要求,请您自定义。 安装一键式重置密码插件。 双击“CloudResetPwdAgent.Windows”文件夹下的“setup.bat”文件。 安装密码重置插件。 查看任务管理器,检查密码重置插件是否安装成功。 如果在任务管理器中查找到了cloudResetPwdAgent服务,如图2所示,表示安装成功,否则安装失败。 图2 安装插件成功 如果密码重置插件安装失败,请检查安装环境是否符合要求,并重试安装操作。
  • 操作场景 通过云服务器或者外部镜像文件创建私有镜像时,如果云服务器或镜像文件所在虚拟机的网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以使私有镜像发放的新云服务器可以动态获取IP地址。 本节以Windows Server 2008 R2操作系统为例。其他操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作,文档中不对此进行详细说明。 使用外部镜像文件创建私有镜像时,设置网卡属性操作需要在虚拟机内部完成,建议您在原平台的虚拟机实施修改后,再导出镜像。
  • 导入流程 本节以外部镜像文件格式为zvhd2和raw以外的场景为例,介绍完整的导入流程。 转换镜像格式时,可以使用qemu-img-hw,也可以使用开源工具qemu-img。qemu-img-hw仅适用于Linux操作系统,因此本节提供了基于Linux和Windows操作系统环境的导入指导。 快速导入工具中包含两个子工具,分别实现两项功能:qemu-img-hw(镜像格式转换)、CreateMF.jar(生成位表文件)。 基于Linux操作系统环境 推荐使用云平台的EulerOS云服务器作为操作的环境,流程如图1所示。 图1 导入流程(基于Linux操作系统环境) 详细操作请参见基于Linux环境快速导入镜像文件。 基于Windows操作系统环境 推荐使用Windows系统本地PC作为操作的环境,流程如图2所示。 开源镜像转换工具qemu-img不支持将镜像文件转换为zvhd2格式,因此需要转换为raw格式,再使用CreateMF.jar生成位表文件。 图2 导入流程(基于Windows操作系统环境) 详细操作请参见基于Windows环境快速导入镜像文件。
  • 操作步骤 查询是否挂载数据盘。 执行以下命令,检查云服务器挂载的磁盘块数。 fdisk -l 磁盘块数>1,表示云服务器挂载有数据盘,执行2。 磁盘块数=1,表示云服务器未挂载数据盘,执行3。 执行以下命令,检查当前云服务器挂载的数据分区。 mount 回显不包含数据盘分区的信息时,无需进行卸载数据盘的操作。 /dev/vda1 on / type ext4 (rw,relatime,data=ordered) 回显包含类似如下信息,请执行3。 /dev/vda1 on / type ext4 (rw,relatime,data=ordered) /dev/vdb1 on /mnt/test type ext4 (rw,relatime,data=ordered) 清理“fstab”文件中的配置信息。 执行以下命令编辑“fstab”文件。 vi /etc/fstab 删除相关数据盘在“fstab”文件中的配置信息。 “/etc/fstab”文件中记录了系统启动时自动挂载的文件系统和存储设备的信息,需要删除,如图1中最后一行是数据盘在“fstab”中的配置信息。 图1 数据盘在fstab文件中的配置信息 执行如下命令,卸载已挂载的数据盘。 卸载前请确认数据盘上没有任何数据读写,否则会导致卸载失败。 umount /dev/vdb1 执行以下命令,再次查看当前云服务器挂载的数据分区。 mount 回显信息中不再包含数据盘分区的信息时,则表示卸载成功。
  • 后续操作 整机镜像创建成功后,如果您想使用该镜像创建弹性云服务器,请在操作列单击“申请服务器”,进入创建云服务器的向导页面,请参考《弹性云服务器用户指南》完成操作。 使用整机镜像创建弹性云服务器时: 系统会自动设置好系统盘和数据盘参数。 如果整机镜像中包含多块数据盘,需要加载一段时间才能正常显示系统盘信息,请耐心等待。 选择整机镜像切换云服务器操作系统时,仅能恢复整机镜像的系统盘数据。如果希望恢复或者迁移整机镜像中的数据盘数据,必须通过整机镜像创建新的云服务器。 如果您想共享整机镜像给其他租户,根据云服务器情况有两种实现方案。 云服务器之前已经通过CSBS服务生成备份,那么制作的整机镜像如果要共享,必须进行资源迁移,将CSBS备份迁移至云备份中。迁移操作请参见从原备份服务迁移资源。 云服务器之前未通过CSBS服务生成备份,那么制作的整机镜像可以直接共享,选中后单击“共享”即可。
  • 约束与限制 创建整机镜像时,请确保云服务器已完成相关配置,否则可能导致整机镜像创建云服务器失败。 详情请参见“创建私有镜像前云服务器、裸金属服务器或镜像文件需要完成哪些初始化配置?”。 使用Windows操作系统云服务器制作整机镜像时,不允许云服务器存在跨区卷,否则制作的整机镜像创建云服务器时可能会导致数据丢失。 使用Linux操作系统云服务器制作整机镜像时,不允许云服务器存在由多个物理卷组成的卷组、或由多个物理卷组成的逻辑卷,否则制作的整机镜像创建云服务器时可能会造成数据丢失。 带有专属分布式存储磁盘的云服务器不支持创建整机镜像。 不支持将整机镜像发布为市场镜像。 不支持将整机镜像导出到本地使用。 不支持同区域内复制整机镜像。 跨区域复制整机镜像各区域存在差异,请以控制台界面显示为准。 对于不支持跨区域复制的情况,您可以使用整机镜像创建云服务器,再分别创建系统盘镜像和数据盘镜像,然后跨区域复制到目标区域,实现整机镜像的跨区域复制功能。 对于使用云服务器备份创建的整机镜像,仅支持对当前区域生成的备份执行跨区域复制操作,不支持对复制操作产生的备份再次执行跨区域复制操作。 使用Windows操作系统云服务器制作整机镜像时,需修改云服务器SAN策略为OnlineAll类型。否则可能导致使用镜像创建云服务器时,云服务器磁盘处于脱机状态。 Windows操作系统SAN策略分为三种类型:OnlineAll、OfflineShared、OfflineInternal 表1 Windows操作系统SAN策略类型 类型 说明 OnlineAll 表示所有新发现磁盘都置于在线模式。 OfflineShared 表示所有共享总线上(比如FC、ISCSI)的新发现磁盘都置于离线模式,非共享总线上的磁盘都置于在线模式。 OfflineInternal 表示所有新发现磁盘都置于离线模式。 运行cmd.exe,执行以下命令,使用DiskPart工具来查询云服务器当前的SAN策略。 diskpart 执行以下命令查看云服务器当前的SAN策略。 san 如果SAN策略为OnlineAll,请执行exit命令退出DiskPart。 否,请执行步骤3。 执行以下命令修改云服务器SAN策略为OnlineAll。 san policy=onlineall
  • 背景知识 创建整机镜像的流程:先为云服务器创建云服务器备份,再通过云服务器备份创建镜像,中间过程为系统自动完成的,您只需要耐心等待即可。 图1 整机镜像创建流程 创建整机镜像的时间与磁盘大小、网络状态、并发任务数等有关。 使用云服务器制作整机镜像时,云服务器应处于开机或者关机状态。如果镜像中包含数据库,请在关机状态下制作。 在云服务器关机状态下,制作整机镜像的过程中,用户不能启动云服务器。 整机镜像创建过程中,请勿对源云服务器做任何操作,避免创建失败。 图1中,当云服务器备份还未创建成功,只是创建好磁盘快照时,整机镜像状态为“可用区x可用”(可用区x表示镜像源云服务器所在的可用区),此时,这个整机镜像只能在该可用区中发放云服务器。如果需要在区域内发放云服务器,需要等云服务器备份完全创建好,并且整机镜像状态为“正常”。 选择整机镜像切换云服务器操作系统时,仅能恢复整机镜像的系统盘数据。如果希望恢复或者迁移整机镜像中的数据盘数据,必须通过整机镜像创建新的云服务器。
  • 操作步骤 以Ubuntu 14.04为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub/grub.cfg”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。具体操作方法如下: 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid 回显信息如下所示: /dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3" /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap" 执行以下命令,查看“grub.cfg”文件: cat /boot/grub/grub.cfg 回显信息如下所示: ……menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic } 根据“/boot/grub/grub.cfg”配置文件里标记的root分区,查找是否包括“root=/dev/xvda1”或者“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”信息。 存在“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”,即root分区以UUID的表示形式,无需修改。 存在“root=/dev/xvda1”,即root分区以设备名称表示的形式,请执行步骤5。 根据“root=/dev/xvda1”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。 执行以下命令,打开“grub.cfg”文件。 vi /boot/grub/grub.cfg 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda1”修改为“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”。 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。 执行以下命令,确认修改结果。 cat /boot/grub/grub.cfg 回显信息如下所示表示修改成功,即root分区以UUID的形式表示。 ……menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic } 以CentOS 6.5为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub/grub.conf”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。具体操作步骤如下: 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid 回显信息如下所示 /dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap" /dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4" 执行以下命令查看“grub.conf”文件: cat /boot/grub/grub.conf 回显信息如下所示。 default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=/dev/xvda2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img 根据“/boot/grub/grub.conf”配置文件里标记的root分区,查找是否包括“root=/dev/xvda2”或者“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”信息。 若存在“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”,即root分区以UUID的表示形式,则无需修改。 若存在“root=/dev/xvda2”,即root分区以设备名称表示的形式,请执行步骤5。 根据“root=/dev/xvda2”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。 执行以下命令,打开“grub.conf”文件。 vi /boot/grub/grub.conf 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda2”修改为“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”。 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。 修改后,执行以下命令确认修改结果。 cat /boot/grub/grub.conf 回显信息如下所示表示修改成功,即root分区以UUID的形式表示。 default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img 以CentOS 7.0为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub2/grub.cfg”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid 回显信息如下所示。 /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 执行以下命令查看“grub.cfg”文件: cat /boot/grub2/grub.cfg 回显信息如下所示。 …… menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/xvda2 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img } 根据“/boot/grub2/grub.cfg”配置文件里标记的root分区,查找是否包括root=/dev/xvda2或者包括root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130信息。 存在“root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130”,即root分区以UUID的表示形式,则无需修改。 存在“root=/dev/xvda2”,即root分区以设备名称表示的形式,请执行步骤5。 根据“root=/dev/xvda2”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。 执行以下命令,打开“grub.cfg”文件。 vi /boot/grub2/grub.cfg 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda2”修改为“root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130”。 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。 执行以下命令确认修改结果。 cat /boot/grub2/grub.cfg 回显信息如下所示表示修改成功,即root分区以UUID的形式表示。 …… menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img }
  • 附1:qemu-img-hw常用命令 镜像文件格式转换:qemu-img-hw convert -p -O {目标镜像格式} {待转换镜像文件} {目标镜像文件} 上述命令中各参数对应的说明如下: -p:标识转换的进度条 -O:(必须是大写)后面的参数为转换出来的镜像格式 + 源镜像文件名称 + 目标镜像文件名称 示例:将qcow2格式转为zvhd2格式 qemu-img-hw convert -p -O zvhd2 test.qcow2 test.zvhd2 查询镜像文件信息:qemu-img-hw info {镜像文件} 示例:qemu-img-hw info test.zvhd2 查看帮助:qemu-img-hw -help
共100000条
提示

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