lb 負載均衡集群配置學習load balance
處理併發數 1w/s
nginx 應用層級別的負載均衡配置 工作在第七層(應用層)
lvs 工作在第四層(網路層)
keepalived 支援負載均衡的開源軟體
f5 商業版的支援負載均衡的硬體裝置
netscale 支援負載均衡的硬體裝置
lvs 詳細配置三種模式(實現方式):
nat 配置簡單 但存在瓶頸 雙向**
tun
dr 生產常用的
lvs 詳細配置八種演算法:
固定排程演算法:rr wrr dh sh
動態排程演算法:wlc lc lblc lblcr
開始配置nat模式,rr演算法
需要一台雙網絡卡主機做分發器主機()dir (虛擬機器新增乙個網絡卡即可,配置為僅連線主機,然後自動dhcp該網絡卡即可)
192.168.0.151 服務端 192.168.200.128 模擬客戶端網路(僅主機連線自動獲取)
需要兩台模擬服務主機 配置即可
192.168.0.152
192.168.0.153
進行如下配置:
分發器主機配置
hostname dir
bash
服務主機兩台分別為;
hostname rs1
bash
hostname rs2
bash
接下來進行配置環境:
分發器核心軟體安裝
yum install -y ipvsadm
一會做實驗需要測試80埠,所以兩台伺服器如果沒安裝服務,請yum install -y nginx
編寫管理指令碼
vi /usr/local/sbin/lvs_nat.sh
#! /bin/bash
# director 伺服器上開啟路由**功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 關閉icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 設定nat防火牆
iptables -t nat -f
iptables -t nat -x
iptables -t nat -a postrouting -s 192.168.0.0/24 -j masquerade
# director 設定ipvsadm
ipvsadm='/sbin/ipvsadm'
$ipvsadm -a -t 192.168.200.128:80 -s rr
$ipvsadm -a -t 192.168.200.128:80 -r 192.168.0.152:80 -m
$ipvsadm -a -t 192.168.200.128:80 -r 192.168.0.153:80 -m
儲存退出
sh /usr/local/sbin/lvs_nat.sh 執行指令碼
ipvsadm -ln 檢視ipvsadm **服務列
配置rs1、rs2:
配置rs1、rs2 的預設閘道器為dir的內網ip位址 192.168.0.151
啟動80埠
service nginx start
配置rs1、rs2 伺服器的nginx主頁為不同內容,簡單方法:
rs1 操作:
echo "1111111rs1" > /usr/share/nginx/html/index.html
rs2 操作:
echo 2222222rs2" > /usr/share/nginx/html/index.html
netstat -lnp
分別:curl localhost 可以看到不同的頁面
lvs 的 dr模式配置(缺點是浪費公網的ip)
如果前面配置過nat模式,則需要清空配置規則
ipvsadm -c
iptables -t nat -f 清空nat規則
取消director 外網ip(不同網段的ip)
修改rs1、rs2的閘道器為正常的位址
設定三個主機同網段假設都為公網的ip
還需在前面director的主機上多新增乙個vip(虛擬ip)不用單獨設定
進行如下配置:
分發器主機配置
hostname dir
bash
服務主機兩台分別為;
hostname rs1
bash
hostname rs2
bash
接下來進行配置環境:
分發器核心軟體安裝
yum install -y ipvsadm
一會做實驗需要測試80埠,所以兩台伺服器如果沒安裝服務,請yum install -y nginx
編寫管理指令碼
vi /usr/local/sbin/lvs_nat.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.0.200
rs1=192.168.0.152
rs1=192.168.0.153
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -c
$ipv -a -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
執行指令碼
配置rs1、rs2(都需要配置)
vim /usr/local/sbin/lvs_rs.sh
#! /bin/bash
vip=192.168.200.100
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip 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/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
LB(負載均衡)集群之LVS(詳解一)
1.lvs 2.nginx 3.haproxy 接下來我首先講的是lvs ds dr directory server排程伺服器,指的是前端負載均衡器節點。rs real server後端真是的工作伺服器 vip virtual ip虛擬ip,是指向外部直接面向使用者請求,作為使用者請求的目標ip位...
Apache Tomcat 負載均衡 集群配置
有關說明是負載均衡,集群以及他們的優點在這裡就不加論述了。準備 apache 1個 tomcat 2個或2個以上 mod jk.so檔案 這種配置方式見 apache2之後的版本中整合了mod jk後配置簡單了許多,準備的東西和上面一樣。安裝好apache後,找到 conf下的httpd.conf ...
Nginx Tomcat 配置負載均衡集群
準備兩個解壓版tomcat,如何同時啟動兩個tomcat,請看我的另一篇文章 一台機器同時啟動多個tomcat 建立乙個簡單的web專案。為了直觀的區分訪問的哪個tomcat,在頁面寫上標記8081 8082。分別部署到對應的tomcat下。如圖 進入nginx 1.10.1 conf路徑,修改配置...