2012-05-17 116 views
2

我試圖加載平衡二GIT服務器(即server1的服務器2)使用指揮器一個CentOS 4.5系統上。使用指揮器進行負載均衡的服務器GIT

服務器名爲git-ld充當ldirectord主設備。

這兩個服務器都在端口9418上運行git-daemons,並且有一組相同的git項目。 在git-ld上沒有運行Git-daemon。

注:我不感興趣爲他們提供HA服務,只是負載平衡。

這是我的ldirectord.cf配置。

checktimeout=3 
checkinterval=5 
autoreload=yes 
logfile="/var/log/ldirectord.log" 
quiescent=yes 

##### Git load balancing configuration ##### 

virtual=git-ld:9418   #git-ld is a virtual IP 172.10.10.10 
    real=server1:9418 gate 10 # server1 is IP 10.20.20.01 
    real=server2:9418 gate 5 # server1 is IP 10.20.20.02 
    checkport=777 
    service=simpletcp 
    scheduler=wlc 
    receive="OPEN" 
    protocol=tcp 
    checktype=negotiate 


##### Web server load balancing configuration ##### 

virtual=git-ld:80 
    real=server1:80 gate 10 
    real=server2:80 gate 5 
    service=http 
    request="test.html" 
    receive="Still alive" 
    scheduler=wlc 
    protocol=tcp 
    checktype=negotiate 

我檢查使用它同時運行git的服務器上的自定義TCP服務的服務器的健康狀況(服務器1和2)在端口777,並返回「OPEN」,如果服務器是健康的,足以滿足要求。你可以看到,我也在使用came ldirectord.cf文件時對Web服務器進行了負載平衡。

現在,Web服務器已經完美地進行了負載平衡。每當我嘗試訪問http:// git-ld /服務於該網頁的服務器之一。

但是,我不能讓服務器時,我要求一個git克隆使用以下命令的git-LD迴應:

git clone git://git-ld/project.git 

命令只是超時幾分鐘後。

如果我直接從它們克隆項目,服務器將提供git請求。

git clone git://server1/project.git 

git clone git://server1/project.git 

我敢肯定,服務器響應健康:

[git-ld]# ipvsadm -Ln 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port Scheduler Flags 
    -> RemoteAddress:Port   Forward Weight ActiveConn InActConn 
TCP 172.10.10.10:9418 wlc 
    -> 10.20.20.01:9418    Route 10  0   0 
    -> 10.20.20.02:9418    Route 5  0   0 

[git-ld]# ipvsadm -Ln --stats 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port    Conns InPkts OutPkts InBytes OutBytes 
    -> RemoteAddress:Port 
TCP 172.10.10.10:9418     6  23  0  1380  0 
    -> 10.20.20.01:9418     4  16  0  960  0 
    -> 10.20.20.02:9418     2  7  0  420  0 

有其他人建立這樣的負載其網絡上的平衡成功?有什麼明顯我做錯了什麼?

我在哪裏可以找到可以用來深入解決問題的日誌或其他消息?

回答

0

你沒有說從哪個機器正在測試:

git clone git://git-ld/project.git 

您所描述的行爲讓我懷疑你是從指揮器服務器本身,即混帳-LD的shell測試。再次嘗試git克隆,但從另一臺計算機。