1,安裝ldirectord。
2,把配置檔案複製到/etc/ha.d/路徑下,cp /usr/share/doc/ldirectord/examples/ldirectord.cf
3, 建立ldirectord配置檔案
ldirectord使用乙個配置檔案建立ipvs表,你可以給這個檔案取任意合法的名字,但你必須將其放於/etc/ha.d/conf目錄下,例如:在vip 209.100.100.3上的ipvs配置檔案可以是:
注意:在virtual行後面的行必須縮排4個空格或乙個tab字元進行標記。
這個檔案的前面4行是「全域性」設定,它們應用到多個虛擬主機,但是當使用heartbeat時,這個檔案通常都包括一行virtual= 只指定乙個vip位址,這就是為什麼你在haresources檔案中設定vip時要每一行放乙個的原因的,為每個vip執行乙個ldirectord守護程序,每個ldirectord守護程序使用不同的配置檔案,因此每個vip及其ipvs表成為乙個heartbeat可以管理的資源。
下面來看看這個配置檔案中的每一行:
checktimeout=20
這個值就是ldirectord等待健康檢查執行完畢的等待時間,單位秒。如果因為某些原因檢查失敗或在設定的時間週期內沒有完成檢查,ldirectord將會從ipvs表中移除真實伺服器[16]。
checkinterval=5
這個值指定ldirectord在兩個檢查之間的間隔時間。
autoreload=yes
如果啟用這個選項,它使ldirectord按時計算這個配置檔案的md5校驗和值,看其是否有改動,當發現有改動時自動應用那些改動,這個方便的特性執行你容易地改變集群的配置,你對配置檔案改動後幾秒,ldirectord將察覺到有改動,呼叫ipvsadm命令實現改動,從有效伺服器池中移除真實伺服器或按需要將它們新增到池中。
注意:你也可以通過向ldirectoed守護程序傳送hup訊號(使用kill命令)強制它重新載入,或執行ldirectord reload。
quiescent=no
當乙個節點在checktimeout設定的時間週期內沒有響應是它是「靜止的」(它的權重為0),當你設定了這個選項後,ldirectord將會從ipvs表中移除真實伺服器而不是「停止」它,從ipvs表移除節點將中斷現有的客戶端連線,並使lvs丟掉所有的連線跟蹤記錄和持續連線模板,如果你不將這個選項設定為no,當某個節點崩潰時,對某些客戶端計算機而言可能會顯示為集群關閉了,因為在這個節點崩潰前這些客戶端計算機被分配給它了,而連線跟蹤記錄和程式連線模板仍然保留在director上。
使用這個選項時,你可能也想在系統啟動時使用下面這個命令[18]:
echo 1 > /proc/sys/net/ipv4/vs/expire_nodest_conn
如果客戶端使用乙個先前的連線跟蹤記錄嘗試與相同的伺服器對話,但此時該伺服器已經失效了,可以設定這個核心變數為1使連線跟蹤記錄立即失效[19]。
注意:所有sysctl變數。包括expire_nodest_conn 變數,在lvs**上都有說明文件(
)。logfile="info"
這一行內容告訴ldirectord使用syslog程式記錄錯誤訊息(檢視/etc/syslog.conf找出「info」級別的訊息是寫到**的),你也可以輸入記錄錯誤訊息的目錄和檔名,如果沒有指定值,日誌訊息將被寫入/var/log/ldirectord.log。
virtual=209.100.100.3:80
這一行指定我們想要在director上設定的vip位址和埠號,這就是你要新增到dns向客戶端廣播的ip位址,任何情況下,這就是客戶端計算機用來連線到你配置的集群資源的ip位址。
virtual=2
這一條表明你使用的是ipchains或iptables標記抵達director的資料報[20],所有含有這個標記的資料報都將按照這個配置檔案後面的規則進行處理。
下面的第乙個縮進行指出由哪個真實伺服器向客戶端計算機提供資源:
real=127.0.0.1:80 gate 1 ".healthcheck.html", "okay"
這一行指出director本身(在迴路ip位址127.0.0.1)充當localnode模式,將響應抵達vip 200.100.100.3的客戶端請求。
注意:在生產環境中不要使用localnode,除非你對集群負載均衡資源進行了充分的測試,如果你不使用localnode模式,通常可以改善集群的可靠性。
real=209.100.100.100:80 gate 1 ".healthcheck.html", "okay"
real=rip:port gate|masq|ipip [weight] "request url", "response expected"
這個語法描述告訴我們該配置檔案中每一real=行都必須給出gate、masq或ipip指出要使用的**方法(回憶第11章中director使用不同的**方法),這個配置檔案使用稍微不同的術語(基於傳遞給ipvsadm命令的引數)來代表三種**方法,具體請檢視表15-1:
ldirectord配置選項
ipvsadm使用的引數
ipvsadm -l的輸出
lvs**方法
gate
-g
route
lvs-dr
ipip
-i
tunnel
lvs-tun
masq
-m
masq
lvs-nat
跟隨**方法後面的是分配給真實伺服器的權重值,只在帶權重的排程方法中有用,最後兩個引數指出ldirectord應該訪問哪個web頁面或url檢查真實伺服器的健康狀況,以及ldirectord應從真實伺服器那裡接收到預期的響應。這兩個引數都需要用引號引起來,並用逗號隔開。
這一行指出測試真實伺服器的健康時ldirectord使用的服務,你必須要為你指定的服務載入正確的cpan perl 模組。
checkport=80
這一行指出健康檢查使用的埠是80。
protocol=tcp
這一行指出該服務使用的協議。可以是tcp、udp或fwm,如果你使用fwm或fwmark標記的資料報,在virtual=那一行你必須使用netfilter掩碼(或fwmark)代替ip位址。
scheduler=wrr
這一行指出使用的是帶權重的迴圈負載均衡技術進行排程(檢視前面的real行為每個真實伺服器分配的權重值),參考第11章中描述的lvs支援的排程方法,ldirectord不檢查這一項的有效性,ldirectord只管傳遞你輸入的內容給ipvsadm建立虛擬服務。
checktype=negotiate
這個選項指出ldirectord守護程序使用什麼方法監視真實伺服器,checktype有以下這樣一些值:
negotiate :
這個方法連線到真實伺服器傳送你指定的請求,如果在checktimeout週期內真實伺服器都沒有返回你指定的應答字串,這個節點就被認為已經死掉了,你可以在每個節點上指定請求和應答字串,或在ldirectord配置檔案中新增兩行內容,為所有節點設定同樣的請求和應答字串:
request=".healthcheck.html"receive="okay"connect :
這個方法只是在checkport指定的埠上連線到真實伺服器,並假設真實伺服器一切都ok,值需要到真實伺服器的tco/ip連線是通暢的,這個方法沒有negotiate可靠,當沒有negotiate檢查可用時,使用這個方法顯得有點用處。
a number :
off :
禁用ldirectord監視真實伺服器的健康。
fallback=127.0.0.1
fallback位址指出當ipvs表中沒有真實伺服器時,客戶端計算機應該被重定向的ip位址,通常將其設為loopback位址127.0.0.1,為了強制客戶端計算機連線到本地的守護程序,至少要通知使用者出現問題了,可能還要讓他們知道要獲取額外的幫助應該聯絡誰。
你也可以為fallback web頁面設定乙個埠號:
fallback=127.0.0.1:9999
啟動重啟和停止ldirectord:/etc/init.d/ldirectord start/restart/stop
**部分經過自己的新增。
Asterisk目錄及配置檔案
b asterisk目錄及配置檔案 b etc asterisk asterisk主目錄,包含其它關於asterisk的配置檔案 zaptel.conf這個配置檔案放在 etc,因為其它軟體也可以使用zaptel這個硬體及其驅動,所以不是放在 etc asterisk裡.usr lib asteri...
目錄介紹及配置檔案
目錄名 作用boot etc存放配置檔案 mnt一般用來設定掛載點 src sys proc 與系統核心相關,不懂勿碰 tmp臨時目錄,隨時刪除 dev裝置相關 linux中所有裝置都需要掛載才可使用 home 普通使用者的家目錄 root 管理員的家目錄 usr local 存放使用者編譯的原始碼...
drbd配置檔案 drbd安裝及配置
一 安裝環境 作業系統 rhel6.1 drdb版本 drbd 8.4.1 二 drdb 8.4.1編譯 安裝本地yum環境。1.安裝gcc flex rpm build kernel devel docbook xsl 用於編譯原包和解決依賴性 yum install gcc flex rpm b...