自己編譯fenced解決最大4個fence設備的限制
在RHCS中,當一台機器出現問題時處於正常狀態的機器會通過Fence將其重啟或關機以釋放IP、磁碟等資源。
但是目前的fenced版本中,有一個限制: 每個fence level中最大可以是4個fence設備。 這個限制在大部份時候是夠用的。但是如果想突破這個限制(本文中把限制設置成為了 8),可以按照如下方法作:
以下以RHEL4U5x86_64的版本為例
1. 安裝操作系統,建議完全安裝。
2. 下載源代碼包: fence-1.32.45-1.src.rpm . 安裝這個軟體包。
rpm -ivh fence-1.32.45-1.src.rpm
3. 在目錄 /usr/src/redhat/SOURCES/ 下創建文件fence.patch.0 ,
# cat /usr/src/redhat/SOURCES/fence.patch.0
顯示內容如下
diff -ruN fenced/agent.c fenced/agent.c
--- fenced/agent.c 2007-04-17 12:22:43.000000000 -0400
+++ fenced/agent.c 2007-11-05 01:21:32.000000000 -0500
@@ -24,7 +24,7 @@
#include "ccs.h"
#define MAX_METHODS 8
-#define MAX_DEVICES 4
+#define MAX_DEVICES 8
#define MAX_AGENT_ARGS_LEN 512
#define METHOD_NAME_PATH "/cluster/clusternodes/clusternode[@name=\"%s\"]/fence/method[%d]/@name"
4. 修改文件 /usr/src/redhat/SPECS/fence.spec
在BuildRoot行下面添加 Patch0: fence.patch.0, 在%prep中添加 %patch0 -p0, 如果需要,可以升級版本號。
如下: 具體的文件可以參考附件。
Source0: %{name}-%{version}.tar.gz
Source1: watchdog-5.2.6.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Patch0: fence.patch.0
................................
%prep
%setup -q
%setup -T -D -a 1
%patch0 -p0
5. 編譯並且創建新版本的軟體包
rpmbuild -ba /usr/src/redhat/SPECS/fence.spec
編譯的時候,假如有依賴問題,可以按照提示安裝響應的軟體包。
需要注意的是,如果使用64_86的操作系統,一定要注意seamonkey-nss-1.0.8-0.2.el4.x86_64.rpm已經安裝。
6. 編譯完成之後,可以在/usr/src/redhat/RPMS/x86_64 下找到這個新生成的軟體包。 需要的話,可以使用rpm 命令安裝。
[ 本帖最後由 johnyo 於 2007-11-5 15:20 編輯 ]
[火星人
]
自己編譯fenced解決最大4個fence設備的限制已經有561次圍觀
http://coctec.com/docs/service/show-post-7932.html