歡迎您光臨本站 註冊首頁

求助集群高手

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

求助集群高手

我是安下面的文檔資料做的雙機系統.為什麼老是不成功?
做到最後只出現:
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  81 wlc
  -> 192.168.0.1:0              Masq    1       0         0
  -> 192.168.0.2:0              Masq    1       0        0

而沒有文檔中所說的ActiveConn 為  1

如果你沒有那麼多的機器來做 集群測試或研究的話,可以用vmware來虛擬多台linux做集群

1 軟體需求

系統:rh as 3.5 或用cenos 3.5代替
虛擬機:VMwareWorkstation-5.0.0-13124
集群軟體: ipvsadm-1.21-9 (在rh claster suite as3 個擴展盤裡可以找到)
web配置工具: piranha-0.7.10-2 (rh公開的原碼包RHCS中可以找到)

2 安裝

vmware和linux系統的安裝就不多說了,linux最小化安裝即可,已經節省我們的磁碟空間,值得注意的是,如果你要是複製多個linux 的話,網卡要重新添加的,因為複製的mac地址是一樣的。
至於修改name.vmx 和對lock 文件的刪除這裡也不多說了!

3 結構

一般用1台負載均衡伺服器做lvs的核心部分,再加上兩台節點伺服器來做實際的伺服器就可以完成負載均衡的測試。
lvs
|
|_________
||
realreal
serverserver

4 網路

以上圖名稱為標準lvs要雙網卡
eth0外網為連接internet 172.168.0.1
eth1連接內網連接兩個real server 192.168.0.254
兩個real server 一個網卡就夠了
eth0 分別是192.168.0.1 192.168.0.2
同時我們把3太伺服器/etc/hosts統
127.0.0.1 localhost localhost.localdomain
192.168.0.1 real01
192.168.0.2 raal02
192.168.0.254 lvs

5 lvs上所需要的配置

我們用NAT來實現負載均衡的,所以打開轉發
vi /etc/sysctl.conf
net.ipv4.ip_forward = 0(該為1)
sysctl.conf -p 生效

iptables 的規則
iptables -t mangle -A PREROUTING -p tcp -d 172.168.0.1/32 --dport 80 -j MARK --set-mark 80
iptables -t mangle -A PREROUTING -p tcp -d 172.168.0.1/32 --dport 443 -j MARK --set-mark 80
這裡值得說明的是 我們不直接用nat 很是用mangle 加了標記 這樣就可以把http 和https綁定成一組了,來做多埠的負載均衡(如果沒用的化就可以不加443這條規則)
iptables -t nat -A POSTROUTING -s 192.168.70.0/24 -j MASQUERADE

核心部分/etc/sysconfig/ha/lvs.cf

代碼:

serial_no = 41
primary = 172.168.0.1
primary_private = 192.168.0.254
service = lvs
backup_active = 0
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = nat
nat_router = 192.168.0.254 eth1
debug_level = NONE
virtual {
     active = 1
     address = 172.168.0.1 eth0
     vip_nmask = 255.255.255.0
     fwmark = 80
     port = 80
     send = "GET / HTTP/1.0\r\n\r\n"
     expect = "HTTP"
     use_regex = 0
     load_monitor = none
     scheduler = wlc
     protocol = tcp
     timeout = 12
     reentry = 30
     quiesce_server = 0
     server {
         address = 192.168.0.1
         active = 1
         weight = 1
     }
     server {
         address = 192.168.0.2
         active = 1
         weight = 1
     }
}

(我們也可以通過piranha來通過web來配置這個文件,由於是圖形下的相對比較簡單這裡就不多說了)

6 運行
shell>lvs

看一下
ps aux

代碼:

root      3294  0.0  0.0  1760  632 ?        S    Jun29   0:05 /usr/sbin/nanny -c -h 192.168.0.1 -p 80 -f 80 -s GET / HTTP/1.0\r\n\r\n -x HTTP -a 30 -I /sbin/ipvsadm -t 12 -w 1 -V 172.168.0.1 -M m -U none --lvs
root      3295  0.0  0.0  1764  632 ?        S    Jun29   0:05 /usr/sbin/nanny -c -h 192.168.0.1 -p 80 -f 80 -s GET / HTTP/1.0\r\n\r\n -x HTTP -a 30 -I /sbin/ipvsadm -t 12 -w 1 -V 172.168.0.1 -M m -U none --lvs

shell>ipvsadm

ipvsadm -l

代碼:

IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  81 wlc
  -> 192.168.0.1:0              Masq    1      1          0
  -> 192.168.0.2:0              Masq    1      1          0
《解決方案》

是正版的嗎

另外你得設置虛擬ip,
《解決方案》

對下面IP的說明:
 192.168.0.35是LVS伺服器的IP
 192.168.1.95是VIP,也就是你通過IE訪問web時用的IP,因為我們通過fw作Nat後到內網伺服器的
 192.168.1.93、192.168.1.91是真實Web伺服器的IP


lvs.cf配置文件: 

primary = 192.168.0.35
service = lvs
rsh_command = rsh
#backup_active = 0
#backup = 192.168.1.190
#heartbeat = 1
#heartbeat_port = 539
#keepalive = 4
#deadtime = 12
network = direct
#nat_router = 192.168.0.35 eth0
#nat_nmask = 255.255.255.255
#reservation_conflict_action = preempt
debug_level = NONE
virtual web {
     active = 1
     address = 192.168.1.95 eth0:0
     vip_nmask = 255.255.254.0
     port = 80
     #persistent = 600
     send = "GET / HTTP/1.0\r\n\r\n"
     expect = "HTTP"
     load_monitor = none
     scheduler = rr
     protocol = tcp
     timeout = 6
     reentry = 3
     quiesce_server = 0
     server webserver1 {
         address = 192.168.1.93
         active = 1
         weight = 100
     }
     server webserver2 {
         address = 192.168.1.91
         active = 1
         weight = 100
     }
}



在每台真實伺服器上需要作以下的配置:
/etc/rc.local

ifconfig lo:0 192.168.1.95 broadcast 192.168.1.95 netmask 255.255.255.255 up
route add -host 192.168.1.95 dev lo:0

[火星人 ] 求助集群高手已經有309次圍觀

http://coctec.com/docs/service/show-post-9392.html