欢迎访问机房运维工作室

爱数知识库

AnyShare-设置高可用从节点失败,提示:not exists interface[网卡名]

频道:爱数知识库 日期: 浏览:187

AnyShare-设置高可用从节点失败,提示:not exists interface[网卡名]

关键字

网卡名、interface

适用产品

  • AnyShare Enterprise 6.0.x
  • AnyShare Express 6.0.x

问题描述

在系统管理控制台设置高可用从节点失败,提示如下错误信息:

Set ha slave failed. Exception:Node[67b80c64-b519-11ea-994a-00505682b053] not exists interface[ens160] (File "modules/keepalived_manager.py", line 486, in set_ha_slave)
注意:此处节点 UUID 以 [67b80c64-b519-11ea-994a-00505682b053] 为例,网卡以 ens160 为例,具体以实际情况为准。

问题影响

设置高可用从节点失败,无法保障业务连续性。

问题原因

从节点网卡名称和主节点网卡名称不一致。

解决方案

为了解决该问题,需要修改从节点的网卡名称,保证和主节点网卡名称一致,可按照以下步骤进行操作:

1.分别通过 SSH 登录主、从节点操作系统,执行以下命令确认网卡信息,如下图所示:主节点的网卡名是 ens160,从节点的网卡名是 ens161。
ip a
ip a
2.在从节点上,执行以下命令,进入到网卡配置文件目录。
cd /etc/sysconfig/network-scripts/
3.执行以下命令,将网卡配置文件目录备份到 /opt 目录下。
cp -r /etc/sysconfig/network-scripts /opt
4.将网卡配置文件名称由 ifcfg-ens161 改为 ifcfg-ens160。
mv ifcfg-ens161 ifcfg-ens160
mv ifcfg-ens161:i ifcfg-ens160:i
mv ifcfg-ens161:o ifcfg-ens161:o

5.执行以下命令,依次编辑 ifcfg-ens160、ifcfg-ens160:i、ifcfg-ens160:o 配置文件,按 i 键进入编辑模式,将 DEVICE 字段中的 ens161 改为 ens160,之后按 ESC 键,键入 :wq 保存退出。
vi ifcfg-ens160
vi ifcfg-ens160:i

vi ifcfg-ens160:o
6.执行以下命令, 修改 grub 来禁用以前的命名规则, 按 i 进入编辑模式,在 GRUB_CMDLINE_LINUX 行末尾加入配置 net.ifnames=0 biosdevname=0,之后按 ESC 键,键入 :wq 保存退出。
vi /etc/sysconfig/grub
7.执行以下命令, 重新生成grub配置并更新内核参数。
grub2-mkconfig -o /boot/grub2/grub.cfg
8.执行以下命令,编辑 70-persistent-net.rules 配置文件,按 i 进入编辑模式,写入下列内容,之后按 ESC 键,键入 :wq 保存退出。
vi /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:50:56:82:b0:53",ATTR{type}=="1" ,KERNEL=="ens160",NAME="ens160"

注意:ATTR{address} 字段是网卡的 MAC 地址,可通过 ifconfig 查看,KERNEL 和 NAME 字段是网卡的名称,此处以 ens160 为例,具体以实际环境为准。
9.执行以下命令,重启系统,之后可以看到更改之后的网卡名称。
reboot
10.重新配置高可用从节点。

更多信息

当 AnyShare 集群中的节点数量大于等于 2 时,可通过设置高可用从节点来避免单点故障,保证系统业务的高可用性。