在我的 Redhat 集群上的一个节点中分配了额外的 IP 地址。我怎样才能摆脱它?

在我的 Redhat 集群上的一个节点中分配了额外的 IP 地址。我怎样才能摆脱它?

我有一个无法正常运行的集群。在执行某些操作时,它添加了一个不应该存在的额外 IP 地址。由于这是由集群生成的(不在网络脚本中)并且我不熟悉 Centos 7pacemaker + corosync 堆栈,所以我不知道要运行什么命令。请指教。

我试图删除的是第一个具有 /16 子网的 inet 编号。

提前致谢。

2:em1:mtu 1500 qdisc mq状态UP qlen 1000

link/ether 14:18:77:66:ef:e0 brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.xxx.xxx/16 brd xxx.xxx.xxx.xxx scope global em1
   valid_lft forever preferred_lft forever
inet xxx.xxx.xxx.xxx/27 brd xxx.xxx.xxx.xxx scope global dynamic em1
   valid_lft 25353sec preferred_lft 25353sec
inet xxx.xxx.xxx.xxx/32 brd xxx.xxx.xxx.xxx scope global em1
   valid_lft forever preferred_lft forever
inet6 fe80::1618:77ff:fe66:efe0/64 scope link
   valid_lft forever preferred_lft forever

答案1

该 IP 很可能是由 IPaddr2 资源代理添加的,pacemaker 通常使用该代理来配置和迁移虚拟 IP 地址(https://github.com/ClusterLabs/resource-agents/blob/master/heartbeat/IPaddr2)。

删除它应该很简单: ip addr del xxx.xxx.xxx.xxx/16 dev em1

答案2

我看到最上面的屏蔽 IP 地址有一个 /16 网络掩码。本地链路 169.254.??.?地址通常具有该掩码。它们用于avahi-daemon零配置网络:自动检测同一网段中其他设备中的打印机和其他可共享服务。 Oracle Clusterware/Grid 技术也使用链路本地地址。

否则,我认为在现代 IPv4 网络中的任何地方都不太可能看到 /16 掩码。

avahi-daemon在现代 RedHat/CentOS 系统和许多其他 Linux 发行版上默认启用。

如果avahi-daemon在服务器中没有用,则禁用它是相当常见的,特别是在需要高可用性的服务器中,以降低系统复杂性和潜在的攻击面。有可能系统管理员之前已经停止了avahi-daemon。但并没有阻止它在启动时启动,因此它可能在系统重新启动时重新启动。

systemctl status avahi-daemon比较所有集群节点上的输出。如果只有问题系统指示avahi-daemon正在运行,您可以使用 停止它systemctl stop avahi-daemon并防止它在引导时启动systemctl disable avahi-daemon。此命令是“软”禁用:如果某些其他systemd服务被标记为需要avahi-daemon,并且该服务被配置为在引导时启动,avahi-daemon则仍会自动启动。这有点类似于将 Windows 服务置于“手动”启动模式。

“硬”禁用(=“无论如何都不要以任何原因启动此服务,即使它导致其他东西无法工作”)的命令是systemctl mask <service-name>。这相当于将 Windows 服务设置为“禁用”状态。要允许服务重新启动,您需要systemctl unmask <service-name>.

如果您选择完全禁用avahi-daemon,并且您使用经典的 RedHat 样式/etc/sysconfig/network-scripts/ifcfg-*文件进行网络配置(而不是使用 NetworkManager),您可能还需要添加以下行

NOZEROCONF="yes"

到每个ifcfg-*文件。

相关内容