首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Linux 關閉 ZeroConf (NOZEROCONF=yes) 完整指南:避免 169.254.x.x 路由干擾 Oracle RAC

     編輯:DB2 教學

Linux 關閉 ZeroConf (NOZEROCONF=yes) 完整指南:避免 169.254.x.x 路由干擾 Oracle RAC

在 Oracle Linux / Red Hat Linux 上部署 Oracle 資料庫 (特別是 RAC) 時,預設啟用的 Zero Configuration Networking (Zeroconf/Avahi) 會自動添加 169.254.0.0/16 連結本地路由,可能干擾叢集私有網路心跳通訊。本文說明為何必須關閉、如何設定,以及官方文件依據。

問題背景

  • Zeroconf (Avahi-daemon) 讓裝置在無 DHCP 時自動分配 169.254.x.x 位址。
  • RHEL/OEL 預設啟用,開機或網路重啟時自動添加路由 169.254.0.0/16 dev eth0。
  • 此路由可能導致私有網路封包錯誤路由至連結本地網路,引發 RAC 心跳失敗、節點驅逐。

官方 Oracle 文件依據

文件 ID標題核心建議
Doc ID 1501093.1CSSD Fails to Join the Cluster After Private Network Recovered if avahi Daemon is up and Running停用 avahi-daemon,並在 /etc/sysconfig/network 加入 NOZEROCONF=yes
Doc ID 1161144.1How To Prevent Bogus Entry 169.254.0.0/255.255.0.0 Automatically Added To Routing Table編輯 /etc/sysconfig/network 加入 NOZEROCONF=yes 禁用 zeroconf 路由

解決方案:雙重保險

方法 1:修改網路配置檔 (持久化,建議)

# 編輯 /etc/sysconfig/network
NETWORKING=YES
HOSTNAME=localhost.localdomain
NOZEROCONF=yes  # 新增此行

重啟網路服務或重啟作業系統生效。

方法 2:停用並禁用 avahi-daemon 服務

# 立即停止
/etc/init.d/avahi-daemon stop
# 或 systemctl stop avahi-daemon (RHEL 7+)

# 開機不自動啟動
/sbin/chkconfig avahi-daemon off
# 或 systemctl disable avahi-daemon (RHEL 7+)

驗證是否生效

# 檢查路由表不再有 169.254.0.0/16
ip route show | grep 169.254
# 無輸出即成功

# 確認 avahi-daemon 未運行
systemctl status avahi-daemon
# 或 ps -ef | grep avahi

關於 RAC 最佳實踐文件 (Doc ID 1525820.1) 未提及 NOZEROCONF 的說明

該文件專注於核心叢集配置參數,而 ZeroConf 屬於作業系統層面的網路干擾因素,通常在「作業系統預安裝優化」或「網路配置最佳實踐」獨立文件中涵蓋。實務部署中強烈建議同時套用兩種方法,確保萬無一失。

總結檢查清單

  • [ ] /etc/sysconfig/network 包含 NOZEROCONF=yes
  • [ ] avahi-daemon 服務已停止且設為開機不啟動
  • [ ] 重啟網路/主機後,ip route 無 169.254.0.0/16 項目
  • [ ] RAC 私有網路介面 (如 eth1, bond0) 無誤綁定連結本地位址
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved