云服务器内容精选

  • 6、GPU类型边缘节点未安装GPU驱动 如果边缘节点使用GPU,您需要在纳管前安装GPU驱动。IEF当前支持Nvidia Tesla系列P4、P40、T4等型号GPU,支持CUDA Toolkit 8.0至11.0版本对应的驱动。 安装GPU驱动。 IEF当前支持Nvidia Tesla系列P4、P40、T4等型号GPU,支持CUDA Toolkit 8.0至11.0版本对应的驱动。 下载GPU驱动,推荐驱动链接: https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/440.33.01/NVIDIA-Linux-x86_64-440.33.01.run&lang=us&type=Tesla 执行如下安装驱动命令。 bash NVIDIA-Linux-x86_64-440.33.01.run 执行如下命令检查GPU驱动安装状态。 nvidia-smi 拷贝GPU驱动文件到指定目录。 以root用户登录边缘节点。 执行如下命令。 nvidia-modprobe -c0 -u 创建文件夹。 mkdir -p /var/IEF/nvidia/drivers /var/IEF/nvidia/bin /var/IEF/nvidia/lib64 拷贝驱动文件。 对于CentOS,依次执行如下命令拷贝驱动文件: cp /lib/modules/{当前环境内核版本号}/kernel/drivers/video/nvi* /var/IEF/nvidia/drivers/ cp /usr/bin/nvidia-* /var/IEF/nvidia/bin/ cp -rd /usr/lib64/libcuda* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/libEG* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/libGL* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/libnv* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/libOpen* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/libvdpau_nvidia* /var/IEF/nvidia/lib64/ cp -rd /usr/lib64/vdpau /var/IEF/nvidia/lib64/ 对于Ubuntu,依次执行如下命令拷贝驱动文件: cp /lib/modules/{当前环境内核版本号}/kernel/drivers/video/nvi* /var/IEF/nvidia/drivers/ cp /usr/bin/nvidia-* /var/IEF/nvidia/bin/ cp -rd /usr/lib/x86_64-linux-gnu/libcuda* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/libEG* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/libGL* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/libnv* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/libOpen* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/libvdpau_nvidia* /var/IEF/nvidia/lib64/ cp -rd /usr/lib/x86_64-linux-gnu/vdpau /var/IEF/nvidia/lib64/ 其中,当前环境内核版本号可以使用uname -r命令查看获取,如下所示,请替换为实际取值。 # uname -r 3.10.0-514.e17.x86_64 执行以下命令修改目录权限。 chmod -R 755 /var/IEF
  • 9、边缘节点存在多个docker0网桥地址 使用了容器引擎图形化界面的容器后,产生了两个docker0网桥地址,导致IEF服务纳管过程中docker0网桥注册失败,进而导致纳管失败,删除多余的docker0网桥后重新纳管可解决问题。 执行以下命令: ip addr show | grep docker0 如果出现多个IP,说明存在多个docker0网桥,请保留172开头的IP,删除多余的docker0网桥地址。
  • 13、边缘节点 域名 解析异常 请确保您的边缘节点可以解析以下域名: ief2-placement.cn-north-4.myhuaweicloud.com(依据不同的区域,域名不同,例如“华东-上海一”为ief-placement.cn-east-3.myhuaweicloud.com,可以通过cat /opt/IEF/Cert/user_config来查找对应的域名) ief2-edgeaccess.cn-north-4.myhuaweicloud.com(依据不同的区域、不同的服务实例,域名不同,请参考专业版服务实例域名或铂金版服务实例域名获取) 确认命令: ping ief2-edgeaccess.cn-north-4.myhuaweicloud.com ping ief2-placement.cn-north-4.myhuaweicloud.com 如果域名无法解析请配置合适的域名解析服务器,建议配置“114.114.114.114”。
  • 14、同一个证书重复在多个边缘节点使用 同一个证书重复在多台机器纳管(同一套证书在不同的边缘节点上注册,且有一台边缘节点处于正常运行状态)。 在IEF界面注册的边缘节点和实际的边缘节点一一对应,请避免只在IEF界面创建一个边缘节点,下载安装包和证书后,重复在多个边缘节点上纳管时使用。 执行如下命令查看是否重复使用证书: cat /var/IEF/sys/log/edge_core.log | grep websocket 若提示node_id已被占用,说明重复使用证书。如下图所示。
  • 12、边缘节点无法连接IEF 执行如下命令,确认边缘节点是否能连接IEF。 curl -i -k -v https://ief2-edgeaccess.cn-north-4.myhuaweicloud.com:443/ 其中,ief2-edgeaccess.cn-north-4.myhuaweicloud.com为服务实例的edgeaccess域名,不同区域地址不同,请参考专业版服务实例域名或铂金版服务实例域名获取。 如果一直没有回显,则说明边缘节点与IEF网络不通,请确保边缘节点能连接IEF。
  • 11、8883端口被防火墙关闭 检查边缘节点防火墙状态。 systemctl status firewalld firewall-cmd --state 回显中,not running表示关闭,running表示开启。 如果防火墙开启,您需要打开8883端口,或关闭防火墙。 打开8883端口。 firewall-cmd --add-port=8883/tcp --permanent systemctl restart firewalld 关闭防火墙。 systemctl disable firewalld systemctl stop firewalld
  • 15、同一边缘节点多次进行纳管 之前纳管后未正确执行卸载操作(边缘节点以前纳管过,在IEF界面删除边缘节点后,未在边缘节点上卸载) 执行以下命令确认节点上以下组件是否处于运行状态: systemctl status edgecore systemctl status edgemonitor systemctl status edgelogger 如果边缘节点纳管失败,但执行以上命令发现组件仍然处于运行状态,说明之前纳管的组件未正常卸载,请执行以下命令卸载。 cd /opt/edge-installer; sudo ./installer -op=uninstall 存在以下错误情况: 重新纳管边缘节点时,直接将原来的节点的“/opt”目录变为“/opt_old”目录,新建“/opt”目录,后按照IEF提供的指导进行纳管。纳管失败后,执行卸载操作,提示卸载成功,但实际上执行以上命令发现对应组件仍然处于运行状态。这是因为在执行以上卸载操作时,卸载的不是“/opt_old”中安装的IEF组件。如遇该种情况,请先将“/opt”目录恢复,执行卸载操作后再重新开始纳管。请尽量避免该类操作。 卸载完清理残留文件,执行以下命令删除之前纳管的组件、生成的日志和下载的配置文件。 图2 /opt路径下文件 删除红框所示之前纳管的组件:rm -rf /opt/edge-installer、rm -rf /opt/IEF 、rm -rf /opt/IEF_firmware 、rm -rf /opt/IEFpack 、rm -rf /opt/material 删除日志:rm -rf /var/IEF 删除配置文件:rm -rf edge-installer_1.0.10_x86_64.tar.gz ief-node.tar.gz 之前纳管的组件卸载不干净 如果您确认卸载完成,但纳管仍然失败,请重启边缘节点后重试纳管。
  • 4、获取边缘节点操作系统失败 查看安装输出日志,如下最后一行,os字段如果为空,说明获取操作系统信息失败。 2020-01-11 17:00:46.341 +08:00 DEBUG :0 init logger... 2020-01-11 17:00:46.341 +08:00 INFO config/config.go:45 New file source added for configuration: /opt/edge-installer/conf/config.yaml 2020-01-11 17:00:46.341 +08:00 INFO config/config.go:45 New file source added for configuration: /opt/edge-installer/conf/logging.yaml 2020-01-11 17:00:46.351 +08:00 INFO pkg/installer.go:24 start to install 2020-01-11 17:00:46.386 +08:00 INFO placementclient/placementclient.go:61 http_proxy:ProxyNotSet, https_proxy:ProxyNotSet 2020-01-11 17:00:46.437 +08:00 INFO httpclient/httpsclient.go:182 https_proxy: 2020-01-11 17:00:46.479 +08:00 INFO util/util.go:446 system cert file[/opt/IEF/Cert/system/sys_private_cert_crypto.crt] and system key file[/opt/IEF/Cert /system/sys_private_cert_crypto.key] have been inited 2020-01-11 17:00:46.479 +08:00 INFO pkg/installer.go:46 ------------------install--------------- 2020-01-11 17:00:46.479 +08:00 INFO deploy/bootstrap.go:48 install precheck success. 2020-01-11 17:00:46.479 +08:00 INFO deploy/bootstrap.go:54 install preprocess start 2020-01-11 17:00:46.479 +08:00 INFO deploy/deploy.go:39 install preprocess start 2020-01-11 17:00:46.501 +08:00 INFO util/util.go:192 get arch success 2020-01-11 17:00:46.502 +08:00 INFO util/util.go:216 os type is:"euleros" 2020-01-11 17:00:46.502 +08:00 INFO util/util.go:432 installer version [1.0.6] 2020-01-11 17:00:46.516 +08:00 INFO placementclient/placementclient.go:113 body : {"arch":"x86_64","installer_version":"1.0.6","os":"euleros"}
  • 8、容器引擎未安装或未启动 执行以下命令确认容器引擎是否启动。 systemctl status docker 如果没有容器引擎的信息,说明容器引擎未安装,请参考表2中的要求安装容器引擎。 如果容器引擎未启动,执行以下命令尝试启动容器引擎。 systemctl restart docker 再次查看容器引擎状态。 如果容器引擎启动正常(状态为active),请重新纳管边缘节点。 如果容器引擎无法正常启动,请优先恢复容器引擎,或者重新安装容器引擎。
  • 问题排查 边缘节点纳管失败的原因众多,大部分是因为边缘节点不满足纳管要求或网络不通导致的,请根据如下原因排查。 图1 排查思路 您可以使用edgectl检查边缘节点是否满足纳管要求,检查“/opt/edge-installer”目录下是否存在edgectl文件。 如果存在,则无需下载。 如果不存在,请登录IEF管理控制台,在“总览”页面右侧的“资源下载”中下载对应版本工具,例如“edgectl_x.x.x_x_x86_64.tar.gz”,并解压安装包到“/opt/edge-installer”目录下。 执行如下命令检查边缘节点是否满足纳管要求。 chmod +x /opt/edge-installer/edgectl /opt/edge-installer/edgectl diagnose installation 如果边缘节点不满足要求,则返回如下信息。您可以根据错误码定位解决对应问题,详细信息请参见错误码总览。 Failed to get Docker version. ERROR6102: Make sure that Docker is running. For more information, see IEF documentation. +-------------------------------+ | Installation diagnose failed. | +-------------------------------+ 如果边缘节点满足要求,则返回如下信息。此时您可以根据表1手动排查故障。 +---------------------------------+ | Installation diagnose succeed. | +---------------------------------+ 表1 排查思路 可能原因 处理措施 边缘节点不满足纳管要求 1、边缘节点不满足纳管要求 2、操作系统不支持 3、操作系统内核版本过低,部分命令不存在而导致边缘节点安装失败 4、获取边缘节点操作系统失败 5、AI加速卡类型的边缘节点未安装NPU驱动 6、GPU类型边缘节点未安装GPU驱动 7、目录磁盘满导致安装失败 Docker相关问题 8、容器引擎未安装或未启动 9、边缘节点存在多个docker0网桥地址 网络相关问题 10、8883端口被占用 11、8883端口被防火墙关闭 12、边缘节点无法连接IEF 13、边缘节点域名解析异常 其他问题 14、同一个证书重复在多个边缘节点使用 15、同一边缘节点多次进行纳管 16、纳管边缘节点的命令没有在对应目录下执行
  • 3、操作系统内核版本过低,部分命令不存在而导致边缘节点安装失败 首先,请参照表2中对边缘节点的要求,查看您的操作系统及内核版本是否符合要求。 执行以下命令确认是否存在操作系统内核版本过低情况: sh /opt/edge-installer/conf/script/parse_user_config.sh node_id 其中,node_id为边缘节点ID。 如果命令报错,则说明操作系统内核版本过低,请升级您的内核版本或重装新版操作系统后再重新纳管边缘节点。
  • 请求示例 PUT https://{endpoint}/v2/{project_id}/edge-nodes/{edge_node_id} { "name" : "test-node", "storage_period" : 0, "log_configs" : [ { "size" : 1000, "level" : "string", "rotate_num" : 10, "rotate_period" : "string", "type" : "LTS", "component" : "string" } ], "ha_config" : { "ha_type" : "ACTIVE_STANDBY", "active_standby_config" : null, "work_node" : "DEFAULT", "master_interface_name" : "eth0", "slave_interface_name" : "eth0", "virtual_ip_address" : "127.0.0.1", "virtual_ipv6_address" : "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789" }, "hardware_model" : "string", "npu_library_path" : "/usr/local/Ascend/driver/lib64/", "automatic_upgrade" : "OFF", "device_data_record" : { "disk_quota" : 512, "age" : 7, "state" : "off" }, "metric_report" : "on", "offline_cache_configs" : { "publish_order" : "realtime_first", "period" : 7, "capacity" : 2048 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 边缘节点名称,只允许中、数字、英文大小写、中划线、下划线 最小长度:1 最大长度:64 storage_period 否 Integer 节点的存储周期,默认0天,取值范围0~7天,0天则不存储。 最小值:0 最大值:7 log_configs 否 Array of LogConfigDTO objects 边缘节点在IEF日志配置参数 数组长度:0 - 10 ha_config 否 HaConfigDTO object 高可用配置参数 hardware_model 否 String 网关型号 最小长度:0 最大长度:1024 npu_library_path 否 String npu驱动动态库路径 最小长度:0 最大长度:256 automatic_upgrade 否 String 自动升级系统应用的节点开关,默认为关闭:OFF,IMMEDIATE表示节点开关打开 最小长度:0 最大长度:16 device_data_record 否 DeviceDataRecord object 边缘节点设备数据上报打印配置 metric_report 否 String omagent监控运维工具是否上报指标 最小长度:0 最大长度:16 offline_cache_configs 否 UpdateOfflineCacheConfigsDTO object 边缘节点离线缓存配置 表4 LogConfigDTO 参数 是否必选 参数类型 描述 size 否 Integer 应用日志文件大小限制,单位MB,默认50,取值范围10-1000 最小值:10 最大值:1000 level 否 String 应用日志级别,可选项:on/off/trace/debug/info/warn/error/fatal,当type为LTS时有效。当选择非on/off的选项时,将只采集大于等于指定级别的日志。 rotate_num 否 Integer 应用日志rotate个数,默认5,取值范围1-10 最小值:1 最大值:10 rotate_period 否 String 应用日志rotate周期,可选项: daily/monthly/weekly/yearly type 否 String LTS:将日志发送到LTS, local 本地日志 缺省值:LTS component 否 String app:部署到边缘设备上的应用的日志, system 边缘设备上系统的日志 表5 HaConfigDTO 参数 是否必选 参数类型 描述 ha_type 否 String 节点高可用类型双活或者主备 缺省值:ACTIVE_STANDBY active_standby_config 否 ActiveStandbyConfigDTO object 主备详细配置 表6 ActiveStandbyConfigDTO 参数 是否必选 参数类型 描述 work_node 否 String 当前的工作节点,主节点还是备节点在工作,初始创建时工作节点为DEFAULT节点,(DEFAULT|MASTER|SLAVE) 缺省值:DEFAULT 最小长度:1 最大长度:64 master_interface_name 否 String 主节点网卡名称 最小长度:1 最大长度:64 slave_interface_name 否 String 备节点网卡名称 最小长度:1 最大长度:64 virtual_ip_address 否 String 网卡ip 最小长度:0 最大长度:64 virtual_ipv6_address 否 String 网卡ipv6地址 最小长度:0 最大长度:64 表7 DeviceDataRecord 参数 是否必选 参数类型 描述 disk_quota 是 Integer 磁盘配额,单位MB,参考值,只能保证在这个值左右 最小值:512 最大值:10240 缺省值:512 age 是 Integer 老化时间,日志压缩文件名时间戳老于这个时间就会发生老化删除 最小值:1 最大值:7 缺省值:1 state 是 String 配置开关,true启用数据打印,false不启用数据打印 最小长度:0 最大长度:16 表8 UpdateOfflineCacheConfigsDTO 参数 是否必选 参数类型 描述 capacity 否 Integer 节点离线缓存容量,单位MB,默认2048,取值范围500-65536 最小值:500 最大值:65536 缺省值:2048
  • 操作步骤 在“边缘节点”的节点列表选择您需要重新安装的节点,进入节点详情页面。 图1 边缘节点列表 进入节点概览页面,单击右上角重新安装,进入重新安装流程。 图2 节点概览 仔细阅读橙色方框内的注意事项,确认需要重新安装边缘节点后,单击获取安装命令,然后单击拷贝安装命令,使用SSH工具以root用户登录新的边缘节点服务器后台系统,执行重装命令。 单击获取安装命令后,节点的密钥和验证码会立即被重置,会影响当前边缘节点的业务运行。 图3 重新安装提示 图4 执行重装 图5 重装命令执行成功 单击“我知道了”,等待边缘节点的状态变为“在线”,表示该节点已重新安装并连接成功。
  • TPM硬件加密与本地软件加解密对比 使用软件加解密,密钥材料放置于磁盘中。而在带TPM安全芯片的系统中,一些关键的密钥是存在TPM芯片内部,这时攻击者只有攻破TPM才有可能攻破系统的防护,攻克一块芯片比一块硬盘成本和难度更高。TPM芯片可以生成、存储和保护密钥。它提供了一个安全的环境来生成密钥对,并将私钥存储在TPM的安全存储器中。私钥无法被直接访问,只能通过TPM提供的安全接口进行使用。经TPM加密的数据只有此TPM芯片才能解密,从而达到数据与TPM芯片绑定来保护数据的目的。简而言之,TPM硬件加解密与本地软件加解密对比,具有更高的安全性、保密性。 图5 边缘密钥服务体系