
# 边缘节点故障如何处理？
#### 故障现象
边缘节点状态显示为"故障"，将鼠标移动到![](https://support.huaweicloud.com/ief_faq/zh-cn_image_0181651335.png "点击放大")上，会显示故障原因。
图1节点故障   
![](https://support.huaweicloud.com/ief_faq/zh-cn_image_0000001188609819.png "点击放大")
#### 排查思路
边缘节点故障有如下原因，请根据如下原因排查处理。
![](https://support.huaweicloud.com/ief_faq/zh-cn_image_0000001199478935.png "点击放大")
表1排查思路 
| 可能原因                      | 处理措施                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|
| 边缘节点关机                    | [边缘节点关机]                                                                                                                                                                                                                                                                                                                                                                          |
| 容器引擎故障，包括容器引擎未启动和容器引擎服务异常 | [边缘节点本地容器引擎服务异常]                                                                                                                                                                                                                                                                                                                                                                    |
| 节点磁盘空间不足                  | - [边缘节点容器磁盘空间不足]  - [边缘节点/opt/IEF磁盘空间不足]  - [边缘节点/var/IEF/sys/log磁盘空间不足]   |
| 边缘节点网络连接异常                | [边缘节点网络连接异常]                                                                                                                                                                                                                                                                                                                                                                        |
| GPU驱动异常                   | [GPU驱动异常]                                                                                                                                                                                                                                                                                                                                                                         |
| NPU插件异常                   | [NPU插件异常]                                                                                                                                                                                                                                                                                                                                                                         |
| 边缘节点的核心组件（edgecore）异常     | [IEF在边缘节点的核心组件（edgecore）异常]                                                                                                                                                                                                                                                                                                                                                         |
| 边缘节点强行关机并之后强行开机，系统进入恢复模式  | [边缘节点强行关机并之后强行开机，系统进入恢复模式]                                                                                                                                                                                                                                                                                                                                                           |
   
 #### 边缘节点关机
边缘节点关机后，边缘节点将无法向IEF上报边缘节点状态，IEF会判定边缘节点故障，请保持边缘节点开机。
![](https://support.huaweicloud.com/ief_faq/public_sys-resources/caution_3.0-zh-cn.png)
IEF并不会根据边缘节点收费的，而是依据边缘应用收费，边缘节点故障后，边缘应用仍以异常状态存在IEF中，仍会继续收费。所以，如果您暂时不需要该服务，请确保在IEF中删除应用，而不是关机。
 #### 边缘节点本地容器引擎服务异常
IEF的系统组件edgecore的启动和正常运行依赖容器引擎。因此，如果容器引擎不正常，会导致edgecore组件无法启动。
**解决方法：**
1. 使用docker version命令查看容器引擎是否正常。如果不正常，可使用systemctl restart docker命令重启容器引擎。
2. 使用docker ps命令查看容器引擎是否可以使用。如果不可以，重新启动或安装容器引擎。
![](https://support.huaweicloud.com/ief_faq/public_sys-resources/caution_3.0-zh-cn.png)
请勿强制下电边缘节点，强制下电可能会导致边缘节点上的数据文件丢失或损毁，从而导致节点故障。
 #### 边缘节点容器磁盘空间不足
**解决方法：**
1. 登录边缘节点。执行如下命令查看当前边缘节点容器所挂载的磁盘空间使用情况。 df -h
   
2. 删除边缘节点中的多余文件，释放磁盘空间。 rm 文件名称
   
 
 #### 边缘节点/opt/IEF磁盘空间不足
**解决方法：**
1. 登录边缘节点。执行如下命令查看当前边缘节点/opt/IEF所挂载的磁盘空间使用情况。 df -h
   
2. 删除边缘节点中的多余文件，释放磁盘空间。 rm 文件名称
   
 
 #### 边缘节点/var/IEF/sys/log磁盘空间不足
**解决方法：**
1. 登录边缘节点。执行如下命令查看当前边缘节点/var/IEF/sys/log所挂载的磁盘空间使用情况。 df -h
   
2. 删除边缘节点中的多余文件，释放磁盘空间。 rm 文件名称
   
 
 #### 边缘节点网络连接异常
**确认方法：**
1. 在边缘节点执行如下命令，获取连接IEF的地址。 **cat /opt/IEF/Edge-core/conf/edge.yaml \| grep ws-url**
   回显类似以下结果。
   ```
   ws-url: wss://ief2-edgeaccess.cn-north-4.myhuaweicloud.com:443/
   ```
   其中，
   ief2-edgeaccess.cn-north-4.myhuaweicloud.com为需要获取的地址，不同区域地址不同。企业版服务实例的地址格式为：1fc0704e-229c-4210-9802-75f66aeffe3d.cn-north-4.huaweiief.com，您也可以在IEF控制台获取该地址，即云端接入域名。
   图2获取云端接入域名   
   ![](https://support.huaweicloud.com/ief_faq/zh-cn_image_0000001189079025.png "点击放大") 
2. 使用curl命令检查边缘节点与IEF网络是否能连接。 **curl -i -v -k https://ief2-edgeaccess.cn-north-4.myhuaweicloud.com**
   - 如果一直没有回显，则说明边缘节点与IEF网络不通。
   
   - 如果回显如下，则说明网络正常。
     ```
     * About to connect() to ief2-edgeaccess.cn-north-4.myhuaweicloud.com port 443 
     *   Trying 49.4.115.239...
     * Connected to ief2-edgeaccess.cn-north-4.myhuaweicloud.com (*.*.*.*) port 443 
     * Initializing NSS with certpath: sql:/etc/pki/nssdb
     * skipping SSL peer certificate verification
     * NSS: client certificate not found (nickname not specified)
     * SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
     * Server certificate:
     * subject: OID.1.1.1.4=42701fe87611496e80c824778c9857ca,OID.1.1.1.3=op_svc_ief_container1:88125631e95e4d3fbdfa7e6ced0f9dd4,OID.1.1.1.2=cn-north-4:42701fe8761
     1496e80c824778c9857ca:op_cfe_kubelet,OID.1.1.1.1=op_svc_ief_container1,CN=paas.placement.certs.secret OSS3.0 CA,OU=OSS & Service Tools Dept,O="Huawei Technologies 
     Co., Ltd",L=ShenZhen,ST=GuangDong,C=CN
     * start date: Apr 29 16:00:00 2019 GMT
     * expire date: Apr 29 16:00:00 2049 GMT
     * common name: paas.placement.certs.secret OSS3.0 CA
     > GET / HTTP/1.1
     .....
     ```
     
    
**可能原因及解决方法：**
1. 域名解析问题。 执行如下命令。
   **ping ief2-edgeaccess.cn-north-4.myhuaweicloud.com**
   看是否可以解析出IP，如果无法解析出IP，请执行如下命令查看域名解析服务器配置是否被修改。
   **cat /etc/resolv.conf**
   解决办法：
   - 配置正确的域名解析服务器，推荐114.114.114.114
   
   - 获取正确的域名解析出来的IP，通过配置host文件临时规避
    
2. 代理问题 如果通过代理的方式，请确认是否配置代理，代理是否配置正确：
   - 是否为节点配置了代理 确认方法：
     **env \| grep proxy**
     **env \| grep PROXY**
     
   
   - 是否为edgecore配置代理 确认方法：
     **cat /opt/IEF/Cert/user_config \| grep PROXY**
     
   
   
   如果不是通过代理的方式，请务必通过以上方式确认没有配置代理。
   
3. 网络状态不稳 确认边缘节点网络状态是否正常，是否存在网络不稳情况，如果出现网络不稳，会导致边缘节点的状态在"故障"和"运行中"两者之间不断跳动。
   
 
 #### GPU驱动异常
**解决方法：**
1. 安装GPU驱动。 
   IEF当前支持Nvidia Tesla系列P4、P40、T4等型号GPU，支持CUDA Toolkit 8.0至11.0版本对应的驱动。
   1. 下载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](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)
      
   
   2. 执行如下安装驱动命令。 **bash NVIDIA-Linux-x86_64-440.33.01.run**
      
   
   3. 执行如下命令检查GPU驱动安装状态。 **nvidia-smi**
      
   
   
   
   
2. 拷贝GPU驱动文件到指定目录。 
   1. 以root用户登录边缘节点。
   
   2. 执行如下命令。 **nvidia-modprobe -c0 -u**
      
   
   3. 创建文件夹。 **mkdir -p /var/IEF/nvidia/drivers /var/IEF/nvidia/bin /var/IEF/nvidia/lib64**
      
   
   4. 拷贝驱动文件。
      - 对于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
      ```
      
   
   5. 执行以下命令修改目录权限。 **chmod -R 755 /var/IEF**
      
   
   
   
   
 
 #### NPU插件异常
1. 登录边缘节点。
2. 执行如下命令查看NPU驱动容器是否工作正常。 
   **docker ps -a \|grep npu**
   
   
3. 如果容器状态不是running，则重启容器。 
   **docker restart** *{container_name}*
   *{container_name}*为容器名称。
   
   
 
 #### IEF在边缘节点的核心组件（edgecore）异常
查看edgecore组件是否正常：
**systemctl status edgecore**
如果edgecore组件显示故障，可能包含以下原因：
- 8883/1883端口被占用： 请确认您的边缘节点8883端口和1883端口是否被占用，如果被占用，请先保证端口未被占用情况下，执行**systemctl restart edgecore**恢复。
  
- 容器引擎状态异常： 执行**systemctl status docker** 确认容器引擎是否正常，如果异常，请执行**systemctl restart docker**恢复。
  
- 防火墙原因：请参见[11、8883端口被防火墙关闭](https://support.huaweicloud.com/ief_faq/ief_faq_0047.html#ief_faq_0047__section17127103110414)。
 
 #### 边缘节点强行关机并之后强行开机，系统进入恢复模式
如果您的边缘节点进行了强制下电关机以及强制开机强制重启，有一定的概率使您的系统进入恢复模式，请确认/opt/IEF目录是否正常，如果存在丢失，会导致IEF边缘节点故障。
**确认方法：**
- 执行**systemctl status edgecore** 显示服务状态异常，执行**systemctl restart edgecore**可能会显示服务不存在。
- 执行**systemctl status edgelogger** 显示状态异常，执行**systemctl restart edgelogger**可能会显示服务不存在。
- 执行**systemctl status edgemonitor** 显示状态异常，执行**systemctl restart edgemonitor**可能会显示服务不存在。
**恢复方法：**
请确保您的机器开机时是以正常模式进入的。另外，边缘节点异常下电极有可能会造成文件损坏或者丢失，请避免执行该类操作，如出现该问题，请[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)。
