我有一个无法正常运行的集群。在执行某些操作时,它添加了一个不应该存在的额外 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-*
文件。