問題:
搭建lvs+keepalived+nginx環境,防火墻已關閉,單獨訪問nginx應用沒有問題,出現vip能ping通,但是不能訪問的情況,那位大佬幫忙解答下。
1.服務器ip
nignx1:192.168.75.129:8000
nignx2:192.168.75.130:8000
lvs+keepalived+master:192.168.75.128
lvs+keepalived+backup:192.168.75.131
nginx ip資訊


lvs+keepalived ip資訊


2.nginx.conf檔案:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8000;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3.兩臺nginx服務器的realserver檔案
SNS_VIP=192.168.75.140
/etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $SNS_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
4.lvs+keepalived+master:192.168.75.128 keepalived.conf 檔案:
! Configuration File for keepalived
bal_defs {
#notification_email { #email 通知
#[email protected] #設定報警郵件地址,可以設定多個,每行一個。
#[email protected]
#[email protected]
#}
#notification_email_from [email protected] #設定郵件的發送地址
#smtp_server 192.168.200.1 #設定smtp server地址
#smtp_connect_timeout 30 #設定連接smtp server的超時時間
router_id LVS_DEVEL #表示運行keepalived服務器的一個標識。發郵件時顯示在郵件主題的資訊
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER #指定keepalived的角色,MASTER表示此主機是主服務器,BACKUP表示此主機是備用服務器
interface eth0 #網卡名,用ip a命令可以查看
virtual_router_id 51 #虛擬路由標識,主備兩個節點的設定必須一樣,以指明各個節點屬于同一VRRP組
priority 100 #定義優先級,數字越大,優先級越高,在同一個vrrp_instance下,MASTER的優先級必須大于BACKUP的優先級
advert_int 1 ##設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒
authentication { #設定驗證型別和密碼
auth_type PASS #設定驗證型別,主要有PASS和AH兩種
auth_pass 1111 #設定驗證密碼,在同一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信
}
virtual_ipaddress { #設定vip
192.168.75.140 #可以多個虛擬IP,換行即可
}
}
virtual_server 192.168.75.140 8000 { #設定虛擬服務器,需要指定虛擬IP地址和服務埠,IP與埠之間用空格隔開
delay_loop 6 ##健康時間檢查,單位秒
lb_algo rr #負載均衡調度演算法wlc|rr,和您將使用的LVS的調度演算法保持原則一致
lb_kind DR #設定LVS實作負載均衡的機制,有NAT、TUN、DR三個模式可選
persistence_timeout 50 #會話保持時間,單位是秒。這個選項對動態網頁是非常有用的,為集群系統中的session共享提供了一個很好的解決方案。
#有了這個會話保持功能,用戶的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。
#需要注意的是,這個會話保持時間是最大無回應超時時間,也就是說,用戶在操作動態頁面時,如果50秒內沒有執行任何操作
#那么接下來的操作會被分發到另外的節點,但是如果用戶一直在操作動態頁面,則不受50秒的時間限制
protocol TCP #指定轉發協議型別,有TCP和UDP兩種
real_server 192.168.75.129 8000 { #真實服務器,此處為Nginx服務器
weight 1 #設定權重,數字越大權重越高
TCP_CHECK { #設定檢查方式,可以設定HTTP_GET | SSL_GET
connect_timeout 3 #超時時間,秒。如果在這個時間內沒有回傳,則說明一次監測失敗
nb_get_retry 3 #設定多少次監測失敗,就認為這個真實節點死掉了
delay_before_retry 3 #重試間隔
connect_port 8000
}
}
real_server 192.168.75.130 8000 { #真實服務器,此處為Nginx服務器
weight 1 #設定權重,數字越大權重越高
TCP_CHECK { #設定檢查方式,可以設定HTTP_GET | SSL_GET | TCP_CHECK
connect_timeout 3 #超時時間,秒。如果在這個時間內沒有回傳,則說明一次監測失敗
nb_get_retry 3 #設定多少次監測失敗,就認為這個真實節點死掉了
delay_before_retry 3 #重試間隔
connect_port 8000
}
}
}
5.lvs+keepalived+backup:192.168.75.131 keepalived.conf 檔案:
! Configuration File for keepalived
bal_defs {
#notification_email { #email 通知地址,可以設定多個,每行一個。
#[email protected]
#[email protected]
#}
#notification_email_from [email protected] #設定郵件的發送地址
#smtp_server 192.168.200.1 #設定smtp server地址
#smtp_connect_timeout 30 #設定連接smtp server的超時時間
router_id LVS_DEVEL #表示運行keepalived服務器的一個標識。發郵件時顯示在郵件主題的資訊
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP #指定keepalived的角色,MASTER表示此主機是主服務器,BACKUP表示此主機是備用服務器
interface eth1 #網卡名,用ip a命令可以查看
virtual_router_id 51 #虛擬路由標識,主備兩個節點的設定必須一樣,以指明各個節點屬于同一VRRP組
priority 90 #定義優先級,數字越大,優先級越高,在同一個vrrp_instance下,MASTER的優先級必須大于BACKUP的優先級
advert_int 1 ##設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒
authentication { #設定驗證型別和密碼
auth_type PASS #設定驗證型別,主要有PASS和AH兩種
auth_pass 1111 #設定驗證密碼,在同一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信
}
virtual_ipaddress { #設定vip
192.168.75.140 #可以多個虛擬IP,換行即可
}
}
virtual_server 192.168.75.140 8000 { #設定虛擬服務器,需要指定虛擬IP地址和服務埠,IP與埠之間用空格隔開
delay_loop 6 ##健康時間檢查,單位秒
lb_algo rr #負載均衡調度演算法wlc|rr,和您將使用的LVS的調度演算法保持原則一致
lb_kind DR #設定LVS實作負載均衡的機制,有NAT、TUN、DR三個模式可選
persistence_timeout 50 #會話保持時間,單位是秒。這個選項對動態網頁是非常有用的,為集群系統中的session共享提供了一個很好的解決方案。
#有了這個會話保持功能,用戶的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。
#需要注意的是,這個會話保持時間是最大無回應超時時間,也就是說,用戶在操作動態頁面時,如果50秒內沒有執行任何操作
#那么接下來的操作會被分發到另外的節點,但是如果用戶一直在操作動態頁面,則不受50秒的時間限制
protocol TCP #指定轉發協議型別,有TCP和UDP兩種
real_server 192.168.75.129 8000 { #真實服務器,此處為Nginx服務器
weight 1 #設定權重,數字越大權重越高
TCP_CHECK { #設定檢查方式,可以設定HTTP_GET | SSL_GET
connect_timeout 3 #超時時間,秒。如果在這個時間內沒有回傳,則說明一次監測失敗
nb_get_retry 3 #設定多少次監測失敗,就認為這個真實節點死掉了
delay_before_retry 3 #重試間隔
connect_port 8000
}
}
real_server 192.168.75.130 8000 { #真實服務器,此處為Nginx服務器
weight 1 #設定權重,數字越大權重越高
TCP_CHECK { #設定檢查方式,可以設定HTTP_GET | SSL_GET | TCP_CHECK
connect_timeout 3 #超時時間,秒。如果在這個時間內沒有回傳,則說明一次監測失敗
nb_get_retry 3 #設定多少次監測失敗,就認為這個真實節點死掉了
delay_before_retry 3 #重試間隔
connect_port 8000
}
}
}
uj5u.com熱心網友回復:
節點有沒有系結VIP和抑制arpuj5u.com熱心網友回復:
訪問vip時頁面報什么錯誤?nginx有日志輸出嗎?selinux關了嗎?uj5u.com熱心網友回復:
vip已經系結節點,和抑制了arp ,試了還是不行呢! vip訪問時訪問報網頁無法訪問。selinux也關了uj5u.com熱心網友回復:
你的nginx沒放到lvs上?單獨做的nginx服務器? 那你做這個有什么意義呢?轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/91867.html
標籤:系統維護與使用區
